Meta pixel not firing or purchase not showing up: how to diagnose
Published by the UTM Builder team at Limner.
Split the problem in two. The Meta Ads Data Advisor extension (formerly Meta Pixel Helper) shows whether the pixel loads on the page. Test Events, in Events Manager, shows whether the event reached Meta. When one sees it and the other doesn’t, you already know which half of the path to look in.
1. Does the pixel load?
Data Advisor is a free Chrome extension. Open the page, turn off your ad blocker for that site and click the icon. If the icon shows no number, there’s no Meta pixel installed on the page. The extension shows the pixel as Warning (set up incorrectly) or Inactive (not sending events), and it warns you when the code is duplicated on the same page.
- Compare the ID the extension shows with the one in Events Manager. The base code has the ID in two places, and both must be the right pixel’s ID.
- The base code goes in the
<head>of every page you want to measure. It fires aPageViewon every load, and Meta asks you not to remove that call. - According to the installation docs, the sign that it worked is a new
PageViewin the pixel’s details in Events Manager. If it doesn’t show up, wait a few minutes and refresh.
2. Does the event arrive?
Open Test Events (Events Manager, Data sources, your pixel) and perform the real action: add to cart, start checkout, buy. For server events, the API sends the test code in test_event_code; remove that field when you’re done.
Meta itself warns that Data Advisor may not detect button click events, depending on how the site was built. If the extension doesn’t show the click event, confirm in Test Events before you touch the code.
3. GTM and consent
If the pixel lives in Google Tag Manager, click Preview in the workspace, connect the site in Tag Assistant and repeat the action. Debugging shows whether the tag fired, which trigger fired it and why it didn’t fire. Anything you fixed only takes effect on the site after you publish the version.
With a cookie banner, the pixel may be paused. Meta documents fbq('consent', 'revoke') before init to pause sending and fbq('consent', 'grant') when the person accepts. If the banner never calls grant, nothing goes out. Test by accepting and by declining, and see what arrives in each case.
4. Event on the wrong page
- In Meta’s example, Purchase is called when the purchase confirmation page loads. Purchase on the Buy button click measures intent, and it counts people who give up at payment.
- For Purchase, the parameters table marks
valueas required. Sendcurrency: 'BRL'as well. - A URL-based custom conversion only works if the action can be identified by a part of the URL that belongs to it alone. A thank-you page with the same address as the checkout won’t work.
- A GTM trigger with an overly exact URL fails when the page picks up a UTM, a trailing slash or
www. Prefer a condition that looks for a stable part of the path.
5. Pix, boleto and per-product pixels
On digital product platforms, a purchase that doesn’t show up often was never paid in the first place. On Kiwify, a Brazilian platform for selling digital products:
- The pixel is set up on each product, up to 50 per product. A pixel on the wrong product receives nothing.
- Purchase fires when a card or Pix (Brazil’s instant payment system) payment is approved. A declined card doesn’t generate Purchase, and a generated boleto (a Brazilian bank payment slip) doesn’t fire Purchase by default.
- Each pixel has a firing domain, which must be the same domain verified on Facebook.
- The Conversions API is also set up per product, and Kiwify asks you to repeat the process for every new product.
If the pixel works and Purchase shows up twice, the problem is a different one: see duplicate purchases in the Pixel and the API.
Official sources
- Meta: Meta Ads Data Advisor (formerly Pixel Helper)
- Meta Pixel: Get Started
- Meta Pixel: Conversion Tracking
- Meta Pixel: General Data Protection Regulation (consent)
- Meta: Using the Conversions API (Test Events)
- Tag Manager Help: Preview and debug containers
- Kiwify: How to set up the Facebook pixel (in Portuguese)
- Kiwify: How to set up the Facebook Conversions API (in Portuguese)