Data Subject Request API Version 1 and 2
Data Subject Request API Version 3
Platform API Overview
Accounts
Apps
Audiences
Calculated Attributes
Data Points
Feeds
Field Transformations
Services
Users
Workspaces
Warehouse Sync API Overview
Warehouse Sync API Tutorial
Warehouse Sync API Reference
Data Mapping
Warehouse Sync SQL Reference
Warehouse Sync Troubleshooting Guide
ComposeID
Warehouse Sync API v2 Migration
Bulk Profile Deletion API Reference
Calculated Attributes Seeding API
Data Planning API
Custom Access Roles API
Group Identity API Reference
Pixel Service
Profile API
Events API
mParticle JSON Schema Reference
IDSync
AMP SDK
Initialization
Configuration
Network Security Configuration
Event Tracking
User Attributes
IDSync
Screen Events
Commerce Events
Location Tracking
Media
Kits
Application State and Session Management
Data Privacy Controls
Error Tracking
Opt Out
Push Notifications
WebView Integration
Logger
Preventing Blocked HTTP Traffic with CNAME
Linting Data Plans
Troubleshooting the Android SDK
API Reference
Upgrade to Version 5
Cordova Plugin
Identity
Direct URL Routing FAQ
Web
Android
iOS
Initialization
Configuration
Event Tracking
User Attributes
IDSync
Screen Tracking
Commerce Events
Location Tracking
Media
Kits
Application State and Session Management
Data Privacy Controls
Error Tracking
Opt Out
Push Notifications
Webview Integration
Upload Frequency
App Extensions
Preventing Blocked HTTP Traffic with CNAME
Linting Data Plans
Troubleshooting iOS SDK
Social Networks
iOS 14 Guide
iOS 15 FAQ
iOS 16 FAQ
iOS 17 FAQ
iOS 18 FAQ
API Reference
Upgrade to Version 7
Getting Started
Identity
Upload Frequency
Getting Started
Opt Out
Initialize the SDK
Event Tracking
Commerce Tracking
Error Tracking
Screen Tracking
Identity
Location Tracking
Session Management
Initialization
Content Security Policy
Configuration
Event Tracking
User Attributes
IDSync
Page View Tracking
Commerce Events
Location Tracking
Media
Kits
Application State and Session Management
Data Privacy Controls
Error Tracking
Opt Out
Custom Logger
Persistence
Native Web Views
Self-Hosting
Multiple Instances
Web SDK via Google Tag Manager
Preventing Blocked HTTP Traffic with CNAME
Facebook Instant Articles
Troubleshooting the Web SDK
Browser Compatibility
Linting Data Plans
API Reference
Upgrade to Version 2 of the SDK
Getting Started
Identity
Web
Alexa
Overview
Step 1. Create an input
Step 2. Verify your input
Step 3. Set up your output
Step 4. Create a connection
Step 5. Verify your connection
Step 6. Track events
Step 7. Track user data
Step 8. Create a data plan
Step 9. Test your local app
Overview
Step 1. Create an input
Step 2. Verify your input
Step 3. Set up your output
Step 4. Create a connection
Step 5. Verify your connection
Step 6. Track events
Step 7. Track user data
Step 8. Create a data plan
Overview
Step 1. Create an input
Step 2. Verify your input
Step 3. Set up your output
Step 4. Create a connection
Step 5. Verify your connection
Step 6. Track events
Step 7. Track user data
Step 8. Create a data plan
Step 1. Create an input
Step 2. Create an output
Step 3. Verify output
Node SDK
Go SDK
Python SDK
Ruby SDK
Java SDK
Introduction
Outbound Integrations
Firehose Java SDK
Inbound Integrations
Compose ID
Glossary
Data Hosting Locations
Migrate from Segment to mParticle
Migrate from Segment to Client-side mParticle
Migrate from Segment to Server-side mParticle
Segment-to-mParticle Migration Reference
Rules Developer Guide
API Credential Management
The Developer's Guided Journey to mParticle
Create an Input
Start capturing data
Connect an Event Output
Create an Audience
Connect an Audience Output
Transform and Enhance Your Data
The new mParticle Experience
The Overview Map
Introduction
Data Retention
Connections
Activity
Live Stream
Data Filter
Rules
Tiered Events
mParticle Users and Roles
Analytics Free Trial
Troubleshooting mParticle
Usage metering for value-based pricing (VBP)
Introduction
Sync and Activate Analytics User Segments in mParticle
User Segment Activation
Welcome Page Announcements
Project Settings
Roles and Teammates
Organization Settings
Global Project Filters
Portfolio Analytics
Analytics Data Manager Overview
Events
Event Properties
User Properties
Revenue Mapping
Export Data
UTM Guide
Data Dictionary
Query Builder Overview
Modify Filters With And/Or Clauses
Query-time Sampling
Query Notes
Filter Where Clauses
Event vs. User Properties
Group By Clauses
Annotations
Cross-tool Compatibility
Apply All for Filter Where Clauses
Date Range and Time Settings Overview
Understanding the Screen View Event
Analyses Introduction
Getting Started
Visualization Options
For Clauses
Date Range and Time Settings
Calculator
Numerical Settings
Assisted Analysis
Properties Explorer
Frequency in Segmentation
Trends in Segmentation
Did [not] Perform Clauses
Cumulative vs. Non-Cumulative Analysis in Segmentation
Total Count of vs. Users Who Performed
Save Your Segmentation Analysis
Export Results in Segmentation
Explore Users from Segmentation
Getting Started with Funnels
Group By Settings
Conversion Window
Tracking Properties
Date Range and Time Settings
Visualization Options
Interpreting a Funnel Analysis
Group By
Filters
Conversion over Time
Conversion Order
Trends
Funnel Direction
Multi-path Funnels
Analyze as Cohort from Funnel
Save a Funnel Analysis
Explore Users from a Funnel
Export Results from a Funnel
Saved Analyses
Manage Analyses in Dashboards
Dashboards––Getting Started
Manage Dashboards
Dashboard Filters
Organize Dashboards
Scheduled Reports
Favorites
Time and Interval Settings in Dashboards
Query Notes in Dashboards
User Aliasing
The Demo Environment
Keyboard Shortcuts
Analytics for Marketers
Analytics for Product Managers
Compare Conversion Across Acquisition Sources
Analyze Product Feature Usage
Identify Points of User Friction
Time-based Subscription Analysis
Dashboard Tips and Tricks
Understand Product Stickiness
Optimize User Flow with A/B Testing
User Segments
IDSync Overview
Use Cases for IDSync
Components of IDSync
Store and Organize User Data
Identify Users
Default IDSync Configuration
Profile Conversion Strategy
Profile Link Strategy
Profile Isolation Strategy
Best Match Strategy
Aliasing
Overview
Create and Manage Group Definitions
Introduction
Catalog
Live Stream
Data Plans
Blocked Data Backfill Guide
Predictive Attributes Overview
Create Predictive Attributes
Assess and Troubleshoot Predictions
Use Predictive Attributes in Campaigns
Predictive Audiences Overview
Using Predictive Audiences
Introduction
Profiles
Warehouse Sync
Data Privacy Controls
Data Subject Requests
Default Service Limits
Feeds
Cross-Account Audience Sharing
Approved Sub-Processors
Import Data with CSV Files
CSV File Reference
Glossary
Video Index
Single Sign-On (SSO)
Setup Examples
Introduction
Introduction
Introduction
Rudderstack
Google Tag Manager
Segment
Advanced Data Warehouse Settings
AWS Kinesis (Snowplow)
AWS Redshift (Define Your Own Schema)
AWS S3 Integration (Define Your Own Schema)
AWS S3 (Snowplow Schema)
BigQuery (Snowplow Schema)
BigQuery Firebase Schema
BigQuery (Define Your Own Schema)
GCP BigQuery Export
Snowflake (Snowplow Schema)
Snowplow Schema Overview
Snowflake (Define Your Own Schema)
Aliasing
Event
Event
Audience
Audience
Feed
Event
Audience
Cookie Sync
Event
Audience
Audience
Audience
Event
Event
Feed
Event
Audience
Event
Data Warehouse
Event
Event
Event
Event
Audience
Event
Event
Event
Event
Event
Event
Audience
Event
Event
Feed
Event
Event
Audience
Feed
Event
Event
Event
Custom Feed
Data Warehouse
Event
Event
Audience
Audience
Audience
Audience
Event
Event
Event
Event
Event
Event
Audience
Audience
Event
Audience
Data Warehouse
Event
Event
Audience
Cookie Sync
Event
Event
Event
Event
Event
Feed
Feed
Event
Event
Event
Audience
Event
Event
Audience
Event
Event
Event
Feed
Audience
Event
Event
Audience
Audience
Event
Audience
Audience
Audience
Event
Audience
Event
Event
Event
Event
Feed
Event
Event
Event
Event
Event
Feed
Audience
Event
Event
Event
Feed
Event
Event
Event
Event
Event
Feed
Audience
Event
Event
Event
Event
Custom Pixel
Feed
Event
Event
Event
Audience
Event
Event
Data Warehouse
Event
Event
Audience
Audience
Audience
Event
Audience
Audience
Cookie Sync
Event
Audience
Feed
Audience
Event
Event
Audience
Audience
Event
Event
Event
Event
Audience
Cookie Sync
Cookie Sync
Audience
Audience
Feed
The Snapchat Conversion API integration is a server-to-server integration that allows advertisers to pass web, app, and offline events from mParticle directly to Snap. Data shared through the Snapchat Conversions API is processed similarly to events passed through the Snap Pixel or App Ads Kit (SDK). By passing events, advertisers can access post-view and post-swipe campaign reporting to measure performance and incrementality. Depending on the data shared and timeliness of integration, it’s also possible to use events passed through the Conversions API for campaign optimization, ad targeting and measurement of conversions that resulted from your Snapchat campaigns.
Benefits:
Conversions API Token: This is Snap’s new static long lived token used for authentication. To find your Conversions API Token, go to the Business Details view on your Snap dashboard. You will see a section called Conversions API Tokens. Please note that you must be an Organization Admin to view this section of the page.
Snap App ID: In order to forward any events, you will need your Snap App ID. To find your Snap App ID, go to the Apps view on your Snap Ads dashboard. Click on an App to see the App Details view. Your Snap App ID is labeled App ID.
iOS App ID: When setting up an iOS connection to Snap, you will need your iOS App ID. To find your iOS App ID, go to the Apps view on your Snap Ads dashboard. Click on an App to see the App Details view. Your iOS App ID is labeled iOS App ID.
Android App URL: When setting up an Android connection to Snap, you will need your Android App URL. To find your Android App URL, go to the Apps view on your Snap Ads dashboard. Click on an App to see the App Details view. Your Android App URL is labeled Android App URL.
Pixel ID: When setting up a Web connection to Snap, you will need your Pixel ID. To find your Pixel ID, go to the Events Manager view on your Snap Ads dashboard. You will see your Pixel’s name directly underneath its ID.
NOTE:
MOBILE_WEB
events.WEB
events.OFFLINE
events, since they aren’t strictly associated with a device.The following set of mParticle events are supported by this integration.
mParticle supports standard event mappings for the following Snapchat event types:
Snapchat Event | mParticle Event |
---|---|
APP_INSTALL |
Application State Transition with application_transition_type as application_initialized and is_first_run as true and is_upgrade as false |
APP_OPEN |
Application State Transition with application_transition_type as application_foreground |
AD_CLICK |
Commerce with click promotion action. |
AD_VIEW |
Commerce with view promotion action. |
ADD_CART |
Commerce with add_to_cart product action. |
ADD_TO_WISHLIST |
Commerce with add_to_wishlist product action. |
PURCHASE |
Commerce with purchase product action. Refunds are not natively supported by Snap. |
START_CHECKOUT |
Commerce with checkout product action. |
VIEW_CONTENT |
Commerce with view_detail product action. |
PAGE_VIEW |
Screen View |
Incoming Commerce events to mParticle are expanded before being sent out to Snapchat.
Example: One incoming purchase
Commerce event to mParticle with three products will go out to Snapchat as three PURCHASE
events.
To support refund events, Snapchat recommends using our Custom Event Mappings to set up one of Snapchat’s five custom event types and passing the refund amount as its price.
In order to support alternative Snapchat event types that don’t map one-to-one with mParticle events, we allow customers to manually configure Custom Mappings for a particular connection within our UI. This feature allows incoming mParticle events to be mapped to known Snapchat event types, including with specific attributes and outgoing parameters.
The following Snapchat events support the properties description
and event_tag
. Additional supported properties are listed after each event.
ACHIEVEMENT_UNLOCKED
ADD_BILLING
ADD_CART
: item_category
, item_ids
, number_items
, price
, currency
ADD_TO_WISHLIST
AD_CLICK
AD_VIEW
APP_INSTALL
APP_OPEN
COMPLETE_TUTORIAL
INVITE
LEVEL_COMPLETE
: level
LIST_VIEW
LOGIN
PAGE_VIEW
PURCHASE
: item_category
, item_ids
, number_items
, price
, currency
, transaction_id
RATE
RESERVE
SAVE
SEARCH
: search_string
SHARE
SIGN_UP
: sign_up_method
SPENT_CREDITS
START_CHECKOUT
: number_items
, price
, currency
START_TRIAL
SUBSCRIBE
VIEW_CONTENT
: number_items
, price
, currency
CUSTOM_EVENT_1
CUSTOM_EVENT_2
CUSTOM_EVENT_3
CUSTOM_EVENT_4
CUSTOM_EVENT_5
Custom events support all properties.
For events originating from iOS with version 14.5 or greater, ATT Authorization Status is taken into account when determining whether or not to forward IDFA.
To specify ATT Authorization Status for a given user on an incoming event batch, reference our ATT Authorization Status guide.
SnapchatConversions.PageUrl
For WEB
events, an optional Custom Flag can be specified on each valid incoming event. It represents the web page where the event took place, and must be a complete URL — including protocol (for example, https://
).
SnapchatConversions.PageUrl
.ScCid
parameter which will be parsed and forwarded as the click_id
to align with Snapchat’s recommendation to aid with increasing match rates. page_url
custom flag is deprecated, and should no longer be used.mParticle looks for this value to include in outgoing events to Snapchat.
SnapchatConversions.ClickId
If SnapchatConversions.ClickId
is added to the Custom Flags, it will be prioritized for forwarding to Snapchat as the click_id
over searching theSnapchatConversions.PageUrl
for an included paratmeter.
The Snapchat Conversions API includes Deduplication Support through the client_dedup_id
field, based on a 48 hour window as per Snapchat. This field can be used to account for both single source and multisource redundancy.
As per their docs, Snapchat recommends that customers send in redundant event data from multiple locations or integrations (e.g. mParticle and another means of uploading to Snapchat Conversions). This introduces the problem of multichannel redundancy, where you don’t want duplicate events sent from different integrations to be counted as distinct events.
To accommodate that, Snapchat supports multichannel deduplication. If two events, regardless of where they were uploaded from, have the same client_dedup_id
, Snapchat will know to only count one of them.
To that end, mParticle allows customers to specify this value on incoming events which we’ll then forward along to Snapchat. To do so, the field can be specified like so:
CommerceEvents
, an optional Custom Flag can be specified: SnapchatConversions.ClientDedupId
.CommerceEvents
, each constituent product
is forwarded as a distinct event to Snapchat. As such, any value for SnapchatConversions.ClientDedupId
needs to be specified at the product-level as a product attribute.If the client_dedup_id
isn’t specified by the customer for multichannel redundancy, mParticle will set the field on outgoing events to facilitate single-channel deduplication.
If so, the client_dedup_id
field is set according to the given event’s unique ID field.
CommerceEvents
that include multiple products, a unique index is appended onto the event’s ID such that each outgoing product event includes a unique, deterministic value for client_dedup_id
.The Snapchat Conversions API Guide notes that events older than 28 days will be rejected.
mParticle sends a variety of user data fields to Snapchat for advanced matching.
mParticle Field | Snapchat Field | Description |
---|---|---|
app_info.os | event_conversion_type | Required. Either WEB , MOBILE_APP , or OFFLINE |
event_type | event_type | Required. Set depending on the incoming event type. |
timestamp_unixtime_ms | timestamp | Required. Event timestamp. This must be in millisecond resolution (ex.1455236520490) |
user_identities.email | hashed_email | Lowercase SHA256 hash of normalized email. Events without either email, phone number, or IP & user agent are rejected. |
user_identities.mobile_number, user_identities.phone_number_2, user_identities.phone_number_3 | hashed_phone_number | Lowercase SHA256 hash of normalized phone number. Events without either email, phone number, or IP & user agent are rejected. |
ip | hashed_ip_address | Lowercase SHA256 hash of the IP address associated with the event batch. Events without either email, phone number, or IP & user agent are rejected. |
device_info.http_header_user_agent | user_agent | The user agent associated with the event batch. |
device_info.ios_advertising_id, device_info.android_advertising_id | hashed_mobile_ad_id | Optional. Lowercase SHA256 hash of normalized MAID (IDFA or AAID). |
device_info.ios_idfv | hashed_idfv | Optional. Lowercase SHA256 hash of normalized IDFV. |
After you save or update a Snapchat Conversions connection, mParticle verifies the provided setting information and makes an API call to validate it for consistency. If there’s any inconsistency between the API token and Snap App ID or Pixel ID, an error is displayed to prompt the user to verify and try again.
The following settings are all required, and all string
data type.
Setting Name | Encrypted | Description |
---|---|---|
Conversions API Token | True | Default is null. Long-lived token used by Snapchat for authentication. |
Snap App ID | False | Default is null. The Snap App ID associated with your app (a unique code generated in Snap Ads Manager and included in your MMP dashboard). Example: 07b517bb-9cdb-42ef-ba77-9dd9a9eb2dc1 |
Phone Number | False | Default is MobileNumber. The mParticle User Identity type to forward as a hashed_phone_number to Snapchat. |
Setting Name | Data Type | Platform | Description |
---|---|---|---|
Apple App Id | string |
iOS | Required. The unique iOS App Id assigned to a given Snap App. It should be numeric. Example: 447188370 |
Android App URL | string |
Android | Required. The unique Android App URL assigned to a given Snap App. It should be a human interpretable string. Example: com.snapchat.android |
App Id | string |
Data feeds | Optional. The iOS App ID or Android App URL assigned to a given Snap app. If set, don’t set Pixel ID. Example: 447188370 or com.snapchat.android |
Pixel Id | string |
Web, data feeds | Optional for data feeds, required for Web. The Pixel ID for the Ad Account in question. Example: f5932083-b4da-436e-b63c-94b659dde332 |
Email Type | enum |
Web, data feeds | Required. The mParticle User Identity type to forward as an Email to Snap App. The email user identity will be hashed before forwarding to Snapchat, other user identities selected from this dropdown will not be hashed prior to forwarding. |