Snapchat Conversions API
The Snapchat Conversions API (CAPI) is a server-side integration that sends event data directly from Chord CDP to Snapchat's servers. Unlike the Snap Pixel (which runs in the browser), the Conversions API operates in cloud mode — events are sent server-to-server, making them resilient to ad blockers and browser tracking restrictions.
Snapchat recommends using the Conversions API alongside the Snap Pixel for maximum data coverage. When both are configured, Snapchat automatically deduplicates events using the client_dedup_id field, which Chord CDP sets to the event's messageId on both sides.
Getting Started
This is a cloud-mode destination. You will need:
- Pixel ID — found in your Snapchat Ads Manager under Events Manager > Pixel Details
- Access Token — your Conversions API token, found in Snapchat Ads Manager > Business Details
Optionally:
- Test Mode — when enabled, events are sent to Snapchat's /validate endpoint and appear in the Snap Events Manager debug tool without affecting live reporting
- Product Content ID Field — which product field to use as item_id when sending events: sku, product_id, or variant_id. Defaults to sku. If the configured field is absent on a product, it falls back through sku → variant_id → product_id → id. This must match the Item ID format in your Snap product catalog and must be set to the same value as the Snap Pixel destination.
Connecting to the Snapchat Conversions API CDP Destination
- Log into the Chord data platform.
- Navigate to the CDP.
- Click the "Add" button next to Destinations.
- Select Snapchat Conversions API from the destination catalog.
- Enter the destination name, Pixel ID, and Access Token.
- Optionally configure Test Mode and Product Content ID Field.
- Click "Create" to connect.
Event Mapping
Chord Event | Snap Event |
|---|---|
page | PAGE_VIEW |
Order Completed | PURCHASE |
Product Added | ADD_CART |
Product Viewed | VIEW_CONTENT |
Checkout Started | START_CHECKOUT |
Subscription Created | SUBSCRIBE |
Products Searched | SEARCH |
Payment Info Entered | ADD_BILLING |
Product Added to Wishlist | ADD_TO_WISHLIST |
Signed Up | SIGN_UP |
Page, track, and screen events are forwarded. Identify events are not forwarded.
Common Event Fields
These fields are included on every event sent to Snapchat.
Snap Field | Chord Source | Notes |
|---|---|---|
event_name | (mapped from event — see table above) | |
event_time | timestamp | |
event_id | messageId | Used for deduplication with the Snap Pixel |
event_source_url | context.page.url | |
data_processing_options | (hardcoded) false | |
User Data
Snap Field | Chord Source (Priority Order) | Notes |
|---|---|---|
external_id | userId > anonymousId | Array |
context.traits.email | | |
phone | context.traits.phone | |
gender | context.traits.gender | |
firstName | context.traits.firstName | |
lastName | context.traits.lastName | |
birthday | context.traits.birthday | |
city | context.traits.address.city | |
state | context.traits.address.state | |
zip | context.traits.address.zip > context.traits.address.postalCode | |
country | context.traits.address.country | |
client_ip_address | context.ip | Not hashed |
client_user_agent | context.userAgent | Not hashed |
madid | context.device.advertisingId | Mobile ad ID |
idfv | context.device.id | iOS identifier for vendor |
sc_click_id | properties.click_id > integrations["Snap Conversions Api"].click_id > ScCid query parameter from page URL | Snap click ID |
sc_cookie1 | integrations["Snap Conversions Api"].uuid_c1 | Snap cookie value |
Custom Data
These fields are sent in the custom_data block on all events.
Snap Field | Chord Source (Priority Order) | Notes |
|---|---|---|
currency | properties.currency | Defaults to "USD" |
value | properties.value | Total value after quantity (price × qty per the Chord tracking plan) |
num_items | Count of products with a resolvable item_id | |
order_id | properties.order_id | |
search_string | properties.query > properties.search_string | |
Products
Sent as a products array on events that include product data. Omitted if no products are present.
Snap Field | Chord Source (Priority Order) | Notes |
|---|---|---|
item_id | Configured field → sku → variant_id → product_id → id | Must match Item ID in Snap catalog |
item_category | properties.products[].category | |
brand | properties.products[].brand | |
Deduplication
Chord CDP sends the same messageId as client_dedup_id on both the Snap Pixel and the Conversions API. Snapchat uses this field to automatically deduplicate events when both destinations process the same user action.
For Purchase events, Snapchat additionally deduplicates on transaction_id. Chord CDP sets this to properties.order_id on both the Pixel and CAPI, so no additional configuration is required.
For deduplication to work correctly:
- Both the Snap Pixel and Snapchat Conversions API destinations must be enabled in Chord CDP
- Product Content ID Field must be set to the same value in both destinations
Testing and Validation
After connecting the destination:
- Enable Test Mode in the destination settings to send events to Snapchat's /validate endpoint
- Trigger test events and confirm they appear in the Snap Events Manager debug tool
- Disable Test Mode before going live
- After 24–48 hours, check Events Manager > Diagnostics to verify match rates and deduplication rates
Updated 23 Apr 2026