Why Shopify and Meta Ads Manager show different numbers
Last updated 3 November 2026
Every store owner I talk to eventually asks the same question: which number is real, the one in Shopify or the one in Ads Manager? The honest answer is that they’re measuring slightly different things, so some gap between them is normal. The job is knowing how big a gap is normal, and when it’s actually a tracking problem.
Attribution windows: 7-day click, 1-day view
By default, Ads Manager credits a purchase to an ad if someone clicked it within the last 7 days, or saw it (without clicking) within the last 1 day, before buying. Shopify doesn’t do attribution at all — it just records that an order happened. So if a customer clicks your ad on Monday and buys on Thursday, Ads Manager will show that sale against Monday’s ad spend, while Shopify shows it as a Thursday order. Over a week, this alone will shift the totals you see if you compare the wrong date ranges.
View-through conversions
The 1-day view window means Ads Manager will also count someone who scrolled past your ad, never clicked, and bought within a day anyway. That’s a real signal worth knowing about, but it’s a different kind of credit than a click-through sale, and it’s one more reason Ads Manager’s purchase count can run higher than what you’d expect from clicks alone.
Time zone and currency differences
Ads Manager reports in your ad account’s time zone. Shopify reports in your store’s admin time zone, which isn’t always the same one. An order placed at 11:40pm can land on different calendar days in each tool. If you sell in multiple currencies, check that you’re comparing like for like too — Ads Manager converts everything to your account currency, and a quick glance at two revenue totals in different currencies will look like a mismatch that isn’t really there.
Refunds
Shopify nets refunds out of your sales totals automatically. Ads Manager generally keeps the original Purchase event unless you explicitly send a refund or subtract event back through the Conversions API. If you have a return-heavy product and you’re not sending refund events, Ads Manager will keep crediting revenue for orders that no longer exist on the Shopify side.
Duplicate events and blocked browser events
Two more common causes work in opposite directions. If your Pixel and Conversions API aren’t deduplicated, Ads Manager counts some orders twice, inflating its number above Shopify’s (see the separate guide on fixing that). Going the other way, ad blockers, Safari’s tracking prevention, and customers who simply close the tab before the Pixel fires will all cause some real orders to never show up in Ads Manager at all, which pulls its number below Shopify’s.
Modelled conversions
Since Apple’s App Tracking Transparency changes, Meta fills in some of the purchases it can’t directly observe using statistical modelling, based on the data it can see. These modelled conversions are included in your Ads Manager totals without being labelled order by order, which is another reason the number won’t tie back one-to-one to a list of Shopify order IDs.
What to compare, and what’s normal
Don’t compare Ads Manager’s purchase count for "today" against Shopify’s orders for "today." Compare a full week, after it’s had a couple of days to settle, since Meta updates attributed conversions as more data comes in. As a rough guide, a gap of under 10-15% in either direction, consistent week to week, is usually just the normal mix of attribution windows, refunds and some lost browser events. A gap that’s large, growing, or Ads Manager showing noticeably more purchases than Shopify processed, points to a deduplication problem rather than normal measurement noise.
A simple weekly check
- Pick a full calendar week that ended at least 2 days ago, so the numbers have settled.
- Pull Shopify’s order count and net revenue for that week from Shopify admin.
- Pull Ads Manager’s Purchase count and purchase value for the same week, in the same currency.
- Write both numbers down somewhere you’ll see again next week, so you’re tracking the gap over time, not just one snapshot.
- If the gap stays roughly the same week after week, leave it. If it widens suddenly, check Events Manager’s deduplication numbers before you change anything else.
If you would rather have someone check it for you, the $150 audit covers this.