Snapchat — Snap Pixel and Conversions API

Server-side conversion tracking for Snapchat Ads. Pair the Snap Pixel ID with a Conversions API token, with optional hybrid mode that loads the browser Snap Pixel for first-party cookies. Deduplicated via event_id within Snapchat's 48-hour window.

Reading time: ~5 minLast updated: 2026-05-09

What you'll need

  • A Snapchat Ads Manager account with Admin or Operator role on the Ad Account.
  • An existing Snap Pixel attached to your domain.
  • About 5 minutes.

1. Find the Snap Pixel ID

  • Open Snapchat Ads Manager at ads.snapchat.com.
  • Events Manager → Web Events.
  • Pick the Snap Pixel for this domain. Create one via + New Pixel if none exists yet.
  • The Pixel ID (UUID-shaped, 36 characters with hyphens) is shown in the Pixel header. Copy it.

2. Generate a long-lived CAPI token

  • On the same Pixel detail page: Settings → Conversions API → Generate token.
  • Snapchat issues a long-lived token, scoped to the Pixel, with the snapchat-marketing-api claim. The token does not expire under normal operation, but can be revoked manually.
  • The token is shown ONCE. Copy it immediately. There is no retrieve-later mechanism, you would have to revoke and regenerate.

3. Paste credentials into Beaconry

WordPress Admin → Beaconry → Tracking → Snapchat. Paste the Snap Pixel ID and the CAPI token, save.

The token is encrypted at rest with AES-256-GCM using your WordPress auth salts. Constants alternative: BCNR_SNAPCHAT_PIXEL_ID and BCNR_SNAPCHAT_ACCESS_TOKEN in wp-config.php.

4. (Optional) Set a Test Event Code

Snapchat's CAPI accepts a test_event_code field per event. In Events Manager → Test events, copy the SC_TEST_* code Snap shows for your Pixel. Paste it into Beaconry. While set, every event lands in Test events instead of going live. Remove the code before launching a campaign.

5. Send the test event

Click Send Snapchat test event. Beaconry fires a synchronous PAGE_VIEW through CAPI and reports the response inline.

HTTP 200 with "status": "SUCCESS" means credentials work. With Test Event Code set, the event lands in Events Manager → Test events within a few seconds. Without the test code, Snapchat aggregates with up to 30 minutes of latency before the event surfaces in reporting.

About the click identifier

Snapchat appends ?sc_at=... (the Snap Click ID) to every ad-click landing URL. Beaconry captures it on first page-load and persists it in the nl_ext cookie alongside fbclid, gclid, ttclid and msclkid. Every server-side event then includes click_id for accurate attribution. Without an sc_at on the visitor's session, Snapchat falls back to hashed-PII matching (email, phone) which still works but at lower confidence.

Hybrid mode — Snap Pixel

Server-side CAPI alone covers 100 percent of consenting visitors. Hybrid mode loads the browser Snap Pixel (sc-static.net/scevent.min.js) in parallel so Snapchat sees the visitor's first-party _scid cookie. Beaconry sends the same per-event event_id from both sides. Snapchat deduplicates against double-counting within a 48-hour window.

Toggle in Beaconry → Tracking → Snapchat → Hybrid mode. Better match-rate, slightly more bytes shipped to the visitor. Off by default.

What ships automatically

Beaconry maps GA4 canonical events to Snapchat's standard event vocabulary:

Beaconry eventSnapchat event
page_viewPAGE_VIEW
view_itemVIEW_CONTENT
searchSEARCH
WooCommerce add_to_cartADD_CART
WooCommerce begin_checkoutSTART_CHECKOUT
WooCommerce add_payment_infoADD_BILLING
WooCommerce purchasePURCHASE (with order value + currency)
Form generate_leadSIGN_UP

All payloads carry hashed PII (em, ph, ge, age, fn, ln, ct, st, zp, country) plus first-party identifiers (_scid when available, IP and User-Agent).

Troubleshooting

  • "AUTHORIZATION_FAILED": token revoked or generated under a different Pixel. Regenerate on the Pixel's Settings page and replace in Beaconry.
  • "INVALID_PIXEL_ID": the Pixel ID is missing the UUID hyphens. Snap accepts only the canonical UUID format. Re-copy from Events Manager and paste with hyphens.
  • Events accepted but no attribution: visitor never landed with ?sc_at=.... Direct visits don't have one. Snapchat's PII fallback needs hashed email or phone in the event, which Beaconry sends automatically when WooCommerce or a form provides them.
  • Counter spikes after enabling hybrid mode: dedup runs across a 48-hour window per event_id. Verify the same ID is logged in both Beaconry and the Snap Pixel debugger for the same session.