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
TikTok for Business offers many tools that let you share the actions people take on your website with TikTok. When you share these events with TikTok, you can better optimize your campaigns and measure ad performance.
TikTok’s Events API is a secure server-to-server integration that allows advertisers to share the actions customers take on their websites directly with TikTok, without needing to install a pixel on your website.
Access Token: When setting up a connection to TikTok, you will need your Access Token. To find your Access Token, go to the Events Manager view on your TikTok dashboard.
Event Source ID: When setting up a connection to TikTok, you will need your Event Source ID, which can be either a Pixel ID, an App ID, or an Offline Event Set ID. To find your Event Source ID, go to the Events Manager view on your TikTok dashboard.
In outgoing TikTok event payloads, 3 primary user identifiers are supported:
For each, a drop-down setting is exposed allowing customers to choose which mParticle identity type should be mapped to that value. All outgoing identity information is SHA-256 hashed as per TikTok’s documentation. See Connection Settings for more information.
Google Advertising ID (GAID) and Apple Advertising ID (IDFA) are supported as device identifiers for connection types other than legacy web. These values will be hashed and sent when available.
NOTE: Anonymous events (with none of the above identifiers) are supported, but it’s highly recommended to send as many identifiers as possible to ensure optimal match rates.
The following event information will be included for all outgoing events, regardless of type.
mParticle Field | TikTok Event Field | Description |
---|---|---|
event.name | event | Conversion event name. Set depending on the incoming event type. |
event.source_message_id | event_id | The default ID used for the dedupliation of events in TikTok. If unavailable, we fallback on event_id |
event.timestamp_unixtime_ms | timestamp | The original event timestamp. This must be in millisecond resolution (ex.1455236520490) |
ip | context.ip | Non-hashed public IP address of the browser. The value from the event batch will be used when present, but when the Enrich with IP Address connection setting is enabled, values from the user’s profile may be used as fallbacks. |
event.device_info.http_header_user_agent | context.user_agent | Non-hashed user agent from the user’s device. |
Custom Flags must be specified on each valid incoming event to support specific fields within each outgoing TikTok event’s context
property.
mParticle Custom Flag | TikTok Event Field | Is Required | Description | Example |
---|---|---|---|---|
TikTok.URL |
Context.Page.Url | True | Page url when event happened. Must start with ‘http://’ or ’https://’, otherwise the event will fail TikTok processing | ”http://demo.mywebsite.com/purchase” |
TikTok.Referrer |
Context.Page.Referrer | False | Page referrer. | ”http://demo.mywebsite.com” |
TikTok.Callback |
Context.Ad.Callback | False | TikTok Click ID (ttclid). This represent a tracking parameter appended to a landing page URL whenever a user clicks on an ad on TikTok. Correctly formatted strings should start with “E.C.P”. Don’t send TikTok dummy values. | “E.C.P.v3fQ2RHacdksKfofPmlyuStIIHJ4Af1tKYxF9zz2c2PLx1Oaw15oHpcfl5AH” |
mParticle includes these values in outgoing events to TikTok.
The following additional data will be included for Web connections when the Enable Web Migration
setting is enabled, and for Feed connections when the Event Source Type is Web
.
mParticle User Attribute | Data Type | TikTok Event Field | Description |
---|---|---|---|
$FirstName |
string |
User.FirstName | First name of the user, normalized and hashed |
$LastName |
string |
User.LastName | Last name of the user, normalized and hashed |
$City |
string |
User.City | City of the user, normalized |
$State |
string |
User.State | State of the user, normalized |
$Country |
string |
User.Country | Country of the user, normalized |
$Zip |
string |
User.ZipCode | Zip code of the user, normalized and hashed |
campaignId |
string |
Ad.CampaignId | Campaign ID |
adId |
string |
Ad.AdId | Ad group ID |
creativeId |
string |
Ad.CreativeId | Ad ID |
isRetargeting |
boolean |
Ad.IsRetargeting | Whether the user is a retargeting user |
attributed |
boolean |
Ad.Attributed | Whether the event is attributed |
attributionType |
string |
Ad.AttributionType | Attribution type |
attributionProvider |
string |
Ad.AttributionProvider | Attribution provider |
The following partner identity will be forwarded when available for all Web events.
mParticle Partner Identity | TikTok Event Field | Description |
---|---|---|
tiktok_cookie_id |
user.ttp | Cookie ID of the user |
The following additional data will be included for connection types other than legacy web when available from the mParticle application info
mParticle Application Info | TikTok Event Field | Description |
---|---|---|
package | app.AppId | App ID |
application_name | app.AppName | App Name |
application_version | app.Version | App Version |
The only native mParticle event type that’s supported by this integration is CommerceEvent
.
mParticle supports the following event mappings:
mParticle Event | TikTok Event |
---|---|
Commerce Event with add_to_cart product action. |
AddToCart |
Commerce Event with add_to_wishlist product action. |
AddToWishlist |
Commerce Event with purchase product action. Refunds are not natively supported by TikTok. |
PlaceAnOrder |
Commerce Event with checkout product action. |
InitiateCheckout |
Commerce Event with view_detail product action. |
ViewContent |
Other CommerceEvent
types remain unsupported.
mParticle supports the following commerce and product information mappings:
mParticle Field | TikTok Event Field | Description |
---|---|---|
event.product_action.currency | properties.currency | ISO 4217 code. Example: “USD”. |
event.product_action.total_amount | properties.value | Value of the order or items sold. Example: 100. Note: Price is the price for a single item, and value is the total price of the order. |
event.product_action.products[x].price | properties.contents[x].price | The price of the item. Example: 25. Note: Price is the price for a single item, and value is the total price of the order. |
event.product_action.products[x].quantity | properties.contents[x].quantity | Number of item. Example: 4 |
event.product_action.products[x].id | properties.contents[x].content_id | ID of the product item. Example: “1077218” |
event.product_action.products[x].category | properties.contents[x].content_category | Category of the page/product. Example: “apparel” |
event.product_action.products[x].name | properties.contents[x].content_name | Category of the page/product. Example: “apparel” |
In order to support TikTok 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 TikTok event types, including with specific attributes and outgoing parameters.
To enable Value Based Optimization, set the mapping for TikTok’s Complete Payment
event type to use your eCommerce - Purchase
events.
All TikTok event mappings support the description
property.
In addition, the following additional properties are supported for each respective event:
AddPaymentInfo
: price
, quantity
, currency
, value
, content_id
, content_name
, content_category
AddToCart
: price
, quantity
, currency
, value
, content_id
, content_name
, content_category
AddToWishlist
: price
, quantity
, currency
, value
, content_id
, content_name
, content_category
ClickButton
CompletePayment
: price
, quantity
, currency
, value
, content_id
, content_name
, content_category
Contact
Download
InitiateCheckout
: price
, quantity
, currency
, value
, content_id
, content_name
, content_category
PlaceAnOrder
: price
, quantity
, currency
, value
, content_id
, content_name
, content_category
Search
: query
Subscribe
: currency
, value
ViewContent
: price
, quantity
, currency
, value
, content_id
, content_name
, content_category
Setting Name | Data Type | Is Required | Is Encrypted | Description |
---|---|---|---|---|
Access Token | string | True | True | Provides access to TikTok’s Events API. You can create an access token in the TikTok Events Manger. |
Setting Name | Platform | Data Type | Default | Is Required | Description |
---|---|---|---|---|---|
Event Source Type | Feed | Web, Feed, App, or Legacy Pixel Batch Web | Legacy Pixel Batch Web | True | The Event Source type corresponding with the Event Source ID of your TikTok dataset. Note that some parameters are not available for Legacy Web. Legacy Web connections should migrate to Web before support for Legacy is eventually removed. |
Event Source ID | All | string |
null | True | The Event Source ID of your dataset, either a Pixel ID or an Offline Event Set ID. |
Email Identity Type | All | string |
True | The Identity Type to forward as the email to TikTok. | |
Enable Web Migration | Web | boolean |
False | False | Forward Track Events instead of Legacy Pixel Batch events. Some parameters are not available for Legacy events. |
External Identity Type | All | string |
Customer ID | True | The Identity Type to forward as the external ID to TikTok. |
Phone Identity Type | All | string |
Mobile Number | True | The Identity Type to forward as the phone number to TikTok. |
Content Type | All | string |
product | True | The content_type property can be set to either ‘product’ or ‘product_group’, depending on how your data feed and product catalog are configured on TikTok’s end. |
Enrich with IP Address | All | boolean |
False | False | If enabled, a batch will be enriched with the most-recently seen IP address value when missing from the batch. |