The Margin Stack30 DAYS FREE + Free Analytics Session $500

The Math / Platform over-claiming

The Math · Spend and customers

Meta attribution over-claims. Here is how to measure by how much.

Meta, Google and Klaviyo each count every sale they touched, in full, inside their own window. None of them can see the others, so none of them subtracts. Add the dashboards up and you get more revenue than your store banked. The fix is arithmetic: reconcile the claims against your Shopify orders and deflate before you decide.

The short answer

Platform over-claiming is summed platform-reported revenue ÷ ledger revenue: anything above 100% is the same order counted twice. The sources cited on The Math put collective claims at up to 140% of actual revenue, Meta about 26% high and Google 15% to 20%. Blufire's attribution section reconciles every claim to the orders that exist.

5.0 on Google · 100+ businesses · $153M revenue influenced

The formula

Over-claim ratio = Σ platform-reported revenue ÷ ledger revenue

  • Σ platform-reported revenue
  • Ledger revenue
  • Phantom revenue
The formula

Divide what the platforms claim by what the store took.

You need two numbers for the same period: each platform's reported revenue, and the net revenue in your Shopify ledger. The ledger is the anchor because it cannot double-count.

TermWhat it means
Σ platform-reported revenueMeta, Google, Klaviyo and any other channel's attributed revenue for the period, added together as reported.
Ledger revenueNet revenue from real orders in Shopify, after refunds. Every order appears once.
Phantom revenueΣ platform-reported revenue minus ledger revenue: the dollars that exist only because two dashboards booked the same order.

The mechanism is overlapping windows. Meta's default counts a sale up to 7 days after a click and 1 day after a view; Google counts up to 30 days after a click; Klaviyo applies its own click and open window. A buyer who saw a Meta video, clicked a Google ad and then an email is one order and three conversions. Each platform is following its own attribution model, and none is wrong by its own rules.

Scaled across an account, the overlap is large. Measured documents ad platforms collectively claiming credit for up to 140% of actual revenue (Measured, 2024), and Varos benchmarking puts Meta roughly 26% above third-party analytics and Google Ads 15% to 20% high under modelled conversions (Varos industry benchmark, 2024), both as cited on The Math.

Reconcile first

One month of claims held against 2,000 real orders.

A store banks A$180,000 from 2,000 Shopify orders at an A$90 average. Here is what each platform reports for the same month.

SourceConversionsRevenue claimedShare of ledger revenue
Meta Ads1,150A$103,50057.5%
Google Ads820A$73,80041.0%
Klaviyo690A$62,10034.5%
Sum of platform claims2,660A$239,400133.0%
Shopify ledger2,000A$180,000100.0%

Demonstrative numbers, sized inside the published ranges. The true overlap is larger than 660 orders, because some of the 2,000 orders came from organic search or direct visits that no platform claimed at all.

What it does to your numbers

The summed ROAS is fiction. The ledger ratio is not.

Same store, same month. Paid spend is A$30,000 on Meta and A$18,000 on Google.

Worked example / demonstrative numbers
Summed platform-reported revenueA$239,400
Shopify ledger revenueA$180,000
Phantom revenue (claims minus ledger)A$59,400
Paid spend: A$30,000 Meta + A$18,000 GoogleA$48,000
Summed claims ÷ spend4.99x
Blended MER: ledger revenue ÷ spend3.75x
Meta's own ROAS: A$103,500 ÷ A$30,0003.45x
Deflated for a 26% over-report: A$103,500 ÷ 1.26 = A$82,1432.74x

If this store's margin before marketing is 35%, its break-even ROAS is 2.86x. Meta's reported 3.45x clears it comfortably. The deflated 2.74x does not. The same campaign is a scale candidate on the dashboard and a loss on the ledger.

Treat the 26% as a starting assumption, not your number: it is an average across accounts. Your own ratio comes from reconciling order IDs, and the cause question, whether the sale needed the ad at all, only a holdout test answers.

How Blufire automates it

Every claim reconciled to an order that exists.

Section S5, Acquisition, runs the attribution models side by side instead of trusting one, and Margin Triangulation checks each model's claims against the margin that actually arrived. What gets published is one Canonical Source Map, a first-purchase source per customer that every other section reads.

Underneath, each customer journey shows every captured touch and the share of credit it earns under the chosen model, so one order's value is split across its touches rather than claimed in full by each.

  • Model Comparison MatrixAttribution models compared side by side, so the gaps between them become information.
  • Margin TriangulationModel claims checked against the contribution margin that actually landed.
  • Canonical Source MapOne published source per customer, read by every other section.
  • JourneysEach order's real path, every touch credited under the chosen model.
See section S5, Acquisition→
S5 Acquisition · Journeys
Blufire customer journeys showing each captured touch and its percentage of order credit under a blended attribution model

Real product screen, shown on sample data.

Common mistakes

How over-claiming slips into budget decisions.

  • Adding the dashboards together.Summed platform revenue is not a total. Use MER on ledger revenue for the account-wide read; it cannot double-count.
  • Comparing channels on their own ROAS.Each platform grades its own homework with its own window, so a view-through-heavy channel looks better than it is. Compare on one model, read against the ledger.
  • Deflating every channel by the same amount.Published averages differ by platform, and your account will differ again. Reconcile per channel.
  • Treating reconciliation as proof of cause.Removing double counts leaves sales that would have happened anyway. The Math cites branded search at 60% to 80% non-incremental (Measured, 2024). Test with a geo-lift or holdout.
Proof
“I couldn't be more impressed with the Blufire team and the improvements they have made… working on the account and maximising results daily.”
NJNick JacksonCMO, Peter Jackson
Google review
Peter JacksonA$942kin incremental revenue once the double-counted attribution was fixedRead the case study →

5.0 on Google · 100+ businesses · $153M revenue influenced

FAQ

Questions operators ask.

Meta counts any purchase inside its window, by default 7 days after a click or 1 day after a view, even when Google or an email also touched it. Every platform does the same, so the same order appears in several dashboards. Varos benchmarking, cited on The Math, puts Meta roughly 26% above third-party analytics.
The sources cited on The Math put collective platform claims at up to 140% of actual revenue (Measured, 2024), with Meta roughly 26% high and Google Ads 15% to 20% high under modelled conversions (Varos, 2024). Your own figure comes from dividing summed platform revenue by Shopify ledger revenue.
Divide Meta's reported revenue by one plus your measured over-report before dividing by spend. At a 26% over-report, A$103,500 of claimed revenue becomes about A$82,143, and a 3.45x ROAS becomes 2.74x. Measure your own rate by matching claimed orders to Shopify order IDs.
Not by its own rules. It reports every sale inside its window that a Meta ad touched. The problem is that Google and Klaviyo report the same sales by their rules, and nobody subtracts. Reconcile claims to your ledger, then test the biggest channels for incrementality.

Ready to see what you are actually keeping?

Free for 30 days. Free to install.