← Blog
attributionmeta-adsshopify

Meta Over-Reports by 20–40%. Shopify Under-Reports. Here's What's Actually Real.

Every Shopify store running Meta ads sees different numbers in each dashboard. Here's why they never match, what the real number is, and how to stop arguing about it.

Meta Over-Reports by 20–40%. Shopify Under-Reports. Here's What's Actually Real.

Every week in r/shopify, someone posts the same question: "My Meta dashboard says 4.2x ROAS. Shopify says 2.1x. Which one is real?"

The answer is neither. And both. And that's the problem.

Why Meta over-reports

Meta counts conversions using its own attribution model. If someone sees your ad, scrolls past it, then buys your product three days later through a Google search — Meta claims that sale.

With the default 7-day click / 1-day view window, Meta attributes sales to ads that may have had zero influence on the purchase decision. The result: Meta typically over-reports by 20–40% compared to what Shopify records.

This isn't a bug. It's how attribution models work when they're designed to make the platform look good.

Why Shopify under-reports

Shopify only counts what it can see — and it can't see much.

  • iOS App Tracking Transparency blocks the pixel on ~75% of iPhone traffic
  • Ad blockers prevent tracking scripts from loading entirely
  • Cookie consent banners (required in the EU) suppress tracking for visitors who don't opt in
  • Cross-device journeys break the session chain — someone clicks on mobile, buys on desktop, and Shopify sees two unrelated visitors

The result: Shopify misses 30–40% of conversions that genuinely came from your ads. Privacy blocks don't stop the sale — they stop the measurement.

The real number is somewhere in the middle

The stores that get this right don't try to make the dashboards match. They accept the gap and build a framework:

Use Shopify as your source of truth for actual revenue. Money in the bank doesn't lie. If Shopify says you made £50k this month, you made £50k.

Use Meta for relative comparison. If Campaign A shows 3.2x ROAS and Campaign B shows 1.8x in Meta, Campaign A is almost certainly outperforming Campaign B — even if the absolute numbers are inflated.

Track MER (Marketing Efficiency Ratio) as your real metric. Total revenue ÷ total ad spend. No attribution model, no window games, no platform bias. Just: "For every pound I spent on ads, how many pounds came in?"

The signal gap is the real problem

The mismatch between Meta and Shopify isn't cosmetic — it's operational.

When Meta can't see your conversions, it can't optimise. It doesn't know which audiences convert, which creatives drive purchases, or which campaigns deserve more budget. You're paying for an algorithm that's flying blind.

Server-side tracking (CAPI) closes this gap. Instead of relying on browser-based pixels that get blocked, you send conversion data directly from your server to Meta. The pixel sees 40–60% of purchases. Server-side tracking sees close to all of them.

Better signal in → better optimisation out → lower CPA → higher real ROAS.

The dashboards still won't match perfectly. But when your signal is clean, the gap shrinks — and more importantly, Meta's algorithm actually has enough data to do its job.

What to do this week

  1. Check your Meta Events Manager. Look at Event Match Quality (EMQ) for your Purchase event. If it's below 6, you have a signal problem.
  2. Calculate your MER for last month. Total Shopify revenue ÷ total ad spend across all platforms. This is your real efficiency number.
  3. Stop trying to reconcile dashboards. Accept the gap, use each platform for what it's good at, and focus on the metric that actually tells you if you're making money.

The stores that win aren't the ones with matching dashboards. They're the ones that stopped caring about matching dashboards and started caring about signal quality.

Free audit

Find out what your tracking is missing.

Join the waitlist and get a free Revenue Leak Audit — we'll analyse your store's tracking setup, attribution gaps, and signal loss.

Get my free audit →