Why does Meta report purchases when Shopify has no orders?
Short answer
Purchases on days with no orders at all aren’t an attribution difference: something is sending a Purchase event outside checkout. The usual sources are a Purchase event in theme code, a second tracking app, or an automatic event rule in Meta that turns page views into purchases.
Why it happens
- Purchase code in the theme. A Purchase event pasted into theme.liquid or a product template fires on every page view.
- An automatic event rule in Meta. Meta can create events without code. A rule that matches ordinary pages can send Purchase when someone simply loads the homepage.
- A second tracking app. A tracking or marketing app sending its own Purchase alongside Shopify’s Facebook & Instagram app.
- A traffic campaign optimising on clicks. A traffic campaign reporting a purchases column can still be fed by a faulty event. Purchases from a campaign that never sold anything are a signal, not proof of sales.
How to fix it
- Reproduce itOpen your homepage in a private window with Events Manager › Test events open. If Purchase appears with no order, you have found the problem.
- Find what sent itIn Chrome DevTools › Network, filter for “tr?” and click the request with “ev=Purchase”. Real purchases carry an order value and currency; a bare Purchase on a normal page points to a rule or stray code.
- Turn off automatic eventsIn Events Manager, open your dataset › Settings. If automatic event tracking without code is on, switch it off, then open the Event Setup Tool and delete any Purchase it created.
- Remove stray code and appsSearch the theme for “Purchase” and “fbq(”. In Settings › Customer events, remove any extra pixel that sends Purchase. Keep Shopify’s Facebook & Instagram app as the only source.
- Clean up after itRebuild any audiences based on purchasers from your Shopify customer list, and note the fix date in your reporting. Meta won’t correct past data.
Check it worked
Repeat the private-window test. You should see PageView only on the homepage, and Purchase only after a real test order.
Common questions
Do fake purchases hurt my ads?
Yes. Campaigns optimising for Purchase learn from the wrong visitors, and audiences built on purchasers are polluted. Expect reported results to drop after the fix: that is the real number appearing.
Why doesn’t the code appear in my theme?
Events created by Meta’s automatic setup or by apps don’t appear in theme code. Check the dataset settings and Settings › Customer events in Shopify.
Should I disconnect the Facebook & Instagram app?
Only as a short test, and not during an important campaign. If Purchase stops when it’s disconnected, the problem is in that connection’s settings; if not, look elsewhere.
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.