Settl.

Tracking / Troubleshooting · Meta · Shopify

Meta Ads Manager shows more purchases than Shopify? Here's why

Your store had 30 orders last week, and Ads Manager says Meta brought in 41. That looks impossible, but it usually isn't a bug: Meta and Shopify count different things on different dates. Sometimes it is a real problem, though, mostly a purchase that's sent twice. Here's how to tell which one you have.

Different questions

Shopify counts orders. Meta counts purchases it can credit to an ad within a window, including some from people who only saw it.

Different dates

Ads Manager can put a purchase on the day the ad was seen, not the day the order was placed.

One real bug

If a browser pixel and a server event don't share an event id, one sale shows up as two.

Is it really more? Check the comparison first

Before you change any tracking, make sure the two numbers are measuring the same thing. Many 'Meta over-reports' gaps disappear here.

  • Look at the purchase count, not the conversion value. Value differences have their own causes, such as shipping, tax and discounts.
  • Compare a full week, not one day. Your ad account and your store can each have their own time zone, which moves late-evening orders to another day.
  • Add up all campaigns, but use one attribution setting for all of them. Mixing settings across ad sets makes the total meaningless.
  • Leave out today. Purchases keep arriving and being attributed for a while after the day ends.

Reason 1: the attribution window counts views as well as clicks

Ads Manager doesn't ask 'which orders came from Meta?'. It asks 'which purchases happened within a set time after someone clicked or saw one of our ads?'. Meta's Insights API documentation lists 7-day click and 1-day view as the default windows for reading results (checked November 2026).

The view part is where most extra purchases come from. Someone scrolls past your ad, doesn't click, later searches your brand on Google and buys. Shopify gives that order to Google or Direct. Meta also counts it, because the purchase happened within a day of the ad being shown. Google, TikTok and your email tool may claim the same order too. Every platform counts its own share, and the shares overlap.

To see how much of the gap this is, use the Compare attribution settings option in Ads Manager's columns and look at click-only results next to your current setting. If click-only purchases are close to your Shopify orders from Meta, the gap is attribution, not a tracking error.

Reason 2: Ads Manager reports purchases on the impression date

Meta can report a conversion on the day of the ad, not the day of the purchase. Its API documentation gives the example of an ad seen on January 1 and a purchase on January 2: reported by impression time, the purchase shows on January 1. Shopify always reports the order on the day it was placed.

Over a single day or a short date range this moves purchases in or out of the period you're looking at. It often explains why yesterday looks inflated in Ads Manager while the full month lines up much better.

Reason 3: the same purchase is sent twice

This is the one that's a real problem, because Meta's algorithm learns from inflated numbers. It happens when two sources report the same sale and Meta can't tell they're the same.

Meta's Conversions API documentation says a browser event and a server event are only treated as one when they have the same event name and the same event id. If your pixel sends one id and a server integration sends another, or none, Meta can count both.

  • Shopify's Facebook & Instagram app plus a second tracking app or a custom pixel sending purchases to the same pixel id.
  • An old snippet in a theme file or a leftover tag manager tag that still fires a Purchase event.
  • A server integration that doesn't send the event id the browser pixel used.
  • A thank-you page that fires Purchase again when the buyer reloads it or opens it later from the order email, without a fixed event id.

Reason 4: refunds, cancellations and test orders

A purchase that was sent to Meta stays in Ads Manager after you refund or cancel the order in Shopify. Shopify's reports take the refund off. On stores with many returns, Meta will run higher for that reason alone.

Test orders can do the same: if a test order went through a page with a live pixel, the purchase may have reached Meta while Shopify leaves it out of your sales.

How to find double counting in 15 minutes

  • Install the Meta Pixel Helper browser extension, place a test order and check how many Purchase events fire on the thank-you page. More than one is a red flag.
  • In Events Manager, open your pixel, then the Purchase event, and look at the browser and server rows. You want both, with deduplication working, not two browser sources.
  • Reload the thank-you page. If a new Purchase fires each time, that's a source of extra purchases.
  • List every app and snippet that knows your pixel id: the Facebook & Instagram app, tracking apps, custom pixels in Customer events, theme code and tag manager. Keep one source per event.

What Settl changes, and what it doesn't

Settl sends each purchase from the browser pixel and from the server with one shared event id, so Meta counts it once. It only sends paid orders, and its hourly check sends purchases the webhook missed in the last 7 days, matching how far back Meta accepts events. An e-mail alert tells you when sending to a platform breaks.

It won't make Ads Manager equal Shopify. View-through credit, the impression-date reporting and other channels claiming the same sale are how Meta measures, not tracking errors. Settl also doesn't send refunds or cancellations to Meta. And if another app keeps sending purchases to the same pixel, you'll still need to switch that one off.

Pricing

Monthly, cancel any time. No contract, no fee per order from Settl.

99,9% Tracking

Keep Shopify's checkout. Every paid order sent server-side to Meta, TikTok, Google, Snapchat and Pinterest.

$44.99/ month · first 10 days free, no card needed

Start with 99,9% Tracking

Pro

Your own checkout plus 99,9% Tracking and ROAS per ad, in one plan.

$54.99/ month · first 10 days free, no card needed

Start with Pro

Questions

Is it normal for Meta to show more purchases than Shopify?+

It can be. With view-through attribution, Meta credits purchases from people who saw an ad without clicking, and other channels may claim the same orders. Compare click-only results with your Meta orders in Shopify to see whether the gap is attribution or double counting.

Which number should I trust?+

Shopify for how many orders and how much revenue you actually had. Ads Manager for comparing ads and campaigns with each other. Just don't add up the sales every platform claims, because they overlap.

Should I switch off view-through attribution?+

That's a decision about how you want to judge your ads, not a tracking fix. Looking at click-only results next to your current setting is a good way to see how much of your reported results depend on views.

How do I know if purchases are counted twice?+

Place a test order with the Meta Pixel Helper on and check Events Manager. Two Purchase events from the browser, or a browser and a server event with different event ids, mean double counting. Our deduplication guide goes through it step by step.

Meta shows fewer purchases than Shopify instead. Is that the same problem?+

No, that's the opposite: purchases that never reached Meta, usually because of ad blockers, consent or a thank-you page that didn't load. Our guide on why the Meta pixel misses sales covers that direction.

Which Settl plan includes Meta server-side tracking?+

Server-side tracking is in 99,9% Tracking (€39,99/month after 10 days free) and Pro (€49,99/month after 10 days free).

Related

All guides and comparisons →

Every sale back to your ads.

Get started
Meta shows more purchases than Shopify? Why · Settl