# Meta purchase event not firing on Shopify? Find the cause

A check order any store owner can follow when Meta stops getting purchases, gets them twice or gets them with no value, and what each finding means.

_Shaun Brown · October 2, 2026 · https://tagsentry.ai/blog/meta-pixel-purchase-not-firing-shopify_

> **The short answer:** If Shopify still shows orders but Meta doesn't, the pixel probably lived in old checkout code that Shopify has now retired. The other usual causes are a second copy of the pixel, the wrong data sharing setting, or a consent setting holding it back. Place one test order with Meta's Test Events open, and what arrives (or doesn't) tells you which one you have.

## First, check it's really missing

Compare a few days of orders in Shopify with purchases in Meta Events Manager (the part of Meta's ads tools that lists the events your store sends). Meta's ads reports count purchases it can link to an ad, so they're usually lower than your orders.

You're looking for a day purchases stopped, a night they roughly doubled, or purchases arriving with no revenue next to them. Each of those has a different cause.

## The checkout upgrade removed old pixel code

Shopify has moved its checkout to a new system, and the old ways of adding code to the last pages of checkout are gone. A Meta Pixel pasted into those places stopped when your store moved over.

The dates, from Shopify's own docs:

- `checkout.liquid` (the old checkout template) no longer works for the Information, Shipping and Payment pages.
- `checkout.liquid` and "additional scripts" were sunset for the Thank you and Order status pages on August 28, 2025, and the additional scripts box has been view-only since then.
- For stores not on Shopify Plus, the deadline to upgrade the Thank you and Order status pages was August 26, 2026. Script tags on those pages end the same day.

When those pages are upgraded, Shopify replaces the existing customisations on them and doesn't copy the code across. The new home for tracking is **Settings › Customer events**, where apps add "app pixels" and you can add "custom pixels".

If your purchases stopped around one of those dates, start here: look in Customer events and check that a Meta pixel is listed and connected.

## The pixel is installed twice

The Facebook & Instagram app adds Meta's pixel for you. Plenty of stores also have it pasted into the theme from years ago, added again as a custom pixel, or sent by a feed or reviews app.

Two copies usually means every purchase is counted twice. Meta can only merge a browser event and a server event that share the same event ID and name, so two separate installs don't cancel out. Sometimes the copies use two different pixel IDs, and half your data goes to a pixel no ad is using.

## The data sharing setting is too low

In the Facebook & Instagram app, under **Settings › Data sharing settings**, Shopify offers three levels.

- **Standard** sends events from the visitor's browser only, and an ad blocker can stop it.
- **Enhanced** and **Maximum** also send the purchase from Shopify's servers to Meta's through the Conversions API, which a browser ad blocker can't block.

If you're on Standard, some purchases will never reach Meta. If data sharing was switched off during a reconnect, none of them will.

## Consent is holding the pixel back

Shopify pixels respect its customer privacy settings. In places where the law asks first, such as the EEA and the UK, a pixel runs only once the visitor has given the permissions it needs. A new custom pixel needs Marketing and Analytics permission by default.

So a visitor in Germany who ignores the banner places an order and Meta never hears about it. The banner is doing its job there. It's only a problem when the drop is far bigger than your share of ask-first visitors.

If you use a banner app instead of Shopify's own, Shopify asks that it connect to its Customer Privacy API so the visitor's choice reaches its pixels. And if the pixel is in your theme, your banner may hold it for everyone until they click accept.

Our guide to [why analytics dropped after a cookie banner](/blog/why-analytics-dropped-after-cookie-banner) goes into the drop in more detail, and [how Shopify's own banner compares](/compare/shopify-banner) explains what it can and can't see.

## A theme or app change broke it

Tracking often breaks when nobody touched the tracking. A new theme drops the pasted pixel. An app that replaces the cart or adds a post-purchase offer changes the pages a buyer passes through. A reconnect of the Facebook & Instagram app picks a different pixel. We've written about [why tags stop firing silently](/blog/tags-stop-firing-silently) and how long that can go unnoticed.

Match the day purchases changed against your theme history and the apps you installed or updated that week.

## The value or currency is missing

Meta's reference lists `value` and `currency` as required for the Purchase event. Without them a purchase still counts, but it's worth nothing, so return on ad spend falls while orders hold steady.

This usually comes from a hand-built custom pixel that reads the wrong field, or a second install that sends a bare purchase. One store owner on the Shopify forum traced it to server events that arrived without a value while the browser ones were fine.

## How to test, in order

1. **Open Test Events.** In Events Manager, choose your pixel, then **Test events**. It shows events as they arrive, from the browser and from the server, and which ones Meta merged as duplicates.
2. **Place a real test order.** Use a private window with no ad blocker, buy something cheap, then refund it. If you're in the EEA or UK, accept the banner first.
3. **Watch what lands.** Note whether Purchase appears, how many times, from where, and whether it shows a value and currency.
4. **Check the storefront with the browser extension.** Meta Pixel Helper, now called Meta Ads Data Advisor, is a free Chrome extension. It shows which pixels load on a page and flags duplicate pixel code and missing parameters such as `value` and `currency`. Shopify runs pixels in a separate sandbox, so the extension may show less on checkout pages than Test Events does.

## What each finding means

| Symptom | Likely cause | How to confirm |
|---|---|---|
| No Purchase in Test Events at all | Pixel lived in additional scripts or `checkout.liquid` and was removed | Settings › Customer events has no connected Meta pixel |
| Purchase only after you accept the banner | Consent is working as set | Test again from a US connection without a banner |
| Browser Purchase arrives, server one doesn't | Data sharing set to Standard, or off | Facebook & Instagram app › Data sharing settings |
| Purchase arrives twice, not merged | Pixel installed twice | Extension flags duplicate code, or two pixels listed in Customer events |
| Events go to a pixel ID your ads don't use | App reconnected to the wrong pixel | Compare the pixel ID in Test Events with the one in Ads Manager |
| Purchase arrives with no value | Custom pixel or extra install missing `value` | Test Events shows the event without value or currency |
| Stopped on the day of a theme or app change | That change removed or replaced the pixel | Theme history and app install dates |

## Hearing about it the next time

Most of these are quick to fix once you know. Knowing is the slow part: most stores find out when the ads account goes quiet.

TagSentry's [event monitoring](/monitoring) watches events on real visits to the pages its line runs on and shows which tags each event reached. It emails you once the day a key event stops arriving and once when it recovers, and on Pro also when a key event arrives with empty fields.

One limit: Shopify's checkout pages are outside your theme, so our line doesn't load there, and it won't fix a checkout pixel for you. See [how it works for online stores](/use-cases/online-stores).

## Sources

- [Shopify developer docs: checkout.liquid (sunset dates)](https://shopify.dev/docs/storefronts/themes/architecture/layouts/checkout-liquid)
- [Shopify Help Center: upgrading your Thank you and Order status pages](https://help.shopify.com/en/manual/checkout-settings/checkout-extensibility/checkout-upgrade)
- [Shopify Help Center: pixels overview](https://help.shopify.com/en/manual/promoting-marketing/pixels/overview)
- [Shopify Help Center: create custom pixel code](https://help.shopify.com/en/manual/promoting-marketing/pixels/custom-pixels/code)
- [Shopify Help Center: Facebook data sharing](https://help.shopify.com/en/manual/promoting-marketing/analyze-marketing/meta-data-sharing)
- [Shopify Help Center: customer privacy settings](https://help.shopify.com/en/manual/privacy-and-security/privacy/customer-privacy-settings/privacy-settings)
- [Meta for Developers: Meta Ads Data Advisor (formerly Meta Pixel Helper)](https://developers.facebook.com/docs/meta-pixel/support/pixel-helper/)
- [Meta for Developers: Meta Pixel standard events reference](https://developers.facebook.com/docs/meta-pixel/reference)
- [Meta for Developers: deduplicate pixel and server events](https://developers.facebook.com/docs/marketing-api/conversions-api/deduplicate-pixel-and-server-events)
- [Meta for Developers: Conversions API, the Test Events tool](https://developers.facebook.com/docs/marketing-api/conversions-api/using-the-api)
