A good ROAS is any return on ad spend above your break-even ROAS, and you find your break-even ROAS with one formula: 1 divided by your contribution margin. If each order keeps 50% of its revenue after product cost, shipping, payment fees and returns, your break-even ROAS is 1 ÷ 0.50 = 2.0, so a campaign at 3.0 is profitable and the same 3.0 for a brand with a 25% margin (break-even 4.0) loses money on every sale.
Key Takeaways
- Break-even ROAS = 1 ÷ contribution margin. Work the margin out per order from real variable costs, not from the gross margin in your accounts.
- A good ROAS is your break-even plus the profit you want to keep. Target ROAS = 1 ÷ (contribution margin − target profit margin).
- How your agency is paid changes the number. A fee taken as a share of sales lowers your margin, and a fee charged on ad spend raises your effective spend.
If you would rather have ads paid from the sales they bring in, read how pay as you scale works.
What is ROAS?
ROAS (return on ad spend) is the revenue attributed to your ads divided by what you spent on them. Meta defines its Purchases ROAS metric as purchase conversion value divided by amount spent, and Google Ads expresses the same ratio as a percentage, so a ROAS of 5.0 in Meta reads as 500% in a Google Ads Target ROAS setting.
ROAS is a revenue ratio. It tells you nothing about profit until you compare it with what each order costs you to fulfil, which is why a single "good ROAS" number for every brand does not exist.
What is break-even ROAS?
Break-even ROAS is the ROAS at which the ad spend exactly uses up the profit left on each order, so the campaign makes and loses nothing. Below it, every extra sale costs you money. Above it, every extra sale adds profit.
Contribution margin is the share of each order's net revenue that is left after every cost that rises with that order: product cost, packaging, pick and pack, shipping you pay, payment processing, and the cost of returns. It is the right input because those are the costs that grow when the ads sell more.
How to find your break-even ROAS in 6 steps
- Pull the average order value (AOV) for the last 60 to 90 days from Shopify or your store platform, excluding VAT and sales tax.
- List the cost of goods per average order, including inbound freight and duties if you pay them.
- Add the fulfilment costs per order: packaging, pick and pack, and the shipping you pay that the customer does not.
- Add payment processing fees and app fees that are charged per order.
- Add a returns allowance: your return rate multiplied by the cost of a return (refunded margin, return shipping, stock you cannot resell).
- Subtract steps 2 to 5 from step 1, divide by step 1 to get your contribution margin, then divide 1 by that margin.
A worked example
These are round, hypothetical numbers for one fictional store, labelled as an example only.
| Line per average order | Amount (EUR) |
|---|---|
| Average order value excluding VAT | 100 |
| Product cost including freight | 30 |
| Packaging, pick and pack, shipping paid | 10 |
| Payment and app fees | 3 |
| Returns allowance | 5 |
| Contribution per order | 52 |
| Contribution margin | 52% |
| Break-even ROAS (1 ÷ 0.52) | 1.92 |
This store breaks even at a ROAS of about 1.9. A campaign that Meta reports at 2.5 is making money on first orders, as long as the reported revenue is clean (see the section on platform ROAS below).
Break-even ROAS by contribution margin
The formula gives a fixed lookup. These figures are pure arithmetic, so you can check any row yourself.
| Contribution margin | Break-even ROAS | Same in Google Ads |
|---|---|---|
| 70% | 1.43 | 143% |
| 60% | 1.67 | 167% |
| 50% | 2.00 | 200% |
| 40% | 2.50 | 250% |
| 33% | 3.00 | 300% |
| 25% | 4.00 | 400% |
| 20% | 5.00 | 500% |
The curve is steep at low margins. A brand moving from a 25% to a 33% margin drops its break-even ROAS from 4.0 to 3.0, which often matters more than any change to the ads.
So what is a good ROAS for your store?
A good ROAS is the one that leaves the profit you planned for. Decide what share of revenue you want to keep after ad spend, then use:
Target ROAS = 1 ÷ (contribution margin − target profit margin)
For the example store, keeping 15% of revenue as profit gives 1 ÷ (0.52 − 0.15) = 2.70. Keeping 25% gives 1 ÷ 0.27 = 3.70. The higher the profit you ask for, the less volume the ads will find at that ROAS, because the cheapest buyers run out first.
Fixed costs (salaries, rent, software, an agency retainer) are not in the per-order margin. You cover them with total contribution after ad spend, so check the monthly sum as well: contribution margin × revenue − ad spend must be larger than your fixed costs.
Which ROAS target fits your situation?
| Situation | What to aim for | Why |
|---|---|---|
| One-off purchases, no repeat buying | Target ROAS from the formula above, on first orders | Each order has to pay for itself |
| Strong repeat purchase or subscription | Break-even or slightly below on first orders, if repeat margin is proven in your own data | Later orders pay back the first one |
| New product launch or new market | Near break-even for a fixed test budget and period | You are buying data on what sells |
| Clearing old stock | Below normal target, measured on cash recovered | The stock is a sunk cost |
Only use the repeat purchase row if you can show the repeat rate and repeat margin from your own customer data. Guessed lifetime value is the most common way a brand convinces itself that a losing campaign is fine.
How the way you pay for ads changes your break-even ROAS
Agencies and freelancers are paid in three common ways: a fixed monthly retainer, a percentage of ad spend, or a share of the sales the ads bring in. Each one moves the maths differently. The numbers below are hypothetical round figures for the example store, not what any agency charges.
| Fee model (hypothetical) | What it changes | Break-even ROAS for the example store |
|---|---|---|
| No fee, run in-house | Nothing per order | 1 ÷ 0.52 = 1.92 |
| Monthly retainer | Adds a fixed cost, per-order maths unchanged | 1.92, plus the retainer to cover each month |
| 10% of ad spend | Each 1 EUR of spend costs 1.10 EUR | 1.10 ÷ 0.52 = 2.12 |
| 12.5% share of sales | Margin falls from 52% to 39.5% | 1 ÷ 0.395 = 2.53 |
A share of sales looks expensive in this table, but it only costs money when sales happen, while a retainer is due in a quiet month too. Which model is cheaper depends on your volume and how steady it is. We compare the models in more depth in our guide to pay for performance ad creative and how agency fees work, and if you are choosing a partner, this list of AI ad agencies and alternatives by brand fit sets out who suits which brand.
How our own pricing model uses break-even ROAS
This is Adsome's own model, described as it is published on our pay-as-you-scale page, and it is one option among the three above. Adsome is a film and ad production studio in Stockholm that makes AI-produced ad creative for brands spending on paid social. Under pay as you scale:
- There is no monthly fee, and Adsome makes and runs the ads and pays for the production.
- The brand pays Adsome 12.5% of the sales the ads bring in, tracked in Meta.
- If the ads bring back less than 4 times the ad spend in a month, the brand pays Adsome nothing for that month.
- The ad spend goes from the brand's card straight to Meta.
- It is built for Shopify brands selling more than 100,000 USD a month.
The 4 times line is a ROAS floor. Before you compare it with any other offer, run your own break-even with the 12.5% share included, as in the table above, and check that a month at 4.0 is profitable for your margin.
Why the ROAS in Meta is not your real ROAS
Platform ROAS is what Meta or Google attributes to its own ads, using its own attribution window and whatever value your pixel or Conversions API sends. Three things push it away from the money in your bank account:
- The conversion value. Check whether the purchase value you send includes VAT, shipping and discounts. In the UK, where standard VAT is 20%, a value that includes VAT overstates net revenue by a fifth.
- Overlap between channels. Meta and Google can each claim the same order, so adding their reported revenue together counts some sales twice.
- Returns and cancellations. The ad platform records the purchase, not the refund three weeks later.
The fix is to also track blended ROAS, sometimes called MER (marketing efficiency ratio): total store revenue divided by total ad spend across every channel, for the same period. If platform ROAS rises while blended ROAS stays flat, the ads are taking credit for sales that would have happened anyway. Judge break-even against blended numbers once a month, and use platform ROAS to compare ads and ad sets with each other.
How to use your target ROAS inside Meta and Google
Both platforms let you hand the number to the bidding system:
- Meta. Optimise the campaign for purchase value, then set a ROAS goal (Meta's help centre also calls this minimum ROAS) at your target ROAS. Meta notes that it aims to stay around the goal but does not guarantee it, and that a goal set too high can stop delivery.
- Google Ads. Use Target ROAS bidding and enter the target as a percentage, so a target ROAS of 2.7 becomes 270%. Google suggests a target based on your recent results, and its help page says changes take one to two conversion cycles to settle.
Start the bid target near your break-even ROAS rather than your ideal number, then raise it in small steps. A target far above what the account currently achieves usually starves the campaign of spend before it learns anything. Creative is the other lever: better ads raise ROAS at the same bid, which is why briefing AI video ads for Meta so they sell and a structured creative testing framework often do more for the number than any bid change.
Common Mistakes
- Using gross margin from the accounts. It usually leaves out shipping, fees and returns, which makes break-even look lower than it is.
- Copying another brand's "good ROAS". A 4.0 that is healthy at a 40% margin loses money at 22%.
- Counting VAT as revenue. In Europe this alone can turn a profitable-looking campaign into a loss.
- Adding up platform ROAS across channels. Meta and Google overlap, so compare against blended ROAS.
- Forgetting the fee. A percentage of spend or a share of sales has to go into the formula before you judge a campaign.
- Raising the ROAS target too fast. The campaign stops spending and you lose the sales that were above break-even.
Want ads that are paid from what they sell? Adsome makes and runs Meta ads for Shopify brands and is paid a share of the sales they bring in.