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.
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-apiclaim. 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 event | Snapchat event |
|---|---|
page_view | PAGE_VIEW |
view_item | VIEW_CONTENT |
search | SEARCH |
WooCommerce add_to_cart | ADD_CART |
WooCommerce begin_checkout | START_CHECKOUT |
WooCommerce add_payment_info | ADD_BILLING |
WooCommerce purchase | PURCHASE (with order value + currency) |
Form generate_lead | SIGN_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.