Snap Pixel not firing: how to find out why
If Snapchat shows no pixel events, check in this order: the scevent.min.js script loads, snaptr("init") runs with your pixel ID (a UUID), the events after it use Snap's upper-case names, your consent tool releases the pixel after "accept", and nothing blocks tr.snapchat.com. If events arrive but conversions do not appear in reports, the pixel works and the question is attribution.
Check your own site: the free scan tells you in about a minute whether this problem is on your page.
See what the browser sends
Open your site in a private window with DevTools on the Network tab, filter on snapchat, accept the cookie banner and reload. A working pixel shows scevent.min.js from sc-static.net, then one or more requests to tr.snapchat.com carrying your pixel ID (pid) and the event (ev=PAGE_VIEW). The Snap Pixel Helper extension shows the same thing per page. Where the trail stops tells you which section below applies.
The script never loads
- Your consent tool never releases it. The pixel is in the marketing category, but the "accept" event that should load it is not wired up, or the category was renamed. Accept the banner and check whether
scevent.min.jsappears; if not, look at the tool's script blocking settings. - A Content Security Policy blocks it. The Console shows "Refused to load the script" for
sc-static.netor "Refused to connect" fortr.snapchat.com. Add both to the policy. - The GTM tag does not fire. Open GTM Preview: a tag that is paused, has no trigger, or waits for a consent type that is never granted shows under "Tags Not Fired".
- The install was on a template that is not used. Shop themes have separate templates; check product, cart and checkout pages, not just the home page.
The script loads, but nothing is sent
The base code must initialise the pixel before any event:
snaptr('init', '1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d', {});
snaptr('track', 'PAGE_VIEW');
- Wrong ID: the Snap pixel ID is a UUID from Events Manager. An ad account ID or an organisation ID in its place sends nothing useful.
- No init, or init after track: events called before
snaptr('init', …)have no pixel to go to. - Init skipped on some pages: a PAGE_VIEW in the template but the base code only in the header of the home page.
Events are sent, but not as Snap events
Snap's standard events are upper case with underscores: PAGE_VIEW, VIEW_CONTENT, ADD_CART, START_CHECKOUT, PURCHASE. Purchase or purchase arrives as a custom event, which does not count for purchase optimisation. A purchase also needs price and currency to report revenue; see the Snap Pixel page for the full call.
Some visitors are never tracked
Ad blockers and privacy browsers (Brave, Firefox strict mode, uBlock Origin) block tr.snapchat.com for part of your traffic, so the pixel alone always undercounts. Snap's Conversions API sends the same events from your server; with matching deduplication IDs on both sides, Snap counts each event once.
Events arrive, but no conversions in Ads Manager
Then the pixel works. Conversions only show for Snapchat users Snap can match to an ad swipe or view within your attribution windows, and reports lag the Events Manager view. Compare event counts in Events Manager with your own orders before changing the pixel.
What the scan tells you
The free scan reports "Snap Pixel loaded, but we saw no events" when the script loaded and no event followed during our visit, even after accepting cookies. That finding is informational on purpose: some sites hold back events for automated browsers or data-centre traffic, so confirm in Events Manager that real visitors' events arrive.
Sources
- Snapchat: Getting started with enabling the pixel
- Snapchat: Directly implement the pixel on your website
- Snapchat: Testing with Snap Pixel Helper
- Snap developers: Conversions API deduplication
Based on the platforms' public documentation; menus and names change, so check the linked pages if a step looks different.