Real ROAS calculator: is your ROAS real?
This real ROAS calculator takes the ROAS your platforms report and returns an adjusted ROAS (estimate) with a range. It rests on stated assumptions, not on your account data. It is not a measurement, and it does not say what your ROAS really is.
Calculate your adjusted ROAS (estimate)
Spend, margin and what each platform reports. Everything updates as you drag.
Break-even ROAS at this margin: 2.5×
Margin is what is left per order after cost of goods, shipping, payment costs, returns and discounts. Not gross margin (contribution margin). Keep revenue and margin on the same footing (VAT, returns).
Use one source, one period and the same window for every channel. These two fields only label the result.
Channels
Shares are relative weights. Set a channel to 0 if you don't run it. The example account is invented.
- Retargeting€25k / month · 25% of spendReported ROAS
- Branded search€20k / month · 20% of spendReported ROAS
- Prospecting / creative€35k / month · 35% of spendReported ROAS
- Email / CRM€5,000 / month · 5% of spendReported ROAS
- Affiliate / coupons€10k / month · 10% of spendReported ROAS
- Creators / social€5,000 / month · 5% of spendReported ROAS
Adjusted ROAS (estimate)
~55%
of reported revenue, as estimated
- Reported ROAS5.0×
- Adjusted (estimate)2.2× to 3.3×
Blended range around 2.8×: the estimate plus or minus a fifth, a design choice and not a confidence interval. Factor 0.55× on reported ROAS, margin 40%. Break-even ROAS at this margin: 2.5×.
Underwater: Retargeting, Branded search, €45k/month of your spend. At these assumptions this channel earns less margin than it costs. Treat it as a question to test, not an instruction to switch it off.
Illustrative estimate from stated assumptions. It does not measure your account. A test with a control group, or a marketing-mix model calibrated with tests, is how you find out what your ads actually did.
Reported vs. adjusted ROAS, channel by channel
Sorted by the gap between reported and adjusted revenue. Bars show reported ROAS; the band is the adjusted ROAS (estimate) plus or minus a fifth.
Reported and adjusted ROAS by channel
Branded search
€20k / month
Biggest gap8.0× → 2.5×
2.0×–3.0× underwater
Retargeting
€25k / month
6.0× → 1.8×
1.4×–2.2× underwater
Email / CRM
€5,000 / month
12.0× → 6.6×
5.3×–7.9×
Affiliate / coupons
€10k / month
5.0× → 2.5×
2.0×–3.0×
Creators / social
€5,000 / month
2.5× → 3.0×
2.4×–3.6×
Prospecting / creative
€35k / month
2.0× → 3.1×
2.5×–3.7×
Illustrative estimate from stated assumptions. It does not measure your account. A test with a control group, or a marketing-mix model calibrated with tests, is how you find out what your ads actually did.
What does the calculator do?
You enter monthly spend and reported ROAS for each channel. You add your contribution margin before marketing. It returns three things per channel: an adjusted ROAS (estimate) as a range, the contribution left after ad spend, and a flag when the channel looks underwater.
"Reported ROAS" means the conversion value the platform credits to ads, divided by what you spent. An analytics vendor's explainer defines ROAS this way1. The credit follows the platform's rules and attribution window. Underwater means adjusted revenue times margin comes to less than spend.
How does it work, and what does it assume?
The whole model is one line: adjusted ROAS (estimate) = reported ROAS × a fixed factor for the channel type. No tests, no account history.
The factor is an incrementality factor. One testing vendor uses the term for incremental conversions from a test divided by conversions the platform reported2. An agency's published channel analysis multiplies platform ROAS by such a factor to estimate incremental ROAS3.
The assumptions, in plain words:
The factors are illustrative
They are our modelling choices for each channel type. They are not a benchmark, and they are not drawn from ZFD client results.
The range is arbitrary
It is a band of a fifth either side of the estimate. That is a design choice, not a confidence interval.
Direction varies
A measurement vendor says platform ROAS is often higher than incremental ROAS for lower-funnel activity such as brand search, and can be lower for upper-funnel video and reach4. A testing vendor reports that, in tests for its own clients, Meta's 7-day click-only reporting understated incrementality on average5. So the result is not always lower than your panel.
Margin is our convention
We use contribution margin before marketing. Gross margin gives a more flattering break-even.
Channels are independent
Cutting retargeting may change branded search. The model cannot see it.
Automated campaigns do not fit
Example (illustrative): A channel reports ROAS 4.0. The factor for its type is 0.5, so adjusted ROAS (estimate) is 2.0. At a 40 per cent contribution margin, break-even is 2.5. The channel is flagged underwater. That is a prompt to test.
| Channel | Why | Factor | Example |
|---|---|---|---|
| Retargeting | Mostly reaches people already on their way to buying. | ×0.30 | 6.0× → 1.8× |
| Branded search | Captures demand that other channels created. | ×0.31 | 8.0× → 2.5× |
| Prospecting / creative | Under-reports: its effect shows up in other channels. | ×1.55 | 2.0× → 3.1× |
| Email / CRM | Partly owned demand: some of it would have happened anyway. | ×0.55 | 12.0× → 6.6× |
| Affiliate / coupons | Often claims the last click on a sale that was happening. | ×0.50 | 5.0× → 2.5× |
| Creators / social | Mid-funnel; moderately under-reported. | ×1.20 | 2.5× → 3.0× |
What should you do with the range?
Check each flagged channel against its threshold in the Break-even ROAS & contribution margin calculator.
Next, decide whether a test is worth it. A holdout needs enough volume to detect the effect you care about, a testing vendor explains12. It also gives up sales in the control group, a trade publication notes8, and it takes time. Read when not to run an incrementality test first.
FAQ

Is the adjusted ROAS my real ROAS?
No. It is an estimate from fixed assumptions. Only a test, or a model calibrated with tests, shows the real effect on your account.
My blended ROAS looks fine. Why check channels?
In our convention, blended ROAS is total revenue divided by media spend only, and MER divides by all marketing spend. A good average can hide a channel that loses money on every order.
Why a range and not one number?
A single number gets quoted without its assumptions. A range forces the conversation about what you do not know.
Do I need to give an email address?
No. There is no email gate.
Sources
- ROAS Explained (Polar Analytics)Vendor
- Haus: Understanding Meta incrementality testingVendor
- Q1 2026 Ecommerce Ad Spend Benchmark: Channel Allocation and Incremental ROAS Across 299 DTC Brands (Common Thread Collective)Vendor
- Why do platform ROAS and incremental ROAS tell such different stories? (Sellforte)Vendor
- The Meta Report: Lessons from 640 Haus Incrementality ExperimentsVendor
- About Performance Max campaigns (Google Ads Help)Primary source
- Advantage+ shopping campaigns: automated ecommerce advertising (Meta for Developers, 31 Oct 2024)Primary source
- iROAS (ppc.land)Blog or media
- Gordon, Zettelmeyer, Bhargava, Chapsky: A Comparison of Approaches to Advertising Measurement (Marketing Science 2019) - strona KelloggPrimary source
- Packaging Up Media Mix Modeling: An Introduction to Robyn's Open-Source Approach (arXiv 2403.14674)Primary source
- MER vs ROAS: The Third Number Both Metrics Hide From You (BlueAlpha)Vendor
- Sellforte: right holdout-group sizeVendor
Next step
Take the range to a decision, not a slide. Talk through your budget decision with us.