- Platform ROAS is self-reported by the platform that spent your money — it inflates under double-counting, view-through and modeled conversions.
- MER (total revenue ÷ total ad spend) is the honest executive headline. Your break-even MER ≈ 1 ÷ contribution-margin %.
- Contribution margin is the only number that knows whether each order made money. Steer budgets with MER, kill campaigns with contribution math.
Every D2C team has lived this meeting: Meta's dashboard says 4.1× ROAS, the founder is looking at the bank account, and the two stories don't rhyme. Neither side is lying, exactly — they're reading different numbers that answer different questions. The problem is that most brands steer with the weakest of the three.
The three levels, in one table
| Metric | Formula | Who reports it | What it's good for |
|---|---|---|---|
| Platform ROAS | platform-attributed revenue ÷ platform spend | Meta / Google, about themselves | Directional creative & campaign comparison inside one platform |
| MER (blended ROAS) | total store revenue ÷ total ad spend | Your store + your ad accounts | The executive headline: is the whole machine profitable? |
| Contribution margin | revenue − COGS − shipping − fees − returns | Only you (needs cost data) | Whether each order, product and campaign actually makes money |
Why platform ROAS flatters itself
Ad platforms grade their own homework. Three mechanics push the number up: double-counting (Meta and Google both claim the same order when a customer touched both), view-through attribution (someone scrolled past your ad, bought via search two days later — Meta counts it), and modeled conversions (post-iOS-14.5, a chunk of "conversions" are statistical estimates, not observed purchases). Sum every platform's claimed revenue and you'll routinely get 130–180% of what your store actually took.
MER: the honest headline
MER can't be gamed by attribution because it doesn't use attribution. All revenue over all spend. Its weakness is the flip side of its strength: it won't tell you which campaign to cut — it tells you whether the machine as a whole earns its fuel.
Your break-even MER is a formula, not a feeling
A brand with 60% contribution margin (after COGS, shipping, fees) breaks even at MER ≈ 1.7×. At 40% margin, break-even is 2.5×. This is why "we're at 2× blended, we're fine" can be true for one brand and a slow bleed for its neighbour. Compute yours before you judge any ad number.
Contribution margin: where campaigns go to be judged
Worked example. Average order value ₹586. COGS at 42% takes ₹246, leaving ₹340 before acquisition. If your cost per purchase is ₹1,746, every paid first order loses roughly ₹1,406 — and no ROAS above 1 changes that. The order only turns profitable if the customer comes back. That's not a marketing insight; it's arithmetic most dashboards never do, because the cost data lives in a spreadsheet the ad platform never sees.
| Level | Question it answers | Cadence |
|---|---|---|
| Platform ROAS | Which creative/audience is relatively better inside this platform? | Daily, media buyer |
| MER | Is total ad spend earning its keep against break-even? | Weekly, founder / growth lead |
| Contribution margin | Which products, campaigns and cohorts actually make money? | Weekly–monthly, finance + growth |
When platform ROAS is the right tool
Inside one platform, comparing two creatives launched the same week to the same audience — platform ROAS is fine, because the attribution bias applies roughly equally to both. It breaks the moment you compare across platforms, across time (attribution windows shift), or against money in the bank. Use it as a ranking signal, never as a P&L.
The operating rule
- Daily: media buyer ranks creatives on platform metrics — knowing they're inflated, caring only about relative order.
- Weekly: growth lead reads MER against the brand's computed break-even, and moves budget.
- Weekly–monthly: contribution margin per campaign decides what lives, dies, or scales.
The brands that get this wrong aren't innumerate — their data is just fragmented. Spend sits in two ad accounts, revenue in Shopify, costs in a sheet, returns in the 3PL portal. Reconciling them weekly by hand takes hours, so it doesn't happen, so platform ROAS wins by default. Fixing the plumbing is the whole game.