Skip to content
FLOWPILOTS

GUIDE

Why your Meta pixel stopped firing

- Brad Raimer, founder

A Meta pixel that stops sending events breaks nothing a visitor can see. The page still loads and the form still submits. The only sign is a conversion count that goes quiet in Ads Manager. This guide walks the checks in order, using Meta's own tools and documentation.

Start with Meta's own checker

Meta's Chrome extension for this job is now called Meta Ads Data Advisor; it used to be the Meta Pixel Helper. Open the page that should carry the pixel and the extension reports one of three states. Active means the pixel is working. Warning means it is there but set up wrong. Inactive means it is not sending events correctly.

Meta's test is short. Turn off your ad blocker for the site, open the extension, then do the thing you want tracked yourself: submit the form, add the item to the cart. The pixel should appear with that event marked successful. If it shows an error or a warning instead, the extension names the fix.

The setup mistakes Meta lists

Meta lists a handful of setup errors. One is the code installed twice on one page, for example once by hand and once through a tag manager or a site plugin. Another is the base code sitting in the wrong place: Meta asks for it inside the page's <head>. A tag manager or an iframe can also leave the pixel where a browser setting or a privacy tool blocks it. Finally, Meta expects one conversion event per page, unless the extra events come from actions such as a button click.

Two causes the page itself can hide

A consent banner is the first. A site that asks before tracking holds the pixel back until the visitor allows it, so a test from a fresh browser that never clicked Allow sends nothing. Test again after choosing Allow before you call the pixel broken.

A Content Security Policy is the second. The pixel's base code loads its library from connect.facebook.net and reports to www.facebook.com. A policy controls which scripts a page may load, and the browser blocks one from a source the policy does not allow, as MDN's guide to CSP sets out. A security change made for other reasons can switch a pixel off this way.

When the server sends events too

A site that also sends conversions from its server, through Meta's Conversions API, sends each one twice: once from the pixel in the browser and once from the server. Meta counts the pair once only when they match. The pixel's eventID has to equal the server's event_id, the event names have to match, and the second copy has to arrive within 48 hours of the first, according to Meta's guide to duplicate events. If the IDs stop matching, Meta has nothing to pair the two copies by and counts both.

To check a page from outside, the FlowPilots free scan reads one public page the way a browser does: which analytics and ad tags it is set up to load, and whether its own headers let them run. It needs no account and nothing installed on the site, and what it cannot observe is named rather than guessed.

Works cited

All posts