Every Meta account has one number that gets screenshotted into Slack. It's usually ROAS, and the message under it is usually either "scale it" or "what happened?". The trouble is that a 2.0 can mean a brand is making good money, or quietly losing $10 on every order, and Ads Manager can't tell you which. The column only knows revenue. It has no idea what the product cost, what the courier charged or how many parcels came back.
So whether your ROAS for Meta ads is good has very little to do with anyone else's ROAS. What matters is where your own ads stop paying for themselves, and how far above that line you're sitting. You can find the line in ten minutes with last month's P&L. Once you have it, most scale or cut calls stop being arguments.
The break-even ROAS formula
ROAS is revenue from ads divided by ad spend. Shopify's own guide is blunt about the catch: ROAS is based on revenue, not profit, so a campaign can run at a ROAS of 3 and still lose money once product, shipping and payment processing come out. Break-even ROAS is the point where the margin left on each sale pays exactly for the ads that produced it.
Break-even ROAS = 1 / margin before ads
Gross version: margin = (price - cost of goods) / price
Contribution version: margin = (price - cost of goods - shipping and pick/pack
- payment fees - returns - discounts) / price
Break-even CPA = average order value x margin before ads
Target ROAS = 1 / (margin before ads - profit you want left after ads)
Shopify's break-even guide uses the same shape, 1 divided by gross profit margin, so a 50% margin needs a ROAS of 2 to break even, and it says to take shipping, payment fees and pick and pack out of that margin as well as cost of goods. The input is where brands go wrong. In plenty of finance sheets "gross margin" means price minus cost of goods and nothing else, while every order Meta sends you also pays a courier, a pick fee, a card fee and, some of the time, a refund.
If you change one thing about how you read ROAS, swap gross margin for contribution margin, the money left after every variable cost of getting that order to the customer. It's a common way for a brand to believe a campaign is profitable when it isn't.
Break-even ROAS calculator by margin (30% to 80%)
Find your contribution margin in the first column. The second column is the ROAS at which the first order neither makes nor loses money. The last two show the ROAS you need to keep 10% or 20% of revenue as profit once the ads are paid for.
| Margin before ads | Break-even ROAS | Break-even CPA per $100 order | Target ROAS (10% left) | Target ROAS (20% left) |
|---|---|---|---|---|
| 30% | 3.33 | $30 | 5.00 | 10.00 |
| 35% | 2.86 | $35 | 4.00 | 6.67 |
| 40% | 2.50 | $40 | 3.33 | 5.00 |
| 45% | 2.22 | $45 | 2.86 | 4.00 |
| 50% | 2.00 | $50 | 2.50 | 3.33 |
| 55% | 1.82 | $55 | 2.22 | 2.86 |
| 60% | 1.67 | $60 | 2.00 | 2.50 |
| 65% | 1.54 | $65 | 1.82 | 2.22 |
| 70% | 1.43 | $70 | 1.67 | 2.00 |
| 75% | 1.33 | $75 | 1.54 | 1.82 |
| 80% | 1.25 | $80 | 1.43 | 1.67 |
Look at the bottom of the curve first. Dropping from a 60% to a 50% margin moves break-even from 1.67 to 2.00. Dropping from 40% to 30% moves it from 2.50 to 3.33. The profit columns spread out even faster. At an 80% margin, the gap between breaking even and keeping 20% is 0.42 of ROAS. At 30% it's 6.67.
So a thin-margin brand doesn't just need a slightly better ROAS; it needs one most accounts never see. That's why margin work (pricing, bundles, a cheaper 3PL) often does more for Meta profit than any campaign change. Andrew Faris, quoted in that Shopify guide, says the most resilient brands target a margin of more than 60%, and the table shows why: above 60%, a 2.0 to 2.5 ROAS is real profit.
Worked example: one DTC brand, from gross margin to real break-even
The brand here is hypothetical and every number is illustrative. Swap in your own and keep the method.
Picture a skincare brand with a $60 average order. Product costs $18 to make, so the finance sheet shows a 70% gross margin, and the founder has been working to a break-even ROAS of 1 / 0.70 = 1.43. Meta reports a 1.8 ROAS over the last 30 days. On that maths every campaign is in profit, and the obvious move is more budget.
| Per order | Amount | Note |
|---|---|---|
| Average order value | $60.00 | |
| Cost of goods | $18.00 | 30% of price |
| Shipping and pick/pack | $7.50 | 3PL fee plus courier, illustrative |
| Payment processing | $2.04 | 2.9% + 30¢, Stripe's standard rate for domestic cards |
| Returns and refunds | $3.00 | 5% of revenue set aside |
| Packaging and inserts | $1.50 | Illustrative |
| Contribution before ads | $27.96 | 46.6% of the order |
The 5% returns line is deliberately modest. NRF and Happy Returns estimate that 19.3% of online sales will be returned in 2025 across US retail. Categories vary a lot, so use your own refund data rather than a guess.
Contribution margin = $27.96 / $60 = 46.6%
Break-even ROAS = 1 / 0.466 = 2.15
Break-even CPA = $27.96
Real break-even is 2.15, not 1.43, and the 1.8 ROAS the team wanted to scale loses money on the first order. For every $100 of ad spend the brand takes $180 in revenue, keeps $83.88 after variable costs, and is $16.12 down before rent or salaries.
Then add what new customers do next
First-order maths is half the picture for any brand with repeat purchase. Shopify's ROAS guide describes Unbound Merino, which was willing to scale advertising until first purchases broke even and counted on repeat orders for the profit. That's a legitimate strategy. It's also the excuse most often used for a campaign that isn't working, so put numbers on it.
Say this brand's cohort reports show the average new customer places 1.6 orders in their first 180 days, and repeat orders come mostly through email and organic, without a fresh Meta cost.
180-day contribution per customer = $27.96 x 1.6 = $44.74
Payback CPA (180 days) = $44.74
Payback ROAS on the first order = $60 / $44.74 = 1.34
At a 1.8 ROAS on genuinely new customers, CPA is $60 / 1.8 = $33.33. The first order loses $5.37, the following 180 days earn back $16.78, and the customer ends up $11.41 in profit. Same campaign, opposite answer. The 1.8 holds up only if a few things are true:
- The 1.6 comes from real cohorts. A brand that launched last spring doesn't have 180 days of history on many customers yet, so use the longest window you can actually show.
- The purchases are from new customers. Under Meta's standard attribution setting, a purchase counts if it happens within 1 or 7 days of a link click, or within 1 day of a view. A past customer who scrolls past your ad and then buys from a reminder email can land inside that window. Split new from returning buyers in your store data before you lean on a payback number.
- Your cash can wait 180 days. Payback is a financing decision. A brand with thin reserves may need first-order break-even whatever the LTV says.
Target ROAS: the number to manage to
Break-even is the floor. This brand wants scaling campaigns to leave 15% of revenue after ads on the first order, so:
Target ROAS = 1 / (0.466 - 0.15) = 3.16
It now has four lines to read Meta against instead of one:
| Line | ROAS | What it means |
|---|---|---|
| Target | 3.16 | First order keeps 15% of revenue after ads |
| First-order break-even | 2.15 | First order pays for its own ads, nothing more |
| 180-day payback | 1.34 | New customer pays back their CPA within 180 days |
| Below payback | Under 1.34 | Losing money even after repeat orders |
Scale, hold or cut: the decision table
Read each campaign against those lines on at least a week of data, with enough purchases behind it that the number isn't noise. The ad-level kill point is a separate call, covered in when to turn off a Meta ad; your break-even CPA is the input it needs.
| What you see | Call | What to do |
|---|---|---|
| At or above target, and store revenue rises as spend rises | Scale | Raise budget in steps. Judge each step on marginal ROAS, the extra revenue from the extra spend, not the average. |
| Between first-order break-even and target | Hold | Keep spend flat. The gap usually closes through creative, order value (bundles, free-shipping thresholds) or conversion rate, not budget. |
| Between payback and break-even, mostly new customers, cohort data behind it | Hold as acquisition | Fund it on purpose, cap the budget and recheck the cohort every month. |
| Between payback and break-even, mixed or returning customers | Fix or cut | It's buying orders you'd probably have had anyway. Exclude recent buyers or move the spend. |
| Below payback | Cut | Pause it and replace the creative before spending more. |
| Platform ROAS steady, store revenue flat as spend rises | Don't scale | Meta is likely crediting itself with sales that were coming anyway. |
That last row is where most scaling mistakes start. Blended ROAS (total store revenue divided by total ad spend, sometimes called MER) is the check platform ROAS can't run on itself. The headline figure we quote for our own work is 8.7x blended ROAS across Spark client accounts, and we say blended deliberately: it's all revenue over all ad spend, across brands with different margins and repeat rates. It isn't a number to hold one Meta campaign against. Your four lines are.
Benchmarks still earn a place as a sanity check on whether a gap is a creative problem or a business-model problem. Lebesgue's 2026 Meta dataset puts median ROAS for stores with a $100 to $200 order value anywhere from 1.82x for food, beverage and pet to 4.17x for home and lifestyle. If your break-even sits above what the median store in your category achieves, campaign tuning won't close it reliably. The margin has to move. Our Meta ads benchmarks by business type lay out the wider spread.
What moves a campaign from hold to scale
Campaigns can sit in the hold band for weeks, and the instinct is to fiddle with bids, audiences or budgets. In our experience the faster fix is creative. A new angle that converts better lifts revenue per dollar of spend without touching margin, and it's the one lever on that list that compounds. Go through the creative report ad by ad with how to read a Meta creative report, cut what sits below payback, and put the spend behind concepts that clear target. If you'd rather hand the creative side to someone, our plans cover the concepts, production and testing, and there are more guides like this one in Resources.
Frequently asked questions
What is a good ROAS for Meta ads?
A good ROAS for Meta ads is one comfortably above your own break-even ROAS, which is 1 divided by your contribution margin before ad spend. At a 50% margin you break even at 2.0, at 40% you need 2.5 and at 70% you need 1.43. Set your target above break-even for the profit you want: at a 50% margin, a 2.5 ROAS leaves 10% of revenue after the ads are paid for. Industry medians are a sanity check, not a target.
How do you calculate break-even ROAS?
Divide 1 by your margin before ad spend. Use contribution margin: price minus cost of goods, shipping and pick/pack, payment fees, returns and discounts, divided by price. A $60 order with $32.04 of variable costs has a 46.6% contribution margin, so its break-even ROAS is 1 divided by 0.466, which is 2.15.
How do you calculate break-even CPA on Meta?
Multiply average order value by contribution margin. A realistic CPA is one below that break-even figure. A $60 order at a 46.6% margin can afford up to $27.96 per first purchase, or more if repeat orders reliably pay it back. For a reference point, Lebesgue's 2026 Meta Ads benchmarks put median customer acquisition cost at around $15 in some lower-AOV segments and more than $70 in some $200+ segments.
Stuck between break-even and target? It usually needs more winning creative, not more budget. We write, produce and test UGC ads for DTC brands on Meta. Tell us about your account.