Platform-reported ROAS is almost always inflated because each platform claims the same conversion and counts gross revenue before refunds, discounts, and cost of goods. The number you can bank is profit-on-ad-spend, deduplicated across channels and reconciled to your CRM.
Open any ad account and the ROAS figure looks reassuring. The problem is that the platform reporting it is also the platform being graded by it — and it grades generously. The number you optimize toward is rarely the number that hits your bank account, and the gap is where budgets quietly bleed. Related read: how automated tools like performance max shift campaign structures.
Every platform claims the same sale
Conversion credit claimed for the same 100 real sales
Sum = 173 claimed vs 100 real. The overlap is double-counting — every platform takes full credit.
Google, Meta, and your email tool will each take credit for the same conversion if a buyer touched all three. Add those dashboards together and your “blended ROAS” can exceed what actually happened — you’re counting one sale two or three times. Until conversions are deduplicated across channels, every platform number is overstated by design. To see how testing impacts this, check out our guide to creative testing.
Reported revenue isn’t kept revenue
| Platform ROAS | Your P&L | |
|---|---|---|
| Gross revenue at conversion | Yes | Yes |
| Refunds & chargebacks | No | Yes |
| Discount codes applied | No | Yes |
| Shipping & fulfillment | No | Yes |
| Cost of goods sold | No | Yes |
Platform ROAS uses gross revenue at the moment of conversion. It knows nothing about refunds, cancellations, discounts, shipping, or cost of goods. A 4x ROAS on a product with a 30% margin and a 12% refund rate is a very different business than it looks on the dashboard.
- Refunds and chargebacks the platform never sees.
- Returns and partial cancellations booked weeks later.
- Discount codes that quietly halve the order value.
- Cost of goods and fulfillment that platform ROAS ignores entirely.
The fix: profit, deduplicated and reconciled
The honest number is profit-on-ad-spend, reconciled against the revenue that actually closed. That means deduplicating conversions across platforms, importing real outcomes from your CRM or store back-end, and subtracting the costs the ad platform can’t see. It’s less flattering — and far more useful, because it’s the only number you can confidently scale against.
A 4x dashboard ROAS that’s really 1.8x in profit isn’t a win. It’s a slow leak you’re funding daily.
Once your reporting reflects kept profit, decisions get simple: you scale what genuinely earns and cut what only looked like it did. The dashboard stops being a comfort blanket and starts being a control panel.
This article is a spoke node connected to our core technical hubs. To explore the broader architecture, visit our primary pillar pages: