- Break-even ROAS = 1 ÷ contribution margin. Contribution margin must net out product cost, shipping, payment fees, returns and per-order platform fees, not just the purchase price.
- Target ROAS = 1 ÷ (contribution margin − target profit margin). Break-even is the floor; the target is what goes into bidding.
- Businesses with reliable repeat purchases can base the line on contribution over a defined payback window, but the repeat rate has to come from real cohorts, not assumptions.
- Platform-reported ROAS is an attribution figure. It includes sales that would have happened anyway and sales claimed by several platforms at once. Read it against total revenue ÷ total ad spend.
- Invalid clicks and invalid traffic in the denominator drag every ROAS figure down. Clean the spend first, then judge whether the target is right.
Why "what is a good ROAS" has no universal answer
ROAS is revenue divided by ad spend. It has no idea how much of that revenue goes to suppliers, carriers, payment processors and refunds. Two companies with identical ROAS can therefore be making money and losing money respectively. The only reliable reference for whether a ROAS is good is your own break-even point: above it, ads contribute to profit; below it, every additional unit of spend deepens the loss.
Step one: calculate break-even ROAS
Start with contribution: the revenue of an order minus every cost that scales with the number of orders. The usual items are:
- Product cost: purchase or production cost, including packaging.
- Fulfilment and shipping: picking, packing, and whatever share of delivery you absorb.
- Payment fees: the processor's percentage and any fixed per-transaction charge.
- Returns and refunds: historical return rate converted into a per-order cost, including returned stock that cannot be resold.
- Per-order platform and app fees: marketplace or storefront commissions and apps billed per order.
A worked example: average order value 100, product cost 40, fulfilment and shipping 8, payment fees 3, returns allowance 5. Contribution is 44, a 44% contribution margin. Break-even ROAS = 1 ÷ 0.44 ≈ 2.27. Every unit of ad spend has to bring back at least 2.27 in revenue for this business to avoid a loss.
| Contribution margin | Break-even ROAS | Typical shape |
|---|---|---|
| 70% | 1.43 | Software, digital products, memberships |
| 50% | 2.00 | Own-brand goods with pricing power |
| 40% | 2.50 | A common direct-to-consumer store |
| 30% | 3.33 | Categories with heavy shipping or high returns |
| 20% | 5.00 | Resale and low-margin commodity goods |
The "typical shape" column is illustrative only; your own number must come from your own costs. The most common mistake is using price minus purchase cost as the margin and leaving out shipping, fees and returns. The break-even line comes out too low, and campaigns that appear to clear it are quietly losing money.
Step two: from break-even to target ROAS
Break-even only means the ads are not losing money. Rent, salaries and tool subscriptions still have to be paid out of what is left. The number to use in bidding is therefore a target ROAS: decide what share of each unit of revenue you want to keep as profit, then subtract it from the contribution margin.
Target ROAS = 1 ÷ (contribution margin − target profit margin). Continuing the example: 44% contribution margin, with 10% of revenue kept as profit, gives a target ROAS of 1 ÷ 0.34 ≈ 2.94.
A higher profit target is not automatically better. The higher the target, the less traffic qualifies and the more volume shrinks. A practical approach is two tiers: a target close to break-even for launches and expansion, where volume matters most, and a higher target for mature products, where profit matters most. Write both down rather than adjusting settings by feel.
Step three: repeat purchases move the line down
If customers come back, first-order ROAS understates what the ads are worth. The break-even line can then be based on contribution over a defined payback window. Continuing the example: first-order contribution is 44, and real cohort data shows the average new customer places 0.8 further orders within 12 months at the same contribution of 44 each. Twelve-month contribution is 44 + 0.8 × 44 = 79.2. You can spend up to 79.2 to acquire a customer, and with first-order revenue of 100, the first-order break-even ROAS falls to about 100 ÷ 79.2 ≈ 1.26.
This lower line rests on three conditions, and fails if any is missing: the repeat rate comes from real cohorts grouped by acquisition month, not from an industry report; the payback window is one your cash flow can carry; and repeat behaviour is read per channel, because behind a healthy average some channels bring customers who almost never return. B2B businesses with long decision cycles need a different calculation, covered in B2B ROAS with long sales cycles.
Step four: attributed ROAS is not incremental ROAS
The ROAS shown in an ad platform is an attribution figure: any sale that can be linked to a click or impression is counted. There are two systematic biases. First, some of those sales would have happened without the ad — returning customers searching the brand name, for example. Second, each platform attributes independently, so the same sale can be claimed by two or three platforms at once, and the platforms' figures added together exceed reality.
There are two ways to cross-check. One is the blended view: total revenue over a period divided by total ad spend. It cannot be split by channel, but it never double-counts. The other is an incrementality test: hold out a region or audience that receives no ads and compare the two groups. Suppose a platform reports ROAS of 4.0 and a holdout test shows 40% of those sales would have happened anyway. Incremental ROAS is then about 2.4 — above the 2.27 break-even in the example, but well short of the 2.94 target. The layered ROAS diagnostic covers how to confirm the number itself is correct before acting on it.
Step five: clean the denominator
Target-setting usually focuses on the revenue side, but the denominator breaks too. Money spent on invalid clicks, automated traffic and visits that never actually loaded the landing page brings back no revenue and still counts as spend. Platforms detect and credit part of the invalid clicks automatically — invalid clicks in Google Ads explains how — but whatever is not detected makes the target look unrealistic when the real problem is where the money went.
In practice: compare clicks with engaged landing page sessions per source and investigate the sources with large gaps; separate zero-engagement sessions from conversion rate calculations; and before changing the target, check what ROAS looks like once that spend is excluded. What invalid traffic is and the difference between GIVT and SIVT help identify which spend belongs in that category.
Putting the target into bidding
Target ROAS bidding needs conversion value, not conversion count, so first confirm what value is being reported: revenue including tax, revenue excluding tax, or contribution after costs. The number entered as the target has to be converted to match. If contribution is reported instead of revenue, the break-even target becomes 1.0 rather than the 2.27 calculated above.
- Start near historical performance. Setting the target far above what the account has actually achieved causes volume to collapse and leaves automated bidding without enough data to learn from.
- Adjust in small steps and allow time. Each change needs a settling period; frequent large moves make results impossible to read.
- Split by margin structure. Products with very different margins under one target means high-margin items get throttled and low-margin items get over-served.
- Change the target when the economics change. Revisit it when prices, costs, return rates or measured repeat rates move, not in reaction to a few days of volatility.
Landing page conversion rate is the other route toward the target: with the same spend and the same traffic, a higher conversion rate means more revenue. Improving landing page conversion rate and landing page A/B testing cover how to do it and how to verify the change.
Common misuses
- Using someone else's benchmark as the target. Industry averages do not contain your cost structure; copying them makes the target too high or too low.
- Counting only the first order, or assuming the repeat rate. The first understates the value of ads; the second overstates it.
- Adding up ROAS across platforms. Double-claimed sales make the sum far larger than actual revenue.
- Lowering the target as soon as ROAS misses. Check whether the denominator contains spend that should not be there, then decide whether the target or the traffic is wrong.
Frequently asked questions
How do I calculate break-even ROAS?
Divide 1 by your contribution margin as a decimal. Contribution margin is what is left of each unit of revenue after product cost, shipping, payment fees, returns and any per-order platform fees. A 40% contribution margin gives a break-even ROAS of 1 ÷ 0.40 = 2.5.
What is the difference between break-even ROAS and target ROAS?
Break-even ROAS is the level at which ad spend exactly consumes the contribution from the sales it produced. Target ROAS adds the profit you want to keep: 1 ÷ (contribution margin − target profit margin). Break-even is the floor; the target is where you actually aim.
Can a campaign below break-even ROAS still be worth running?
Sometimes, when customers reliably buy again and you can finance the wait. In that case set the break-even line on contribution over a defined payback window rather than on the first order alone. It only holds if the repeat rate is measured from real cohorts rather than assumed.
Why does platform-reported ROAS look better than my actual profit?
Platform ROAS counts every attributed conversion, including some that would have happened without the ad, and each platform attributes independently, so the same sale can be claimed more than once. Compare it with total revenue over total ad spend and, where possible, with holdout tests that measure incremental ROAS.
How often should I change a target ROAS setting?
Rarely, and in small steps. Automated bidding needs time to settle after each change, so frequent large moves make results harder to read. Revisit the target when margins, pricing, return rates or measured repeat rates change, not in reaction to a few days of volatility.
ROAS365 keeps a visit-level record for every arrival: the source signals, the verdict, the reason behind it, and what that visit was actually served. Records export in raw form and reconcile against ad-platform click reports and downstream conversions — the data that step five, cleaning the denominator, depends on. To see how that fits an existing campaign structure, contact sales.