Veracend

Why does Meta show more purchases than Shopify?

Short answer

Meta counts a purchase for an ad up to 7 days after a click or 1 day after a view, even when the buyer came back through Google or email, and it places the sale on the day of the ad, not the order. A small, steady gap is normal; a gap that jumps on one date usually means a tracking change, such as a pixel loading twice.

By , founder of Veracend · Updated

Why it happens

  • The attribution window. Meta’s default credits a sale to an ad for 7 days after a click and 1 day after a view. Shopify only records the order. If a shopper saw your ad, then bought through a Google search, both Meta and Google may claim the same order.
  • Sales dated to the ad, not the order. Ads Manager reports a conversion on the day of the click or view. An order placed on Tuesday after Saturday’s click shows on Saturday in Meta and Tuesday in Shopify.
  • The same sale counted twice. Old pixel code left in the theme, a second tracking app, or browser and server events sent without a shared event ID can all double a purchase.
  • Modelled conversions. When Meta can’t observe a conversion directly (for example from iPhone users who opted out of tracking), it may add modelled results. These never appear in Shopify as distinct orders.
  • Different time zones. If the ad account and the store use different time zones, every “day” covers different hours.

How to fix it

  1. Compare on the same windowIn Ads Manager open Columns › Compare attribution settings and add “7-day click”. Judge ads on click-based purchases next to your normal results. This changes reporting only, not delivery.
  2. Match the time zonesCompare Shopify’s Settings › General › Time zone with the ad account’s time zone in Meta Business Settings. If they differ, compare weekly totals rather than days.
  3. Remove a second pixelIn Online Store › Themes › Edit code, search theme.liquid for “fbq(”. If you also use Shopify’s Facebook & Instagram app, remove the old snippet and keep the app.
  4. Check for a second tracking appIn Settings › Customer events, list every pixel that sends Meta events. Keep one source for Purchase.
  5. Compare with real ordersExport 30 days of Meta purchases by day and Shopify orders by day (Online Store channel, no test or cancelled orders). Look for the date where the gap changes.

Check it worked

In Events Manager › Test events, place a test order. Purchase should appear once. If it shows from both Browser and Server, it should be marked as deduplicated.

Common questions

How big a gap between Meta and Shopify is normal?

There is no official figure. What matters is whether the gap is steady. A gap that stays about the same week to week is usually attribution; one that jumps from a specific date usually means something in the tracking setup changed that day.

Should I trust Meta or Shopify?

Use Shopify for how many sales you made and how much money came in. Use Meta to compare ads with each other, ideally on 7-day click so you’re not counting view-through sales.

Does changing the attribution setting on the ad set fix the gap?

It changes what Meta optimises for, which can change delivery and results. To change only what you see, use the comparison columns in reporting instead.

Can Meta count Shopify draft orders?

Merchants report that it can when the purchase reaches Meta through the server connection. If the gap rises on days you create draft orders, that is the likely reason.

See what your own store is losing.

Paste your store address for a free check in under a minute. No login and no app to install.