Snap Pixel
Snap Pixel is Snapchat's conversion tracking pixel for measuring ad performance and building retargeting audiences. This destination loads the Snapchat Pixel JavaScript SDK in the browser and forwards ecommerce and engagement events to Snapchat Ads. There is no server-side component.
Getting Started
This is a device-mode destination. The Snapchat Pixel SDK is loaded automatically — no manual script installation is required. You will need:
- Pixel ID — your Snapchat Pixel ID, found in your Snapchat Ads Manager under Assets > Pixels.
Optionally:
- Product Content ID Field — which product field to use as the content ID: 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. If you are also using the Snapchat Conversions API destination, this must be set to the same value in both destinations so that item IDs match between client-side and server-side events.
Connecting to the Snap Pixel CDP Destination
- Log into the Chord data platform.
- Navigate to the CDP.
- Click the "Add" button next to Destinations.
- Select Snap Pixel from the destination catalog.
- Enter the destination name and your Pixel ID.
- Optionally configure the Product Content ID Field.
- Click "Create" to connect.
Events
All Snap Pixel events include a client_dedup_id parameter set to the Chord messageId for deduplication.
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 Events
Snap SDK call: snaptr("track", "PAGE_VIEW", { client_dedup_id })
No additional attributes are sent with page events.
Identify Events
Re-initializes the Snap Pixel with user data for enhanced matching. The event is skipped if neither email nor phone is available.
Snap SDK call: snaptr("init", pixelId, userData)
Snap Attribute | Chord Source (Priority Order) | Notes |
|---|---|---|
user_email | context.traits.email | Omitted if not present |
user_phone_number | context.traits.phone | Omitted if not present |
Order Completed
Fires a purchase conversion event with order and product data.
Snap SDK call: snaptr("track", "PURCHASE", orderData)
Snap Attribute | Chord Source (Priority Order) | Notes |
|---|---|---|
item_ids | Each product's configured field → sku → variant_id → product_id → id | Array of products with a resolvable ID; omitted if empty |
item_category | properties.products[0].category | First product's category |
currency | properties.currency | Defaults to "USD" |
price | properties.value | Total value after quantity (price × qty); formatted to 2 decimal places |
transaction_id | properties.order_id | Used by Snapchat to deduplicate against CAPI Purchase events |
number_items | Count of products with a resolvable ID | |
Product Added
Fires an add-to-cart event using the first product from properties.products[].
Snap SDK call: snaptr("track", "ADD_CART", productData)
Snap Attribute | Chord Source (Priority Order) | Notes |
|---|---|---|
item_ids | First product's configured field → sku → variant_id → product_id → id | Single-element array; event skipped if no ID resolves |
item_category | properties.products[0].category | |
currency | properties.currency | Defaults to "USD" |
price | properties.value | Total value after quantity; formatted to 2 decimal places |
Product Viewed
Same attributes as Product Added above.
Snap SDK call: snaptr("track", "VIEW_CONTENT", productData)
Checkout Started
Same attributes as Order Completed above.
Snap SDK call: snaptr("track", "START_CHECKOUT", orderData)
Subscription Created
Same attributes as Order Completed above.
Snap SDK call: snaptr("track", "SUBSCRIBE", orderData)
Products Searched
Snap SDK call: snaptr("track", "SEARCH", searchData)
Snap Attribute | Chord Source (Priority Order) | Notes |
|---|---|---|
search_string | properties.query > properties.search_string | |
Payment Info Entered
No additional attributes beyond the dedup ID.
Snap SDK call: snaptr("track", "ADD_BILLING", { client_dedup_id })
Product Added to Wishlist
Same attributes as Product Added above.
Snap SDK call: snaptr("track", "ADD_TO_WISHLIST", productData)
Signed Up
No additional attributes beyond the dedup ID.
Snap SDK call: snaptr("track", "SIGN_UP", { client_dedup_id })
Initialization
The plugin loads https://sc-static.net/scevent.min.js and calls snaptr("init", pixelId), optionally with user_email and user_phone_number if available on the triggering event. Before the script loads, a queue buffers any calls to snaptr.
The plugin manages SDK loading state (fresh → loading → loaded/failed) to prevent duplicate script loads. If the script fails to load, subsequent events are silently dropped.
CSP Requirements
If your site uses a Content Security Policy, allow the following domains:
Directive | Domain |
|---|---|
script-src | https://sc-static.net |
connect-src | https://sc-static.net |
Updated 23 Apr 2026