Snapchat Conversions API GTM: Server-Side Delivery Through sGTM
Snapchat Conversions API GTM delivery is a custom server-side template job: sGTM ships no native Snap integration, and the template API's sendHttpRequest is the documented way to POST the Snap payload from your own container. Snap adds two requirements that shape the template design before any mapping is written - the match key gate and cross-channel deduplication.
Clear the Match Key Gate First
Snap rejects events without at least one match parameter outright, so the template's first responsibility is assembling user_data: hashed email or phone captured client-side, or IP address with user agent where the container preserves them. Normalization precedes hashing, per Snap's field-by-field examples. Only after the match key is guaranteed does the rest of the payload matter - and Snap recommends passing all available parameters, not just one.
Mapping the Event Model to Snap's Payload
| Snap field | Source in the sGTM event model |
|---|---|
| event type | Mapped from the inbound event to the documented enum, or CUSTOM_EVENT_1-5 |
| hashed identifiers | user_data fields, SHA-256 after normalization |
sc_click_id | Extracted from the landing URL's &ScCid= parameter captured at click time |
client_dedup_id | A value identical across pixel, SDK, and API for the same event |
transaction_id | The order-level identifier for purchase events |
page_url | The full landing URL, encouraged alongside the click ID |
The two identifiers carry the setup. sc_click_id only arrives if the client captured the &ScCid= parameter - the same capture-at-landing discipline as every other network's click ID. client_dedup_id must equal what the Snap pixel emitted for the same event; a template that invents fresh values per send converts the redundant pixel-plus-API setup into a double count. The identifier taxonomy is in match keys and the parameter matrix.
The 37-Day Window Changes Queue Discipline
The generous timestamp window makes sGTM queueing less fragile than on Meta's seven-day clock: a container that was down for a week can still flush legitimately. Deduplication, however, stays at the 48-hour client_dedup_id scope, so queued sends keep their original dedup values. Error behavior - the match key gate above all - is covered in Snapchat Conversions API errors; the cluster map is in the complete guide, and teams preferring to own only the postback hand the payload to MOST, with Pixel Activator for single manual tests.
Frequently asked questions
Sources
Sources
- Manual testing and validation: Pixel Activator fires free test events while you tune parameters.
- Automated delivery: Most routes conversions from your tracker or CRM continuously, with deduplication and retries handled.
