The Snap Pixel is a piece of JavaScript code that lets you measure the cross-device impact of your advertising campaigns. It enables you to understand how many Snapchat users interact with your website after seeing the ads.
RudderStack supports Snap Pixel as a destination where you can seamlessly send your event data.
Getting started
Before configuring Snap Pixel as a destination in RudderStack, verify if the source platform is supported by Snap Pixel by referring to the table below:
Connection Mode | Web | Mobile | Server |
---|---|---|---|
Device mode | Supported | - | - |
Cloud mode | - | - | - |
Once you have confirmed that the source supports sending events to Snap Pixel, follow these steps:
- From your RudderStack dashboard, add the source. From the list of destinations, select Snap Pixel.
- Assign a name to the destination and click on Continue.
Connection settings
To set up Snap Pixel as a destination, you need to configure the following settings:

- Pixel ID: Enter your Snap Pixel ID.
- Hashing Method: Snap Pixel lets you pass a user parameter (
email
orphone
) in both hashed and non-hashed format during the snippet's intialization. If you choose SHA-256, RudderStack will hash-encode the parameter before passing it to Snap Pixel. - Client-side Events Filtering: This setting lets you specify which events should be blocked or allowed to flow through to Snap Pixel.
- Customize Client Deduplication Key: Enable this setting to set a custom client deduplication ID in Snap Pixel.
- Use device mode to send events: As this destination supports sending events only via the web device mode, this setting will be automatically enabled.
Identify
The identify
call is used to initialize the Snap Pixel code.
RudderStack checks the cookies for the user parameter (email
or phone
) before loading the Snap Pixel snippet. If the parameter is present, RudderStack loads the snippet. Otherwise, it loads the snippet without passing the user parameter.
email
or phone
) through the Snap Pixel, as it lets you get better insights into your tracked conversions and creates more robust Pixel Custom Audiences. For more information, refer to the Snap Pixel FAQ.A sample identify
call is as shown:
rudderanalytics.identify({ email: "alex@example.com", phone: "+1-202-555-0146"});
The following table lists the user parameters along with the relative mapping to the Snap Pixel parameters:
RudderStack user parameter | Snap Pixel user parameter |
---|---|
email | user_email |
phone | user_phone_number |
Page
When the page
call is made, RudderStack sends the following call to Snap Pixel:
snaptr("track", "PAGE_VIEW")
page
call with or without the event payload.A sample page
call is as shown:
rudderanalytics.page();
Track
The track
call lets you send Snap Pixel events.
A sample track
call is as shown below:
rudderanalytics.track('Order Completed', { 'currency': 'USD', 'price': 333.33, 'order_id': '11111111'});
You can also send the following RudderStack e-commerce events:
RudderStack event | Snap Pixel event |
---|---|
Order Completed | PURCHASE |
Checkout Started | START_CHECKOUT |
Product Added | ADD_CART |
Payment Info Entered | ADD_BILLING |
Promotion Clicked | AD_CLICK |
Promotion Viewed | AD_VIEW |
Product Added To Wishlist | ADD_TO_WISHLIST |
Product Viewed | VIEW_CONTENT |
Product List Viewed | VIEW_CONTENT |
Products Searched | SEARCH |
order_id
to Snap Pixel's transaction_id
only in case of the Order Completed
event.Snap Pixel supports up to 5 custom events, as listed below:
CUSTOM_EVENT_1
CUSTOM_EVENT_2
CUSTOM_EVENT_3
CUSTOM_EVENT_4
CUSTOM_EVENT_5
Setting custom client deduplication key
RudderStack lets you define the client deduplication key for event deduplication. Enable the Customize Client Deduplication Key setting in the dashboard to use this feature.
The following scenarios describe the different ways RudderStack sets the custom deduplication key:
Scenario 1: Passing the key in the event properties
Suppose you enable the Customize Client Deduplication Key setting and set the Client Deduplication Field to properties.dedup
. RudderStack then sets the client deduplication ID with the value associated with properties.dedup
, as shown in the following snippet:
rudderanalytics.track( "SHARE", { dedup: "mydedupid", checkout_id: "12345", product_name: "Red T-shirt", product_url: "http://www.sampledomain.com/products/myred-t-shirt", }, { integrations: {}, });
In this case, RudderStack sets mydedupid
as the client deduplication ID.
Scenario 2: Passing the messageId
as the deduplication key
Suppose you enable Customize Client Deduplication Key and leave the Client Deduplication Field empty. In this case, RudderStack sets the event's messageId
as the client deduplication ID.
Scenario 3: Passing wrong/missing field in the dashboard settings
Suppose you enable Customize Client Deduplication Key and set the Client Deduplication Field, but the field is either missing or has a different name in the event. In this case, RudderStack does not set the client deduplication ID.
For example, if you set Client Deduplication Field to properties.dedup
and the event contains properties.deduplication
instead, then RudderStack sends the event to Snap Pixel without setting the client deduplication ID.
FAQ
Where can I find the Snap Pixel ID?
To get your Snap Pixel ID, follow these steps:
- Go to your Snap Ads Manager account.
- Under Events Manager, go to View Pixel Details > Setup Pixel.
- You can find the Pixel ID under Set Up Your Snap Pixel, as shown:

Contact us
For more information on the topics covered on this page, email us or start a conversation in our Slack community.