True ROAS calculator
Platform-reported ROAS is gross, de-duplicated by nobody, and blind to refunds. Put your own numbers in and see what is left.
How the number is built
Reported revenue is de-duplicated by the overlap you enter, then reduced by refunds and cancelled renewals, then increased by revenue that closed where no pixel could see it. The result is divided by spend:
- De-duplicated = reported × (1 − overlap%)
- Net of refunds = de-duplicated × (1 − refund%)
- True revenue = net of refunds + untracked
- True ROAS = true revenue ÷ spend
The arithmetic is the easy half. The hard half is knowing your real overlap and your real refund rate by cohort — which is a data problem, not a spreadsheet problem.
Where the inputs come from
- Overlap: count orders claimed by more than one platform in the same window. If you can't, the honest starting assumption for a multi-channel account is not zero.
- Refund rate: from your payment processor, attributed to the cohort that generated the order rather than the month the refund landed.
- Untracked revenue: total closed revenue minus what your analytics recorded.
Questions people ask
Where do the overlap and refund percentages actually come from?
Overlap comes from counting orders claimed by more than one ad platform in the same window — if you've never measured it, don't assume zero for a multi-channel account. Refund rate comes from your payment processor, attributed to the cohort that generated the order rather than the month the refund landed.
Why include untracked revenue in a ROAS calculation?
Because pixels only see what happens in a browser. Offline closes, phone orders, and anything finished outside the checkout flow are real revenue that platform-reported ROAS never had a chance to count — leaving it out understates channels that drive real, if invisible, demand.
Is this the same as what an agency or platform reports?
No — this is deliberately the number after de-duplication, refunds, and untracked revenue are applied, which is usually lower than what any single platform reports on its own. That's the point: it's the version you can safely spend against.
Read next
Why your GA4 ROAS is lying to you — and how to find the real number
Why the dashboard number and the bank number disagree in the first place.
AttributionWhy offline conversions beat pixel-based ROAS
Feeding closed revenue back to the platforms so they optimise on real money.
Marketing analyticsHow DTC brands should measure blended ROAS
The blended check that catches channel-level numbers overstating themselves.
Want to know what your ROAS is actually doing?
We reconcile ad spend, platform conversions, and closed revenue into one number your team can spend against.