Snapchat Conversion

Send your event data from RudderStack to Snapchat via its Conversions API.

Snapchat’s Conversions API lets you send your web, mobile, and offline events to Snapchat via a S2S (server-to-server) integration. You can then leverage this data to optimize your Snapchat ad campaigns and measure user conversions effectively.

RudderStack supports Snapchat Conversion as a destination where you can send your event data seamlessly.

warning
The events should be generated at least 28 days before to be eligible for reporting via the Conversions API.

Find the open source transformer code for this destination in the GitHub repository.

Connection compatibility

Destination info
  • Status: Generally Available
  • Supported sources: Android, iOS , Web, Unity, AMP , Cloud, Warehouse, React Native , Flutter, Cordova, Shopify
  • Refer to it as SNAPCHAT_CONVERSION in the Integrations object.

Connection modes
SourceCloud modeDevice modeHybrid mode
AMPsupportednot supportednot supported
Androidsupportednot supportednot supported
Cloudsupportednot supportednot supported
Cordovasupportednot supportednot supported
Fluttersupportednot supportednot supported
iOSsupportednot supportednot supported
React Nativesupportednot supportednot supported
Shopifysupportednot supportednot supported
Unitysupportednot supportednot supported
Warehousesupportednot supportednot supported
Websupportednot supportednot supported
Supported message types
SourceIdentifyPageTrackScreenGroupAlias
Cloud mode
Supported sourcesnot supportedsupportedsupportednot supportednot supportednot supported

Get started

Once you have confirmed that the source platform supports sending events to Snapchat Conversion, follow these steps:

  1. From your RudderStack dashboard, add the source. Then, from the list of destinations, select Snapchat Conversion.
  2. Assign a name to your destination and click Continue.

Connection settings

To successfully configure Snapchat Conversion as a destination, configure the following settings:

Snapchat Conversion connection settings
Snapchat Conversion connection settings

  • API Token: Enter your API token generated from your Snapchat dashboard.
  • Pixel ID: Enter your Snap Pixel ID. This is required for sending the web and offline events.
info
For more information on getting your API token and Snap Pixel ID, refer to the FAQ section below.
  • Snap App ID: Enter your Snapchat App ID. This is required for sending the app events.
info
Refer to the Generate your Snap App ID guide for more information on generating the Snap App ID.
  • App ID: Enter the unique ID associated with your application. This is required for sending the app events.
warning

The App ID is different from Snap App ID. It should be numeric for iOS and in the human-interpretable string format in case of Android.

For more information, refer to the Conversions API reference.

  • Map your events with Snapchat Standard Events: Enter the event name and select the corresponding Snapchat standard event from the dropdown to be triggered when that event is called.
success
You can specify multiple standard events for one event name and vice versa.
  • Enable Event Deduplication: Enable this setting to deduplicate the events. If enabled, you need to enter the following:
    • Deduplication key: Enter the field/property name to be mapped to a standard Snapchat Conversion property client_dedup_id, using which Snapchat Conversion deduplicates the events.

Track

The track event lets you capture user events along with the properties associated with them.

RudderStack tracks and sends the web, mobile, and offline events to Snapchat via the conversion endpoint.

warning
RudderStack uses Bearer authentication leveraging the Snap API token for authenticating all requests. OAuth is not supported currently.

A sample track call is shown below:

rudderanalytics.track("Order Completed", {
  order_id: "1234",
  currency: "USD",
  products: [{
      product_id: "345676543",
      price: 7.99
    },
  ],
}, {
  context: {
    traits: {
      email: "alex@example.com",
      phone: "+1-202-555-0146"

    }
  }
})
info

Make sure to pass at least one of the required fields from the below:

  • email
  • phone
  • idfa
  • ip and userAgent

RudderStack checks the eventConversionType event property to determine the type of event to send to Snap Conversion (web, mobile, or offline) as specified below:

web -> "WEB",
mobile -> "MOBILE_APP",
mobile_app -> "MOBILE_APP",
offline -> "OFFLINE"
info
Make sure you specify the values in the exact format.

If eventConversionType is not found in the event, RudderStack checks if channel is present. If channel is absent too, RudderStack automatically sets eventConversionType to OFFLINE.

An example highlighting the use of eventConversionType is shown below:


rudderanalytics.track("Products Searched", {
query: "HDMI cable",
eventConversionType: "mobile"
});

RudderStack tracks the following properties and maps them to the corresponding Snapchat Conversion properties:

RudderStack propertyTypeSnapchat Conversion property
properties.order_id
properties.checkout_id
Stringtransaction_id
context.page.url
properties.url
Stringpage_url
properties.eventStringevent_type
properties.event_tagStringevent_tag
properties.eventConversionTypeStringevent_conversion_type
properties.quantityStringnumber_items
properties.currencyStringcurrency
properties.categoryStringitem_category
properties.queryStringsearch_string
properties.price
properties.value
properties.revenue
(properties.products.price) X (properties.products.quantity)
Stringprice
properties.product_id
properties.products.product_id
Stringitem_ids
properties.SignUpMethod
properties.sign_up_method
Stringsign_up_method
properties.client_dedup_idStringclient_dedup_id
properties.click_idStringclick_id
properties.descriptionStringdescription
properties.uuid_c1Stringuuid_c1
properties.levelStringlevel
properties.brandsArray of brandsbrands
properties.customer_status
Can be one of new, returning, or activated.
Stringcustomer_status
properties.dataStringdata
properties.att_status
Can be one of AUTHORIZED, RESTRICTED, or NOT_DETERMINED.
Stringatt_status
properties.advertiser_cookie_1Stringadvertiser_cookie_1
properties.delivery_method
Can be one of in_store, curbside, or delivery.
Stringdelivery_method
traits.firstName
traits.firstname
traits.first_name
context.traits.firstName
context.traits.firstname
context.traits.first_name
Stringhashed_first_name_sha
traits.middleName
traits.middlename
traits.middle_name
context.traits.middleName
context.traits.middlename
context.traits.middle_name
Stringhashed_middle_name_sha
traits.lastName
traits.lastname
traits.last_name
context.traits.lastName
context.traits.lastname
context.traits.last_name
Stringhashed_last_name_sha
traits.address.city
context.traits.address.city
Stringhashed_city_sha
traits.state
context.traits.state
Stringhashed_state_sha
traits.country
context.traits.country
Stringcountry
traits.zipcode
context.traits.zipcode
traits.zip
context.traits.zip
Stringhashed_zip
traits.region
context.traits.region
Stringregion
context.device.modelStringdevice_model

Event mapping

warning
This destination does not strictly adhere to the RudderStack Ecommerce Event Spec.

RudderStack maps the following ecommerce events to the corresponding Snapchat Conversion events:

RudderStack eventSnapchat Conversion event
Products SearchedSEARCH
Product List ViewedVIEW_CONTENT
Promotion ViewedAD_VIEW
Promotion ClickedAD_CLICK
Product ViewedVIEW_CONTENT
Product AddedADD_CART
Checkout StartedSTART_CHECKOUT
Payment Info EnteredADD_BILLING
Order CompletedPURCHASE
Product Added to WishlistADD_TO_WISHLIST

RudderStack does not map the following events and passes their properties as is, without any modification:

  • ACHIEVEMENT_UNLOCKED
  • APP_INSTALL
  • APP_OPEN
  • COMPLETE_TUTORIAL
  • INVITE
  • LIST_VIEW
  • LEVEL_COMPLETE
  • LOGIN
  • PAGE_VIEW
  • RATE
  • RESERVE
  • SAVE
  • SIGN_UP
  • SHARE
  • SPENT_CREDITS
  • START_TRIAL
  • SUBSCRIBE

Page

The page call lets you record your website’s page views with any additional relevant information about the viewed page.

warning

RudderStack processes page calls as track calls with the Snapchat event set to page_view.

Hence, all the required fields for track events are required here as well.

A sample page call sent to Snapchat:

rudderanalytics.page("Help", "Help Page", {
  name: "Contact Customer Care",
  request_ip: "203.0.113.0",
  context: {
    userAgent: "ABC"
  }
})

FAQ

Where can I find the Conversions API token?

To get your Snap Conversions API token, follow these steps:

  1. Go to your Snap Ads Manager account.
  2. Click Create Ads option in the top left section of the dashboard and go to Business Details > Conversions API Tokens. You will find all API tokens associated with your account listed here.
  3. To generate a new Conversions API token, click Generate Token.
Snap Conversions API token

Where can I find the Pixel ID associated with my account?

To get your Snap Conversions Pixel ID, follow these steps:

  1. Go to your Snap Ads Manager account.
  2. Click Create Ads option in the top left section of the dashboard and go to Events Manager.
  3. Then, click Setup Snap Pixel. You will see the following options:
Snap Conversions set up Pixel
  1. Select Pixel Code and click Continue.
  2. You will see the Snap Pixel ID at the top left of the resulting window:
Snap Conversions Pixel ID

Where can I find the App ID associated with my application?

To get your Snap Conversions Pixel ID, follow these steps:

  1. Go to your Snap Ads Manager account.
  2. Click Create Ads option in the top left section of the dashboard and go to Apps. You will find the App ID associated with all your apps listed here.

To add a new app, follow these steps:

  1. Click Add an App.
  2. You can either create a new Snap App ID or importing an existing App ID.
  3. Then, enter your App Name and the relevant app ID/URL depending on your app’s platform.
  4. Finally, add any postbacks and click Continue to finish the setup.
Snap Conversions add new app

Questions? Contact us by email or on Slack