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
Custom Access Roles API
Data Planning 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
Direct URL Routing FAQ
Web
Android
iOS
Cordova Plugin
Identity
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
Getting Started
Identity
Initialization
Configuration
Content Security Policy
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
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
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
Data Hosting Locations
Glossary
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
Organize Dashboards
Dashboard Filters
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 Audiences Overview
Using Predictive Audiences
Predictive Attributes Overview
Create Predictive Attributes
Assess and Troubleshoot Predictions
Use Predictive Attributes in Campaigns
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
Snowplow Schema Overview
Snowflake (Snowplow Schema)
Snowflake (Define Your Own Schema)
Aliasing
Event
Audience
Event
Audience
Feed
Event
Audience
Cookie Sync
Event
Audience
Audience
Audience
Feed
Event
Event
Event
Event
Audience
Event
Data Warehouse
Event
Event
Event
Audience
Event
Feed
Event
Event
Event
Event
Audience
Event
Event
Event
Feed
Event
Event
Audience
Feed
Event
Event
Custom Feed
Event
Data Warehouse
Event
Event
Audience
Audience
Audience
Event
Audience
Event
Event
Event
Event
Event
Audience
Audience
Event
Event
Audience
Data Warehouse
Event
Cookie Sync
Audience
Event
Event
Event
Event
Event
Feed
Feed
Event
Event
Event
Audience
Event
Event
Audience
Event
Event
Event
Feed
Audience
Event
Audience
Event
Audience
Event
Audience
Audience
Audience
Audience
Event
Event
Event
Event
Event
Feed
Event
Event
Event
Event
Event
Feed
Audience
Event
Event
Event
Event
Event
Event
Feed
Event
Audience
Event
Event
Event
Custom Pixel
Feed
Event
Event
Event
Audience
Event
Event
Event
Data Warehouse
Event
Event
Audience
Audience
Audience
Event
Audience
Audience
Audience
Cookie Sync
Event
Feed
Audience
Event
Event
Audience
Audience
Event
Event
Event
Event
Audience
Cookie Sync
Audience
Cookie Sync
Feed
Audience
Event
Mixpanel’s mission is to increase the rate of innovation. Companies use Mixpanel to analyze how & why users engage, convert, and retain in real-time on web, mobile, and IoT devices, and then use the data to improve their products.
If you are new to setting up Mixpanel’s Mobile App Analytics, your best place to start is Mixpanel itself and the below are must-reads before proceeding:
When mParticle sends data to Mixpanel, Mixpanel’s APIs are utilized. This allows mParticle to implement server side data forwarding and supports our value proposition to customers of not requiring that additional app SDK components be continually added and updated for integrations.
In order to enable mParticle’s integration with Mixpanel, you will need an account with Mixpanel and have your Mixpanel Token for mParticle configuration. Your Mixpanel Token can be found at the Mixpanel topic, Find Project Token.
"true"
or "false"
(not case sensitive), will be converted to boolean values before being forwarded to Mixpanel.mParticle’s SDK supports nearly all of the Mixpanel SDK specific features natively. When you use the mParticle SDK, mParticle events will be transformed using Mixpanel-compliant naming conventions and activate the corresponding features automatically.
Feature Name | mParticle Support | Feature Description |
---|---|---|
Funnels | Yes | Analyze where users drop off. |
Identity Management | Yes | Aliasing to merge identities. |
In-app Notifications | No | Showing your messages when app an opens. |
People Profiles | Yes | Get to know your users, track their LTV. |
Retention | Yes | Analyze how many users come back to your apps, break down by cohorts |
Segmentation, now known as Insights | Yes | Slice and dice data using all available dimensions (by events, event attributes, user attributes, etc.). For information about Insights replacing Segmentation see, Segmentation Retirement FAQ. |
Survey | No | Ask users what they think of your apps. |
One of the key features of Mixpanel is funnel tracking, this feature requires a consistent approach to identifying your users as they sign up, and progress from being only identifiable by their device, to having a unique “logged in” ID.
mParticle manages this process using its IDSync feature. IDSync gives you granular control over how user profiles are managed. To support IDSync, mParticle maintains a hierarchy of different ID types.
A traditional Mixpanel implementation, using the Mixpanel SDK, manages sign-up funnels by using the following process:
Distinct ID
is set using a default anonymous device id (Apple Advertising ID for iOS, a random GUID for Android, a Cookie ID for Web).identify
method. Mixpanel recommends against using identify for anonymous visitors to your site.If your project has Mixpanel’s ID Merge feature enabled, the call to identify
will connect pre- and post-authentication events when appropriate.
If your project does not have ID Merge enabled, identify
will change the user’s local distinct_id to the unique ID you pass. Events tracked prior to authentication will not be connected to the same user identity. If ID Merge is disabled, Alias can be used to tie the original Distinct ID (an anonymous device ID) and the new Distinct ID (a unique User ID) together in Mixpanel.
If this process is not followed correctly, funnel tracking won’t be possible, as Mixpanel will see the two Distinct IDs as two completely separate users.
If you wish to use Mixpanel’s funnel tracking features, here is one option for implementing with mParticle:
This option is recommended for new implementations. This option lets your Mixpanel user profiles mirror those maintained by mParticle. This option lets your mParticle Identity strategy take care of aliasing for you, before your data ever reaches Mixpanel.
For this to work, you need to have selected an Identity Strategy that supports funnel tracking, such as the Profile Conversion Strategy. If you use the Profile Conversion Strategy and mParticle’s Customer ID
as your logged-in ID type, a sign-up flow works as follows:
mParticle ID
— mapped to Mixpanel as the Distinct ID — which never changes.To use this option, set the External Identity Type to mParticle ID
in the Configuration Settings.
Note that this example is the minimum necessary to demonstrate the required sign-up flow and does not include additional features, such as completion handlers. Refer to the full Identity documentation:
To support each feature in the Supported Features table above, multiple methods will need to be implemented. The following table shows the mapping between each feature and SDK methods.
Mixpanel SDK Method | Method Description | Related Feature | mParticle SDK Method | Notes |
---|---|---|---|---|
alias | Links two IDs as the same user. | People Analytics | Not Supported | Mixpanel no longer recommends using the alias method to merge identities. |
deleteUser | Delete current user’s record from Mixpanel People. | People Analytics | Not Supported | |
identify | Sets the distinct ID of the current user. | People Analytics | SetUserIdentity | By default, device udid is used to identify a user. If the ‘Use Mixpanel People’ setting is enabled, and the ‘Use Customer ID’ setting is enabled, and a Customer Id is available, Customer Id is used. |
increment | Increment the given numeric properties by the given values. | People Analytics | Not Supported | For revenue tracking, use logEvent with attributes and set up LTV tracking. |
registerSuperProperties | Registers super properties, overwriting ones that have already been set. | Segmentation, Funnels, Retention, People Analytics | Not implemented. SetUserAttribute achieves the same effect. |
Recommendation is to use mParticle’s SetUserAttribute method to set user attributes that could be added to every event if configured |
registerSuperPropertiesOnce | Registers super properties without overwriting ones that have already been set. | Segmentation, Funnels, Retention, People Analytics | Not supported | mParticle leaves this type of implementation to the developer. |
reset | Clears all stored properties and distinct IDs. Useful if your app’s user logs out. | People Analytics | Not Supported | |
set | Set user properties | Segmentation, People Analytics | SetUserAttribute | If MessageType is AppEvent or ScreenView, user attributes will be sent if the ‘Include User Attributes’ setting is enabled |
track | tracks an event with or without properties | Segmentation, Funnels, Retention, People Analytics | logScreen / logEvent | |
trackCharge | Track money spent by the current user for revenue analytics | People Analytics | logEvent. Also, the logged events need to be set up as LTV tracking event in mParticle’s UI | |
union (Android only) | add an array of values to a user attribute key | People Analytics | Not supported | |
unset (Android only) | remove a property of the given name from a user profile | People Analytics | removeUserAttribute |
Tracking standard events in the mParticle SDK is fairly straightforward. Events can be standalone or include event attributes. mParticle attributes are converted to Mixpanel properties automatically when forwarded.
Mixpanel’s SDK Method | mParticle’s SDK Method |
---|---|
track with properties | logEvent with event attributes or logEcommerceTransactionWithProduct |
track with no properties | logScreen or logEvent with no event attributes |
mParticle sends data to different Mixpanel endpoints depending on the age of the events:
Super properties allow certain properties that you want to include with each event you send. Generally, these are things you know about the user rather than about a specific event, for example, the user’s age, gender, or source. These super properties will be automatically included with all tracked events. Super properties are saved to device storage, and will persist across invocations of your app.
Mixpanel’s SDK Method | mParticle’s SDK Method | Description |
---|---|---|
registerSuperProperties | SetUserAttribute | Super properties, once registered, are automatically sent for all even tracking calls. |
registerSuperPropertiesOnce | Not supported |
Both Mixpanel and mParticle have the ability to set specific attributes for the user which will persist until overwritten.
Mixpanel’s SDK Method | mParticle’s SDK Method | Description |
---|---|---|
set | SetUserAttribute | Sets a single property with the given name and value for this group. |
If you have enabled the ‘Include User Attributes’ setting, then any messages with type ScreenView or AppEvent will include the email user identity (if available) and all user attributes. The SetUserAttribute
method can be used to set user attributes. This method will overwrite the values of any existing user attributes.
mParticle’s attribute naming conventions closely resemble standard Mixpanel attributes, which a few exceptions:
mParticle attribute | will be changed to |
---|---|
$FirstName | $first_name |
$LastName | $last_name |
$Mobile | $phone |
These mParticle attributes will just have the leading $ removed:
mParticle attribute | will be changed to |
---|---|
$Gender | Gender |
$Age | Age |
$Country | Country |
$Zip | Zip |
$City | City |
$State | State |
$Address | Address |
If these attributes are seen, they will be replaced with Mixpanel attributes:
mParticle attribute | will be changed to |
---|---|
created | $created |
lastSeen | $last_seen |
name | $name |
username | $username |
With available user identity info and user attributes, standard people data being sent includes:
Data being sent in the $set section:
In order to track revenue using mParticle and Mixpanel, you need to ensure that mParticle is forwarding on relevant data by enabling the Use Mixpanel People setting. If the mParticle SDK method has been called to log an event, the event and one event attribute have been set up for LTV tracking, and the event is not excluded by an account policy, a transaction message will be sent to Mixpanel.
Mixpanel’s SDK Method | mParticle’s SDK Method |
---|---|
trackCharge | logEvent or logEcommerceTransactionWithProduct. Also, the logged events need to be set up as LTV tracking event in mParticle’s UI. |
Only specific data will be considered as part of the transactional funnel. Standard message data format is:
Data being sent in the transactions section:
yyyy-MM-dd'T'HH:mm:ss
Event batches sent to Mixpanel using the server-side web integration will also send the following data:
Note that this data depends on the http_header_user_agent
field so they will only be set if a value is included in the batch.
By default, mParticle sends data to Mixpanel’s US Servers, but offers an EU Data Localization option for their ingestion API, which allows data to be sent and stored in the Mixpanel EU Data Center (see Mixpanel’s documentation on Storing Your Data in the European Union). This EU Residency is not automatically set within a Mixpanel project. You can find steps on how to set EU Data Localization for your Mixpanel project within the Mixpanel documentation. In mParticle, the Mixpanel Target Server Configuration Setting must be set to EU Residency Server
.
Setting Name | Data Type | Default Value | Description |
---|---|---|---|
Token | string |
Project token, found by clicking the gear icon in your project. | |
API Secret | string |
Your Mixpanel API Secret which can be found by clicking on your name in the upper right hand corner under Project Settings. This is required to forward Historical Data. | |
External Identity Type | string |
Customer ID | The mParticle User Identity type to forward as an External Id to Mixpanel. |
Mixpanel Target Server | string |
Standard Server | Mixpanel Server where the data will be stored. You can set up EU Residency in your Mixpanel project settings. |
Setting Name | Data Type | Default Value | Platform | Description |
---|---|---|---|---|
Forward Session Start/End Messages | bool |
True | iOS, Android, tvOS, Roku, FireTV, Xbox | If enabled, all session start and session end messages will be forwarded to Mixpanel as separate events. |
Session Start Event Name | string |
session-start | iOS, Android, tvOS, Roku, FireTV, Xbox | The event name that will be forwarded to Mixpanel on a session start message. Only used if ‘Forward Session Start/End Messages’ is enabled. |
Session End Event Name | string |
session-end | iOS, Android, tvOS, Roku, FireTV, Xbox | The event name that will be forwarded to Mixpanel on a session end message. Only used if ‘Forward Session Start/End Messages’ is enabled. |
Create Profile Only If Logged In | bool |
False | All | If enabled, Mixpanel will only forward customer profile data if a customer ID is in the list of user’s identities; if disabled, Mixpanel will always forward customer profile data. |
Use Mixpanel People | bool |
True | All | Enable this setting if you are using customer profiles in Mixpanel |
Include User Attributes | bool |
True | All | If enabled, all user attributes will be included when tracking events |
Include Attribution Info | bool |
False | All | If enabled, attribution info (publisher and campaign names) will be included when tracking events. |
Include IP Address | bool |
True | All | If enabled, IP Address will be sent with the event. This is used by Mixpanel to retrieve location data for the event. |
Send Event Attributes as Objects | bool |
True | All | If enabled, mParticle will attempt to send event attributes as objects. Attributes should be string values containing serialized JSON objects. |
Upper Case Idfa and Idfv | bool |
False | All | Whether to upper case Idfa and Idfv as Mixpanel is case sensitive with device ids |
Simplified ID Merge | bool |
False | iOS, Android, tvOS, Roku, FireTV, Xbox | If enabled, mParticle will send $device_id and $user_id attributes for use with the MixPanel Simplified ID Merge API |
Forward Web Requests Server Side | bool |
False | Web | If enabled, requests will only be forwarded server-side. |
Super Properties | Custom Field |
All | Mapped user attributes here will always be sent as event properties (regardless of the ‘Include User Attributes’ setting). Note they will also be excluded from people properties. |