← Back to Blog

How to Calculate ROAS: Formula, Break-even and Calculator

Calculate ROAS
Christian Beeking
Christian Beeking
Co-Founder, Cloudginny
September 18, 2026 9 min read

ROAS (return on advertising spend) tells you how much revenue every advertising dollar brings back, and calculating it takes ten seconds. The real work is the judgement call: whether the number is any good, whether you actually earn on it and why a high ROAS can still mean a loss.

How do you calculate ROAS?

ROAS = revenue from advertising divided by advertising costs. Spend $1,000 on ads and generate $4,000 in revenue and your ROAS is 4.0, or 400% expressed as a percentage. The metric measures revenue per advertising dollar, not profit.

There is nothing more to the formula, and that is exactly why the real work only starts once you have the number: at the question of where you actually begin to earn money.

What is break-even ROAS?

Break-even ROAS is the point at which your advertising pays for itself, and it is quick to work out: 1 divided by your margin. At a 30% margin break-even sits at 3.33, at a 20% margin it is already 5.0. Everything above your break-even is profit from the channel, everything below it is growth you are paying for without a return.

The calculation gets sharper if you use your contribution margin rather than your plain gross margin, meaning what really remains after cost of goods, shipping and payment fees. That pushes the threshold higher, and for heavy products a lot higher, as the section on shipping costs shows. For how a full advertising budget follows from this, see our guide to Google Ads costs.

ROAS calculator for online shops

Most ROAS calculators divide two numbers and stop there. This one knows your margin and your shipping costs, which is why it answers the question that counts: what is left at the end, in dollars.

ROAS calculator

What is left at your ROAS?

Enter your order value, your margin, your shipping cost and your ROAS. The calculator walks through, line by line, what is left of an order and from which ROAS your advertising pays for itself.

What an order brings in on average.
Selling price minus purchase price, before shipping.
What the parcel costs you, minus what the customer pays for shipping.
As a multiple, so 4.0 for 400%. Your actual value or a planned target.
Margin per order: $60 times 40%$24.00
Minus shipping per order−$6.00
Left per order before advertisingThat is 30% of the order value, your margin after shipping.$18.00
Ad cost per order: $60 divided by ROAS 4.0−$15.00
What is left per order$3.00Pays off

On $1,000 in ad spend that is around 67 orders and $200 in profit.

Your break-even ROAS: $60 divided by $18Above this ROAS your advertising pays for itself. Without shipping it would be 2.50.3.33

Only deduct cost of goods from your margin, the calculator handles shipping separately. Other costs per order, such as packaging or fixed payment fees, can be added to shipping. Order value and ROAS need the same basis: if your shop reports net values to Google, enter your order value net as well. Returns and cancellations are not deducted here.

What is a good ROAS?

A good ROAS is one above your own break-even. For orientation, real numbers instead of tables from the internet: across our client accounts (several dozen e-commerce accounts in the DACH region, more than 1.8 million clicks between them) the median ROAS is 3.8, with the middle half of accounts between 1.7 and 7.8. A ROAS of 4 is therefore a solid value, still a loss-making business at a 20% margin and a very good one at 50%. Above all, the spread shows one thing: comparing yourself to other shops helps you very little, the comparison with your own break-even is what decides.

ROAS, ACOS, ROI and cost of sale: which one when?

Four metrics that survey the same ground and get confused all the time:

MetricFormulaWhat for
ROASRevenue ÷ ad spendThe standard in Google Ads, a pure revenue view
Cost of sale (KUR)Ad spend ÷ revenueThe inverse of ROAS, common in German retail. A cost of sale of 25% equals a ROAS of 4
ROIProfit ÷ costsProfitability after all costs, for comparing channels
ACOSAd spend ÷ ad revenueThe Amazon counterpart to cost of sale

For steering Google Ads campaigns, ROAS is the given, because Google itself works with it. For the question of whether the channel pays off overall, you need to look at profit, which brings us to the most important section of this article.

Why can a high ROAS still be a loss?

ROAS has one blind spot: it treats every dollar of revenue the same. Whether $4,000 in revenue comes from high-margin private label or discounted shelf-warmers is invisible to the metric, and that is exactly where accounts that look good on paper fall apart. Here is the example that shows the difference, two shops with an identical ROAS:

MetricShop A (30% margin)Shop B (20% margin)
Ad spend$1,000$1,000
Revenue$4,000$4,000
ROAS4.04.0
Break-even ROAS3.335.0
Contribution margin$1,200$800
Result$200 profit$200 loss

Same ROAS, opposite outcome.

POAS

The consequence is called POAS (profit on advertising spend): instead of steering on revenue you steer on contribution margin, by giving products with different margins different ROAS targets, through separate campaigns or product groups. Run everything under one shared target and you let your bestsellers subsidise the shelf-warmers. How to do this in Performance Max without giving up control: steering Performance Max with Cloudginny.

How do I set a target ROAS in Google Ads?

In Google Ads the bidding strategy is called Target ROAS, and it is entered as a percentage: a target of 4x means 400%. Google's requirement: search and Shopping campaigns need at least 15 conversions in the past 30 days, and for Shopping campaigns that counts per Merchant Center ID. Below that the algorithm lacks the data and results fluctuate.

For the level of the target, one simple order applies: start roughly at your actual ROAS of the past few weeks, not at the number you wish for, then move the target step by step towards break-even plus a buffer. Enter an unrealistically high target and you do not get a better ROAS, you get less impression share, because Google only bids on the safest auctions.

Since mid-August 2026 the target you enter carries even more weight: Google now steers budget-constrained campaigns to the value you entered as well. The old side effect, where tightly budgeted campaigns ran well above their target because Google only picked up the cheapest conversions, is gone. The target is no longer a rough direction, you get what you ordered, which is why the order has to be right.

How do I factor shipping costs into target ROAS?

You subtract your shipping cost per order from your margin before you work out break-even. ROAS in Google Ads only counts the revenue your shop reports. It never sees how much of that goes to the carrier.

Formula

Break-even ROAS = order value ÷ (order value × gross margin − shipping cost per order)

What matters is that shipping is charged per parcel, not per dollar of revenue. On a small order it eats a large share of your margin, on a large one it barely registers. Here is how far it moves break-even on a $60 order at a 40% gross margin:

MetricNo shippingParcel $6Bulky $15
Margin after cost of goods$24$24$24
Shipping per order$0$6$15
Left before advertising$24$18$9
Margin after shipping40%30%15%
Break-even ROAS2.503.336.67

Two products with the same price and the same margin therefore need a ROAS of 3.33 or 6.67 just to pay for their advertising, depending on whether they ship as a parcel or as bulky freight. Your target ROAS belongs above that, with a buffer.

That is why weight matters so much. Heavy and bulky products cost more to ship and so have a higher break-even. Put them in one campaign with light products under a shared target ROAS, and the target is either too low for the heavy items or too high for the light ones.

The answer is separate targets per shipping class. Shipping weight and shipping label in Merchant Center will not get you there directly, because product groups in Google Ads can only be split by attributes such as brand, category, product type, item ID or custom label. So also write the shipping class into a custom label, say “parcel” and “bulky”, and give each class its own campaign with its own target ROAS. It is the same logic as POAS above, except that here shipping makes the difference.

If the customer pays for shipping, you only count the difference: if the parcel costs you $6 and the customer pays $4.90, you carry $1.10. Also check whether that shipping fee is part of the conversion value your shop reports to Google. If it is, Google counts it as revenue even though the money goes straight to the carrier, and your measured ROAS looks better than it is. The cleanest setup reports the value of the goods without the shipping fee, so your calculation and your measurement match.

With free shipping above a minimum order value, you carry the full parcel cost yourself above the threshold. Calculate those orders with the full amount, because just above the threshold shipping is at its most expensive relative to the order.

The ROAS calculator above runs the whole thing with your own numbers, shipping included.

Why is my measured ROAS wrong?

Before you steer with ROAS, the number itself has to be right, and there are four classic sources of error:

The most common case is a static order value in conversion tracking: every order is counted with the same value, whether it brings in $30 or $800, which makes the measured ROAS worthless. For how to set up dynamic value tracking, see our JTL setup guide.

Then there is conversion delay: purchases are attributed to the day of the click, sometimes days later, which is why last week's ROAS always looks too low.

The third source is double counting, when Google Ads, Meta and your shop backend each claim the same order for themselves and the sum of channel revenues exceeds your actual revenue.

And fourth, the gross and net mix: pass gross revenue including cancellations and returns to Google and you make yourself richer than you are. Broken value tracking, incidentally, is the first thing Ginny checks on newly connected accounts, because without clean values every ROAS decision is flying blind.

Ginny answering a question about conversion rate and ROAS in the Cloudginny chat, with overall account ROAS, cost and revenue
ROAS, conversion rate, cost and revenue from a single question, broken down by account and by individual campaign.
Christian Beeking
About the author
Christian Beeking LinkedIn

Christian Beeking is co‑founder of Cloudginny, the AI agent for automating Google Ads in e‑commerce. Before Cloudginny, the team managed more than 100 million euros in Google Ads budget for brands such as MediaMarkt, Cisco and Bose, and has now poured that knowledge into Ginny. Cloudginny is an official Google Partner, a WebStollen partner and part of the German Accelerator.

plans

Get Started

plans

Related articles

Our platform is designed to empower businesses of all sizes to work smarter and achieve their goals with confidence.
Google Ads Optimization. The Levers for More Shop Revenue

Google Ads Optimization. The Levers for More Shop Revenue

Most guides to Google Ads optimization are lists of ten equally weighted tips. In an online shop, though, the order decides: if you fine-tune bids while Google counts page views as sales, you only amplify the error. This guide shows the five levers in the order in which we tackle shop accounts, with figures from our customer accounts and the right rhythm for changes.

Read full blog
Google Shopping agency or AI.

Google Shopping agency or AI optimisation. What pays off for shops?

A Google Shopping agency only pays off from around $7,500 to $10,000 in monthly ad spend, and the feed tool, CSS fee and setup come on top of its fee. Most shops spend far less. This article covers what a Shopping agency really costs, what’s behind the promised 20 percent CSS savings, how to spot a bad offer and when an AI is enough for ongoing maintenance.

Read full blog
Google Shopping Christmas season 2026: preparing Merchant Center

Google Shopping at Christmas. Getting delivery times and availability right in your feed

In December, every delivery promise counts, and Google calculates the delivery date for Shopping from your data. Because Google counts Christmas Eve and New Year's Eve as normal business days, it easily produces dates no carrier can keep. This article covers the 2026 shipping deadlines, how Google calculates the delivery date and what to change in Merchant Center through January.

Read full blog