Muze AI
PlatformMuze MCPLiteResultsPricingTalk to SalesStart free trial

Answer

Why does Meta report more revenue than Shopify?

Because they count differently. Attribution windows, view-through conversions, cross-channel overlap and duplicate events all inflate platform revenue against the orders in your store.

Short answer

Because they are counting different things, not because one of them is lying. Meta credits a purchase to an ad when the buyer clicked it inside the attribution window, and by default also when they merely saw it. Shopify counts each order once. Add Google and email claiming the same orders and your channel reports will always sum to more than the revenue your store actually took.

The causes, in rough order of size

  • Attribution windows. Meta's default credits a purchase up to seven days after a click and one day after a view. An order Meta touched last Tuesday gets booked against Tuesday's spend even if the customer actually bought after a Google search on Sunday.
  • View-through conversions. Someone scrolled past your ad and later bought from an email. Meta counts it as a Meta conversion. Shopify calls it email.
  • Cross-channel overlap. Each platform claims the whole order. Two platforms claiming one $100 order produce $200 of reported revenue against $100 of real revenue.
  • Modelled conversions. Platforms estimate the conversions they can no longer observe directly. Estimates are useful for optimization and they are not orders.
  • Duplicate events. A browser pixel and a server-side Conversions API event for the same purchase, without a shared event ID to deduplicate them, count the sale twice.
  • Value definition. Whether your purchase event sends the order total with tax and shipping or just the subtotal changes the number before attribution even starts.
  • Refunds and cancellations. Shopify nets these out. The ad platform generally does not.
  • Timezone. Ad platforms report in the ad account's timezone, which may not match your store's, so daily figures never quite line up.

Which number to trust

Shopify is the cash. It is the only figure your bank agrees with. Platform revenue is an attribution claim: useful for deciding which ad to scale, and useless for deciding whether the business made money this month.

You have four tabs open and three of them disagree about what your revenue was yesterday. That disagreement is structural, and no amount of staring at it resolves it. The practical answer is to stop reconciling per platform and use one blended number: total ad spend across every channel against total store revenue. Blended cannot be double-counted because there is only one denominator.

How to narrow the gap

  • Align attribution windows across platforms so at least you are comparing like with like.
  • Check your event deduplication. If you run both pixel and Conversions API, confirm a shared event ID is being sent.
  • Align the ad account timezone with the store timezone, or accept a permanent one-day smear.
  • Decide what the purchase value means, and make every channel send the same definition.
  • Exclude test and staff orders from the events you send.

You will never close the gap completely, and chasing zero will cost you a quarter. The goal is a stable, understood gap that you can reason about month to month.

Doing this without four exports

This reconciliation is mostly manual work: pull each platform, pull Shopify, line up the dates, argue with yourself. It is the exact job a connected assistant is good at, because the hard part is fetching and aligning rather than judging.

Muze connects Meta Ads, Google Ads, Amazon Ads and Shopify through one connection, so blended spend against real store revenue comes out of a single question. Shopify stays read-only commerce data. Supporting definitions are in the glossary: attribution window and blended ROAS.

Related questions

Is Meta lying about my revenue?
No. Meta is reporting conversions its attribution rules credit to your ads, including view-through and modelled conversions. Shopify is reporting orders. Different definitions, both internally consistent.
How big should the gap between Meta and Shopify be?
We are not going to publish a number we cannot source, and neither should anyone else. What matters is that the gap is stable month to month. A sudden change in the gap is a signal worth investigating; the gap itself is normal.
Does Google Ads do the same thing?
Yes. Google uses its own attribution model and also reports modelled conversions, so Google's revenue figure will not match your store either, and it will overlap with Meta's.
Should I turn off view-through attribution?
You can change the attribution setting at ad set level. Be clear about what that does: it changes the number you are reported, not the performance underneath it. It makes reporting more conservative, which is often worth it.
What is MER?
Marketing efficiency ratio: total revenue divided by total ad spend across all channels. It is the blended view, and because there is only one denominator it cannot be double-counted the way per-platform ROAS can.

Keep reading

Other answers

See every answer

Ask your own account instead

Muze connects Meta Ads, Google Ads, Amazon Ads and Shopify to ChatGPT or Claude, so the answer comes from your numbers rather than a general one. Free to start, and every write previews before it runs.

See how Muze works