Your Meta Pixel is loading. That is not the same as firing.
A Meta Pixel can load on every page and still send no events. Why Events Manager says installed, the four usual causes, and a 30-second network check.
T The CROMagnet team, Store audit research 3 min read Updated
There is a failure mode in Meta Pixel installs that almost nothing catches, because almost everything that checks a pixel checks the wrong thing.
The usual check is: is the pixel script on the page? It looks for fbevents.js,
or for the fbq( initialiser, or for your pixel ID in the HTML. All three are easy
to find, all three will be there, and all three will be there on a store that has not
sent Meta a single event in four months.
Loading the library is not the event. The event is a separate network request.
What a working pixel actually does
A healthy pixel does three things in order:
- Loads
fbevents.jsfromconnect.facebook.net. - Runs
fbq('init', '<your id>'). - Runs
fbq('track', 'PageView'), which sends a request tofacebook.com/trcarryingev=PageViewand your pixel ID.
Step 3 is the one that matters, and it is the one that silently goes missing. The library is still there. The ID is still in the page. Your theme still shows the pixel as configured. Nothing looks wrong anywhere you would think to look.
How it breaks
Every cause we have seen is boring, which is exactly why it survives:
- A consent banner that blocks by default and never unblocks, because the "accept" path was wired to a category the pixel was not in.
- A tag manager container that initialises the pixel but has no PageView tag, usually after someone removed a duplicate and removed the wrong one.
- A JavaScript error earlier in the page that stops execution before
fbq('track')runs. The library loaded from a separate<script>tag, so it survives; your inline init does not. - An ad blocker assumption baked into a theme, where the track call sits behind a condition that is never true.
In all four cases Meta's own Events Manager will show the pixel as installed and show zero events, and the two facts sit on different screens.
How to check it in thirty seconds
Open your store, open the network tab, filter for facebook.com/tr, and reload.
- A request appears with
ev=PageView— you are fine. - Only
fbevents.jsappears — the pixel is loading and not firing. - Nothing appears at all — either there is no pixel, or something is blocking it before it loads. Both are findings, and they are different findings.
One wrinkle if you go looking manually: the PageView request is often a POST with an empty query string, and the event name lives in the request body rather than the URL. Filtering on the URL alone will make a firing pixel look dead. Look at the payload.
Why this one matters
A store with no Meta Pixel at all is not broken. Plenty of stores do not advertise on Meta.
A pixel that loads and never fires is different. Someone decided to measure something, believes they are measuring it, and is not. Every audience built from that pixel is empty, every conversion optimisation campaign is optimising against nothing, and every report built on it is wrong in a direction nobody will question.
That is the finding worth having: not "you should install a pixel", but "the pixel you already installed has sent nothing."
Frequently asked questions
Why does Meta Events Manager show my pixel as installed but with no events?
Events Manager confirms that the base code was found on a page. It does not confirm that the PageView request leaves the browser. A consent banner, a script error or a missing tag in your tag manager can stop that request, so the install check passes while the event count stays at zero.
How do I check whether my Meta Pixel is firing?
Open your store, open the browser's network tab, reload, and look for a request to facebook.com/tr. A working pixel sends it on every page load. If only fbevents.js appears, the library loaded and nothing was sent. The Meta Pixel Helper extension shows the same thing without reading the network list.
Why does the pixel work for me but not for visitors?
Check consent behaviour first. If your banner blocks the pixel until a visitor accepts, and the accept path is not wired to it, nobody who accepts will ever fire an event. Test as a fresh visitor in a private window, once after accepting and once after declining.
Check your own store
Run the audit on your store
200+ checks in under two minutes. Free, no signup.