Are your ad platforms over-reporting?
Add up the revenue Meta, Google, TikTok and the rest each report, set it against what your store took in, and see how much is counted more than once and what your blended return really is. Free, no signup, and it runs in your browser.
Your result
Enter your store revenue and total ad spend, then the revenue at least one platform reports. The result shows here as you type.
This arithmetic cannot say which platform caused which sale. That is the gap a causal read measures.
How it works
Your store revenue counts each order once. Each platform's reported revenue is that platform's own claim on those orders. The checker adds the claims up and sets them against the store.
Claimed revenue
the revenue each platform reports, added up
Claimed as % of store revenue
claimed revenue ÷ store revenue × 100
Claimed beyond store revenue
claimed revenue − store revenue, shown only when it is above zero
MER
store revenue ÷ total ad spend
Blended claimed ROAS
claimed revenue ÷ total ad spend
Claimed ROAS minus MER
blended claimed ROAS − MER, the same as (claimed revenue − store revenue) ÷ total ad spend
A platform's claimed ROAS
its reported revenue ÷ its own spend
The terms
- Store revenue
- What your store's own orders add up to for the period, on Shopify, WooCommerce, Shopware, Magento or your own build. It includes every source: ads, organic search, direct visits, email and referrals.
- Reported revenue
- The conversion value a platform gives its own ads, in its own reports, under its own attribution setting.
- Total ad spend
- What you paid all ad platforms in the same period.
- MER
- Marketing efficiency ratio: store revenue for each unit of ad spend. It counts each order once, and it credits the ads with every order. More in MER vs ROAS.
- ROAS
- Return on ad spend: revenue for each unit of ad spend. Claimed ROAS uses the platforms' own revenue figures.
A worked example
An example store over one month, in round numbers. It is not a real company. The store took in €100,000 and spent €25,000 on ads across three platforms, which report this:
| Platform | Reported revenue | Spend | Claimed ROAS |
|---|---|---|---|
| Meta Ads | €54,000 | €12,000 | 4.50x |
| Google Ads | €48,000 | €8,000 | 6.00x |
| TikTok Ads | €18,000 | €5,000 | 3.60x |
| All three | €120,000 | €25,000 | 4.80x |
- Claimed revenue: €54,000 + €48,000 + €18,000 = €120,000.
- Claimed as % of store revenue: €120,000 ÷ €100,000 × 100 = 120.0%.
- Claimed beyond store revenue: €120,000 − €100,000 = €20,000. At least that much is counted more than once.
- MER: €100,000 ÷ €25,000 = 4.00x.
- Blended claimed ROAS: €120,000 ÷ €25,000 = 4.80x.
- Claimed ROAS minus MER: 4.80x − 4.00x = 0.80x.
Each platform looks healthy on its own numbers, and together they claim €20,000 the store never took in. The €100,000 also holds organic, direct and email orders, and the platforms may have claimed some of those too, so the real overlap can be larger than €20,000. What the arithmetic cannot say is which platform counted which order, or what any of them caused.
Why the platforms claim more than you sold
Each platform credits the conversions it touched, under its own rules. It looks back over its own attribution window: the days after a click, or a view, in which a sale still counts for the ad. Some platforms also count view-through conversions: sales from people who saw an ad without clicking it.
No platform sees the others' touches, and none removes a sale another platform also claims. One order from a customer who saw a Meta ad and then clicked a Google ad can appear in both reports, while your store counts it once.
The settings differ by platform and by account, so check each one: the window, and whether views count. That is also why a total under 100% proves nothing. The platforms can still claim sales that organic search, direct visits or email made, as long as the claims add up to less than the store took in.
What this arithmetic cannot tell you
The checker shows how much is claimed, not what was caused. It cannot say which platform caused which sale, or which sales would have happened without any ad. A platform's claimed ROAS is its own claim divided by its own spend, and neither number is checked against the other platforms.
What each channel caused is a question of incrementality. A causal read of your GA4 export answers it for your store: what each channel caused, next to what last-click gave it.
Frequently asked questions
Why do my ad platforms report more revenue than my store made?
Each platform credits the conversions it touched, under its own attribution window and its own view-through rules. A customer who saw a Meta ad and later clicked a Google ad can be claimed by both, while your store records one order. No platform removes a sale another platform also claims, so the claims can add up to more than the sales.What is MER, and how is it different from ROAS?
MER, the marketing efficiency ratio, is your store revenue divided by your total ad spend. It counts every order once, because it starts from your store. A platform's ROAS divides the revenue that platform claims by its own spend. MER does not double count, but it credits your ads with sales that organic search, direct visits and email made, so it does not measure what the ads caused either.If my platforms claim less than 100% of my store revenue, are their numbers right?
Not necessarily. Your store revenue includes organic, direct, email and every other source. The platforms can claim sales those channels made, or sales that would have happened without any ad, and still stay under 100% in total. Under 100% only means this arithmetic cannot prove double counting. It does not clear the claims.Which of my ad platforms over-reports the most?
This arithmetic cannot say. Each platform's claimed ROAS is its own claim divided by its own spend, and no platform's report is checked against another's. Finding out what each channel caused takes a different method: comparing the paths to purchase against what would have happened without the channel. That is what a causal read of a GA4 export measures.Which revenue figure should I take from each platform?
The conversion value each platform reports for your purchases, over the same dates as your store revenue, in the report you normally use. Note each platform's attribution setting, the window and whether ad views count, because that setting decides how much it claims. If you change a setting, run the check again.Which period should I compare?
The same dates everywhere, one currency, and the same definition of revenue in your store and in the platforms (with or without tax, shipping and refunds). A full month or a quarter compares more fairly than a few days: a sale near the edge of the period can land in a different period in a platform's report than in your store.
See what each channel caused
This arithmetic cannot say which platform caused which sale. That is the gap a causal read measures. Your GA4 export already holds how long your buyers take and which channels they touch. First finding free, in your browser; the full read is €99.
Prices exclude VAT. Full refund within 30 days, no questions asked.