Measurement Truth

How to fix a Meta pixel that isn't tracking your Shopify sales

A cracked, glitching tracking pixel icon with a red fault line, mid-repair as a clean signal reconnects.
July 1, 20266 min read

If your Meta pixel stopped recording Shopify sales, work through it in order: confirm the pixel is installed and firing, check that the Purchase event actually triggers after checkout, rule out ad blockers and iOS opt-outs with a server-side check, and verify events in Events Manager. Most cases are either a missing Purchase event or a browser-only setup quietly losing data, and both are fixable.

First, separate 'not tracking' from 'under-tracking'

These are two different problems with two different fixes. 'Not tracking' means the pixel records no purchases at all, which points to a broken or missing event. 'Under-tracking' means it records some but fewer than your real orders, which points to data loss from ad blockers, iOS privacy and cookie limits.

Before you change anything, decide which one you have. Compare the Purchase count in Meta Events Manager against real orders in your Shopify dashboard for the same window. Zero versus many is a broken event. Fewer versus many is signal loss. The steps below diagnose both.

Run the diagnostic, in order

Work top to bottom and stop at the first step that fails, that is almost always your problem:

  • Confirm the pixel is installed via Shopify's Facebook & Instagram by Meta channel, and that the base code loads on your store.
  • Place a real test purchase and watch Events Manager Test Events for a Purchase event in real time.
  • If Purchase never fires, the event mapping is broken, common with custom themes or a non-standard checkout.
  • If it fires in Test Events but under-reports on live traffic, you are losing events to ad blockers and iOS, so add server-side CAPI.
  • Check for duplicate or conflicting pixels, two pixels firing at once corrupt the data as badly as none.

The usual culprits in African stores

Some breakages are specific to how African customers actually buy. Orders that close over WhatsApp or through Mobile Money never touch the standard Shopify checkout, so the pixel has nothing to fire on. Payment gateways like Paystack and Flutterwave redirect the buyer off-site to pay, and if they do not land back on the thank-you page, the Purchase event is skipped.

So a pixel that looks broken is often working fine, it just never sees the moment the sale completes. That is a measurement design problem, not a code typo, and it is why browser-only tracking keeps failing in these markets.

Fix it for good with server-side

You can patch the immediate event, but a browser-only pixel will always leak in a market full of ad blockers, redirects and off-platform orders. The durable fix is to rebuild tracking server-side with first-party Meta CAPI, fire the Purchase from a reliable server signal, and reconcile every event against real orders.

That is the Foundation Sprint we run for every brand, and it is the difference between fixing the pixel this week and it silently breaking again next month.

Confirm it is actually fixed

Do not trust that it works because events reappeared. Reconcile the Purchase events Meta received against the real orders in your Shopify dashboard for the same period, and check that event match quality is healthy and that browser and server events are deduplicated rather than doubled.

When the two counts agree and the match quality is solid, your ad account is finally learning from real sales again.

Frequently asked questions

Why is my Meta pixel not tracking purchases on Shopify?+

Usually one of three reasons: the Purchase event is not firing at all (a broken event mapping, often on custom themes or checkouts), the sale completes somewhere the pixel cannot see it (WhatsApp, Mobile Money, or a gateway redirect that skips the thank-you page), or the event fires but is lost to ad blockers and iOS privacy. Compare Events Manager purchases to real Shopify orders to tell which.

How do I test if my Meta pixel is working?+

Open Test Events in Meta Events Manager, then place a real test purchase on your store. If a Purchase event appears in real time, the pixel fires. If nothing appears, the event mapping is broken. If it appears in testing but your live purchase count is far below real orders, you have data loss, not a broken event.

My pixel works in test but not live. Why?+

That pattern means the event is wired correctly but real-world traffic is losing it to ad blockers, iOS App Tracking Transparency opt-outs and cookie restrictions. The browser simply cannot report every purchase. Adding server-side tracking through the Conversions API recovers the events the browser drops.

Can a payment gateway redirect break my Meta pixel?+

Yes. Paystack and Flutterwave hosted checkouts redirect the customer off your site to pay. If they do not return to a thank-you page that fires the Purchase event, the sale is never recorded by the pixel. The reliable fix is to fire a server-side CAPI purchase from the gateway's payment-confirmation webhook instead.

See your real numbers first

Measurement & Attribution runs on the same source of truth we build for every brand. Apply for a paid Measurement Audit and we will show you the gap before we touch a campaign.