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.
Getting started
RudderStack supports sending event data to Snap Pixel via the following connection modes:
Connection Mode | Web | Mobile | Server |
---|---|---|---|
Device mode | Supported | - | - |
Cloud mode | - | - | - |
https://sc-static.net/
domain. Based on your website's content security policy, you might need to allowlist this domain to load the Snap Pixel SDK successfully.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 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. Refer to the FAQ section for more information on obtaining 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. - Mapping to trigger the Snap Pixel events for the respective events set here: Use this setting to map custom event names to the standard Snap Pixel events.
- Client-side Events Filtering: This setting lets you specify which events should be blocked or allowed to flow through to Reddit Pixel. Refer to the Client-side Events Filtering guide for more information.
- Customize Client Deduplication Key: Enable this setting to set a custom client deduplication ID in Snap Pixel. Refer to the Setting custom client deduplication key section for more information on this setting.
- Use device mode to send events: As this is a web device mode-only destination, this setting is enabled by default and cannot be disabled.
Identify
You can use the identify
call 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 corresponding mapping to the Snap Pixel parameters:
RudderStack user parameter | Snap Pixel user parameter |
---|---|
email | user_email |
phone | user_phone_number |
Page
When you make a page
call, 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
You can use the track
call to send Snap Pixel events. Refer to the Snapchat documentation for more information on the 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 ecommerce 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, 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.