Facebook pixel not working on Shopify: 7 causes and fixes

Updated

A Shopify pixel that reports "No activity yet" is usually installed correctly but never reached, and the cause is almost always one of seven things: the pixel ID is wrong, checkout events cannot fire, an ad blocker is eating the request, two installs are duplicating events, the pixel sits in the wrong Business Manager, a theme update wiped the snippet, or you are looking at the wrong date range.

Start by narrowing where it breaks

Before changing anything, work out whether the pixel fires on the storefront, on the cart, or not at all. Open a product page with Meta Pixel Helper. If you see PageView and ViewContent, the base install is fine and your problem lives further down the funnel. If you see nothing at all, the base install is the problem.

That single check splits the seven causes below into two groups and saves you from rewriting a working install.

Cause 1: the pixel ID does not match

Copying an ad account ID instead of a pixel ID is common, and the two look similar. Pixel IDs are 15 or 16 digits and appear under Data Sources in Events Manager. If the digits do not match exactly, events are being sent into a pixel you are not looking at.

This also happens after an agency handover. The pixel on the store belongs to the old agency Business Manager, and the pixel you are checking is the new one.

Cause 2: no Purchase because checkout is out of reach

This is the most common version of "the pixel works but there are no conversions". Shopify hosts checkout on its own domain and blocks arbitrary scripts there. A pixel pasted into theme.liquid covers your product and cart pages, then stops at the checkout door.

The fix is to install through the Web Pixels API rather than the theme, which is what a pixel app does. Shopify then fires checkout_completed inside its own sandbox and the Purchase event reaches Meta with the order value attached.

Cause 3: ad blockers and iOS privacy

Browser-side tracking is the part of the stack you control least. Safari caps first-party cookie lifetime, iOS App Tracking Transparency removes the identifiers Meta matched on, and roughly a third of shoppers run some kind of blocker. Those events are not delayed, they are gone.

Server-side tracking is the answer here. The Conversions API sends the same events from Shopify to Meta over a server call that never touches the shopper browser, so a blocked pixel no longer means a lost conversion. Send both, tag them with the same event ID, and Meta deduplicates the pair.

Cause 4: events firing twice

Two installs running at once is the usual story: the Facebook sales channel plus a theme snippet, or an old app you forgot to uninstall. Meta Pixel Helper shows the same event listed twice, and your reported ROAS looks better than your bank account.

Audit every source. Check the Facebook sales channel, your installed apps, Settings then Customer events for custom pixels, and search theme.liquid for fbq. Remove all but one.

Duplicates can also come from browser and server events without a shared event ID. If both copies carry the same event_id value, Meta drops one. If they do not, both count.

Cause 5, 6 and 7: ownership, theme updates and date ranges

A pixel that belongs to a different Business Manager will collect data you cannot see and cannot use for ads. Ask for partner access rather than creating a fresh pixel, because a new pixel starts with no learning history.

Theme updates and theme switches silently drop manual snippets. If tracking stopped on a specific day, compare that date against your theme history before debugging anything else.

Finally, Events Manager defaults to a narrow window and lags around 20 minutes. Widen the date range and use the Test Events tab for anything you did in the last few minutes.

Questions

Why does my Shopify pixel say "No activity yet" when the site has traffic?
Either the pixel ID on the store differs from the one you are viewing, or the install never reached the storefront. Confirm the ID digit for digit, then load a product page with Meta Pixel Helper to see whether any event fires.
Can I fix duplicate Purchase events without removing an app?
Only if both sources send a matching event_id, which lets Meta deduplicate them. Two independent browser installs cannot share an ID, so one of them has to go.

Related guides