afG
ads for Good
← Back to the blog
Attribution FundamentalsOct 18, 2026

Why none of your marketing tools report the same revenue

Open Shopify: it says you made $50,000 last month. Open Google Analytics: $44,000. Open Meta Ads Manager: it's claiming $38,000 in revenue all on its own. Google Ads is claiming another $20,000. Add the ad platforms together and they've somehow driven more revenue than your store actually made.

If this has ever made you feel like your data is broken, here's the reassuring part: it's not. Every one of those numbers is "correct" by its own rules. They disagree because they were never measuring the same thing in the same way. Once you see why, the discrepancies stop being alarming and start being readable. Let's walk through it.

The core reason: everyone counts from their own corner

Every tool in your stack sees only the part of the world it touches, and counts revenue in a way that flatters its own role. That's not dishonesty — it's design. Each platform was built to prove its own value, so each one counts generously within its own boundary and ignores everything outside it.

So the real question is never "which number is right?" It's "what is each number actually counting, and what is it blind to?" Here are the four discrepancies that trip up almost every business.

Shopify vs. Google Analytics: two honest tools, two different totals

Your store platform and your analytics tool almost never match, and the gap is usually explainable. Shopify counts a sale the instant the order is placed. Google Analytics only counts it if its tracking successfully fired in the customer's browser — which fails a measurable share of the time thanks to ad blockers, cookie rejections, closed tabs, and people bouncing before the confirmation page loads.

So GA almost always reports fewer orders and less revenue than Shopify. Shopify is closer to your true sales because it counts the actual transaction, not a browser event that had to load correctly to be seen. When these two disagree, trust the platform that recorded the money changing hands.

Meta vs. Google: both claiming the same sale

Here's the one that makes the ad platforms add up to more than you actually sold. Meta and Google each count a conversion whenever they can plausibly connect it to one of their own ads — and a single customer often touched both.

Someone sees your Meta ad, then later clicks a Google ad, then buys. Meta counts the sale (it saw the earlier touch). Google counts the sale (it saw the last click). One purchase, claimed twice, in two dashboards that never talk to each other. Multiply that across a month and the platforms collectively take credit for far more revenue than exists. This isn't a bug you can fix in the settings — it's the direct result of two walled gardens each grading their own homework.

Why your ROAS never matches

This is the discrepancy that costs real money, because ROAS — return on ad spend — drives budget decisions. The ROAS in Meta's dashboard uses Meta's generous, self-counted conversions. Your actual ROAS, measured against real store revenue, is almost always lower, because the platform counted sales it didn't solely cause and sales that would have happened anyway.

A platform reporting 4x while your blended numbers say 2x isn't necessarily lying — it's answering a narrower, kinder question. Knowing the difference between platform-reported ROAS and your true blended ROAS is worth an article of its own; it's the single most common way businesses over-invest in a channel that looks better than it is.

Revenue attribution: the inconsistency underneath all of it

Step back and every one of these discrepancies is really the same problem wearing different clothes: revenue attribution. Assigning revenue to a cause is not a clean, factual operation. It's a series of judgment calls — which touch counts, whose tracking fired, which window applies, which platform gets to claim it — and every tool makes those calls differently.

That's why the numbers will never reconcile by tightening a setting. They're the output of different rules applied to different slices of a customer who moved across all of them. The inconsistency isn't in your setup. It's structural.

What to actually do about it

You can't make these tools agree. You can stop being misled by their disagreement:

  • Anchor on the money. Your store's actual revenue — the transactions, the bank — is your ground truth. Everything else is an estimate of who caused it.
  • Never add platform revenue together. Meta's claimed revenue plus Google's claimed revenue double-counts every customer who touched both. The sum is meaningless.
  • Treat platform ROAS as a ceiling, not a fact. It's the kindest possible version of each channel's performance.
  • Expect GA to under-count. It's not broken; it's missing the events that never fired.

Underneath all four discrepancies is one missing capability: a single view of the customer that every tool could agree on, because it counts the person, not the platform's slice of them. That's what we built Chapter to be — one resolved identity per customer, so a sale is counted once, attributed across the whole journey, and reconciled against the revenue you actually banked. The tools stop arguing when there's finally one source of truth underneath them.

Frequently asked questions

Why doesn't Shopify revenue match Google Analytics?
Shopify counts a sale the moment the order is placed. Google Analytics only counts it if its tracking tag fired in the customer's browser, which fails a measurable share of the time because of ad blockers, cookie rejections, closed tabs, and people leaving before the confirmation page loads. GA almost always reports less, and Shopify is closer to your true sales.
Why do my ad platforms claim more revenue than I made?
Each platform counts a conversion whenever it can connect the sale to one of its own ads, and many customers touch more than one. Someone who saw a Meta ad and later clicked a Google ad gets counted by both. Added together, the platforms claim far more revenue than exists, so platform revenue should never be summed.
Which revenue number should I trust?
Your store's actual transactions, the money that reached your bank. Treat every other figure, from analytics or ad platforms, as an estimate of what caused that revenue rather than a count of the revenue itself.
What is revenue attribution?
It's the work of assigning revenue to the marketing that caused it. It isn't a clean factual count but a series of judgment calls: which touch counts, whose tracking fired, which time window applies, and which platform gets to claim the sale. Every tool makes those calls differently, which is why their numbers never match.
Can I fix data discrepancies by changing my settings?
No. The tools apply different rules to different slices of a customer who moved across all of them, so the gaps are structural rather than a setup error. The practical fix is to anchor on real revenue and use a single view of each customer underneath your tools, rather than trying to make the dashboards agree.

Related reading