Most. Help

Snapchat Conversions API Setup: Token, Match Keys, and Signal Quality

Published Sep 13, 20267 min readIntermediate
Hand-drawn ghost-like window handing an orange key along a dotted pipe to a server and then to a funnel with a check mark, meaning Snapchat Conversions API setup
What you'll learn
  • How to generate a non-expiring Snapchat CAPI token in Business Manager
  • Which match key is mandatory - and what happens without it
  • How to normalize and hash identifiers the way Snap expects
  • How to deduplicate events across pixel, SDK, and API
Intermediate

Snapchat Conversions API Setup: Token, Match Keys, and Signal Quality

What Snap's Conversions API Covers

The Snapchat Conversions API is Snap's server-side intake: events travel from your server to Snap over a direct integration, and Snap positions it alongside the Snap pixel and the App Ads Kit SDK as equivalent ways to feed measurement. Delivered events unlock post-view and post-swipe campaign reporting, and depending on the data shared, they also power custom audience targeting, campaign optimization, and Dynamic Ads. For an affiliate funnel whose conversion happens on an offer page you do not control, this is the only channel that carries the conversion to Snap at all - the general model is the standard conversions API pattern.

Snap's reference documentation is also blunt about the entry ticket, which is where most failed integrations begin: a conversion event without a match key does not get in at all. The rest of this guide walks the documented path - token, required fields, hashing, deduplication, and validation.

Generate a Long-Lived Token in Business Manager

Snap's authentication for advertisers avoids the full OAuth dance: you generate a static long-lived token that does not expire, directly in the Business Manager UI. The documented path is Business Manager, then the OAuth Apps section, where a Conversions API Tokens subsection appears - visible only to an Organization Admin - with a Generate Token button. A third-party OAuth flow exists for platforms integrating on behalf of many customers; a single advertiser running its own funnel does not need it.

Travel-wise, the token goes into the request header exactly like an OAuth token: Authorization: Bearer <token>. One scope rule from the reference deserves a flag on multi-account setups: a token only sends events for pixel and app IDs that belong to the same organization as the token - a token from one org pointing at a pixel from another fails. The same discipline as other networks applies to storage: keep it server-side, as you would any CAPI credential.

Pass a Match Key - or the Event Fails

Snap's requirement is explicit: at least one of the following must be present for the event to be accepted at all - hashed_email, hashed_phone_number, the pair hashed_ip_address plus user_agent, or hashed_mobile_ad_id for app advertisers. A request without any of them errors out; this is the hard gate that separates working integrations from silently broken ones. When available, Snap recommends passing all of the parameters to improve performance.

Beyond the mandatory set, Snap maintains a recommended list that increases match rate - fields sent in addition to the required one. Two of them matter especially for tracked funnels. The click_id parameter takes the value from the landing page URL's &ScCid= query parameter, and Snap encourages passing the full landing URL in page_url alongside it - the same capture-at-click-time discipline as fbclid and ttclid handling. And pixel_id is required for web and offline events, so the event is attributed to the right data source.

Event types are a fixed enum: PURCHASE, START_CHECKOUT, ADD_CART, SIGN_UP, SUBSCRIBE, PAGE_VIEW, SEARCH, and the rest of the documented set, plus five CUSTOM_EVENT_1 through CUSTOM_EVENT_5 slots for anything the enum does not cover.

Normalize, Then Hash with SHA-256

The hashing rule appears twice in Snap's reference because it is where integrations fail quietly: normalize first, hash second. Raw identifiers - plaintext email, phone, IP, mobile ID - must be normalized before being SHA-256 hashed, and the output format is a lowercase hex string. Snap's own example walks an email through it: [email protected] becomes lowercase [email protected], which hashes to a fixed 64-character digest. Snap computes the IP hash from the device's IP - not the server's - and supports both IPv4 and IPv6.

Normalization differences between networks are where a shared payload builder starts to hurt: the general discipline is the same across platforms, and the platform-specific rules are collected in CAPI user data hashing and normalization. For Snap specifically, follow the reference examples rather than reusing another network's preprocessing verbatim.

Deduplicate Across Pixel, SDK, and API

Snap expects advertisers to run several integrations at once, and the reference names the coordination keys. client_dedup_id must be identical across the Snap pixel, the App Ads Kit, and the Conversions API for the same event, and it is honored within a 48-hour scope of the first occurrence - that is the mechanism that stops the same conversion from counting twice across channels. Mechanically it is the same family as pixel and CAPI deduplication in Meta's ecosystem: shared key, shared value, all channels live.

For transaction-level identity, the transaction_id field carries the order ID tied to the conversion, and Snap flags it as an important deduplication field - in a tracker funnel this is naturally the tracker's transaction identifier, which is exactly what a delivery layer forwards. The event_tag parameter adds a free-form label (like weekend sales) for custom event sets.

Validate with Test Events and Watch the Clock

Snap's Test Event mechanism mirrors the payload exactly: a test that would fail in production fails in the test, valid fields stay silent, and errors are shown. On top of hard errors, Snap's reference notes that non-fatal warning messages appear based on the validity and quality of the data provided - a warning is usually a match key or a normalization detail working below strength, and it is the same early-warning value that test events provide in Meta's ecosystem.

The deadline side has more slack than most networks: the event timestamp may not be more than 37 days in the past, and while Snap accepts second- or millisecond-level epochs, it encourages milliseconds. A tracker funnel that batches postbacks can recover a multi-day outage within that window - but a match key without which the event errors out is still the harder constraint.

If you would rather not own the pipeline, MOST delivers tracker postbacks to Snapchat's Conversions API alongside Meta, TikTok, Reddit, Pinterest, and OpenAI - hashing, retries, and deduplication included - and the free Pixel Activator covers Snapchat delivery for a single landing.

Frequently asked questions

Sources

Sources

Was this guide helpful?
Author
Most Team
Справочная служба

Официальные руководства и глоссарий для платформы Most и Активатора пикселей.

Topic
Snapchat Conversions API: The Complete Guide
Main article of the topic
Related articles

Related guides