Fix guides

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.js appears; 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.net or "Refused to connect" for tr.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

Based on the platforms' public documentation; menus and names change, so check the linked pages if a step looks different.