Data Subject Request API Version 1 and 2
Data Subject Request API Version 3
Key Management
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
Audit Logs API
Bulk Profile Deletion API Reference
Calculated Attributes Seeding API
Custom Access Roles API
Group Identity API Reference
Pixel Service
Data Planning API
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
Workspace Switching
Linting Data Plans
Troubleshooting the Android SDK
API Reference
Upgrade to Version 5
Direct URL Routing FAQ
Web
Android
iOS
Cordova Plugin
Identity
Workspace Switching
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
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
Getting Started
Identity
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
Composable Audiences Overview
User Guide Overview
Warehouse Setup Overview
Audience Setup
Frequently Asked Questions
Overview
Overview
User Profiles
Overview
Create and Manage Group Definitions
Calculated Attributes Overview
Using Calculated Attributes
Create with AI Assistance
Calculated Attributes Reference
Predictions Overview
What's Changed in the New Predictions UI
View and Manage Predictions
Identity Dashboard (Early Access)
Create an Input
Start capturing data
Connect an Event Output
Create an Audience
Connect an Audience Output
Transform and Enhance Your Data
Usage and Billing Report
Observability Overview
Observability User Guide
Observability Troubleshooting Examples
Observability Span Glossary
The new mParticle Experience
The Overview Map
Audit Logs
Key Management
Platform Configuration
Event Forwarding
Event Match Quality Dashboard
Notifications
System Alerts
Trends
Introduction
Data Retention
Data Catalog
Connections
Activity
Data Plans
Live Stream
Filters
Rules
Blocked Data Backfill Guide
Tiered Events
mParticle Users and Roles
Analytics Free Trial
Usage metering for value-based pricing (VBP)
Troubleshooting mParticle
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
Audiences Overview
Create an Audience
Connect an Audience
Manage Audiences
Audience Sharing
Match Boost
FAQ
Inclusive & Exclusive Audiences Overview
Using Logic Blocks in Audiences
Combining Inclusive and Exclusive Audiences
Inclusive & Exclusive Audiences FAQ
Standard Audiences (Legacy)
Predictive Audiences Overview
Using Predictive Audiences
New vs. Classic Experience Comparison
Introduction
Core Analytics (Beta)
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
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
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
User Attributes at Event Time
Understanding the Screen View Event
User Aliasing
Dashboards––Getting Started
Manage Dashboards
Dashboard Filters
Organize Dashboards
Scheduled Reports
Favorites
Time and Interval Settings in Dashboards
Query Notes in Dashboards
The Demo Environment
Keyboard Shortcuts
User Segments
Data Privacy Controls
Data Subject Requests
Default Service Limits
Feeds
Cross-Account Audience Sharing
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
Audience
Feed
Audience
Event
Audience
Cookie Sync
Server-to-Server Events
Platform SDK Events
Event
Audience
Audience
Event
Feed
Event
Audience
Audience
Event
Data Warehouse
Event
Event
Event
Audience
Event
Feed
Event
Event
Event
Event
Audience
Event
Event
Feed
Event
Event
Audience
Feed
Event
Event
Event
Event
Custom Feed
Data Warehouse
Event
Event
Audience
Audience
Audience
Audience
Event
Event
Event
Event
Event
Event
Audience
Event
Audience
Event
Event
Audience
Data Warehouse
Audience
Cookie Sync
Event
Event
Event
Event
Event
Event
Feed
Event
Kit
Event
Audience
Feed
Event
Event
Event
Audience
Event
Event
Event
Feed
Audience
Event
Audience
Event
Audience
Event
Audience
Audience
Audience
Microsoft Ads Audience Integration
Event
Audience
Event
Event
Event
Feed
Event
Event
Event
Event
Event
Event
Feed
Event
Audience
Event
Event
Event
Event
Event
Event
Feed
Event
Event
Custom Pixel
Feed
Event
Event
Event
Event
Audience
Event
Data Warehouse
Event
Event
Audience
Event
Feed
Audience
Loyalty Feed
Audience
Audience
Event
Audience
Audience
Audience
Cookie Sync
Event
Feed
Audience
Event
Event
Event
Audience
Audience
Event
Event
Event
Audience
Cookie Sync
Audience
Cookie Sync
Feed
Event
Audience
Event
Mixpanel provides advanced event and user analytics, including funnel analysis and segmentation. The Mixpanel Cohorts feed integration allows you to ingest Mixpanel Cohorts into mParticle as user attributes, enabling you to build and activate Audiences based on behavioral segments defined in Mixpanel.
When Mixpanel syncs a cohort, it sets a user attribute on matching profiles in mParticle. You can use these attributes to power personalized experiences, targeted messaging, and audience suppression across the hundreds of downstream destinations supported by mParticle.
This integration is designed to close the loop between initial data collection through mParticle, behavioral analysis in Mixpanel, and finally activation through mParticle’s Audiences.
For the sync to work, Mixpanel must be able to match cohort members to mParticle profiles. This depends on how your Mixpanel event output is configured — specifically, the External Identity Type setting. See Setting $mparticle_user_id in Mixpanel for details on how to verify your setup.
Before you can configure the Mixpanel Cohorts feed, you must have:
$mparticle_user_id property or a $distinct_id that corresponds to the MPID. To confirm your setup supports this, verify that the External Identity Type setting in your Mixpanel event output configuration is set to mParticle ID. See Setting $mparticle_user_id in Mixpanel for details.The Mixpanel Cohorts feed integration sends user attribute updates only. For each cohort synced, Mixpanel creates or updates a user attribute on the matched mParticle profile:
| User Attribute | Type | Description |
|---|---|---|
<Cohort Name> |
Boolean | Set to true when a user is a member of the cohort, and false when the user is removed. |
For example, if a cohort in Mixpanel is named “Power Users”, mParticle profiles matched to that cohort will receive a user attribute called Power Users with a value of true. When a user exits the cohort, the attribute is updated to false.
To match users between Mixpanel and mParticle, the integration uses the following identifier priority:
$mparticle_user_id — If this property exists on the Mixpanel user profile, it is used as the primary identifier to resolve the user in mParticle.$distinct_id — If $mparticle_user_id is not present, Mixpanel will fall back to the standard Mixpanel Distinct ID as long as your Mixpanel event output configuration has the External Identity Type set to mParticle ID.See Setting $mparticle_user_id in Mixpanel below to determine whether your current setup is sufficient or if you need to explicitly populate $mparticle_user_id on your Mixpanel user profiles.
Mixpanel offers two ways to sync a cohort to mParticle, depending on whether you need a one-time snapshot or an ongoing, automatically updated audience:
This connection requires setup in both mParticle and Mixpanel.
Choose your sync type:
For more detail on managing cohort syncs in Mixpanel, see Mixpanel’s Cohort Sync documentation.
$mparticle_user_id in MixpanelFor the cohort sync to work, Mixpanel needs to identify which mParticle user each cohort member corresponds to. It does this by looking for a $mparticle_user_id property on the Mixpanel user profile, falling back to $distinct_id if that property isn’t present.
For most customers, no additional setup is required. Whether matching will work depends on how your Mixpanel event output is configured and when your data was sent.
The matching logic works as follows:
$distinct_id is already set to the MPID. The fallback identity matching in the cohort sync will work automatically — no additional setup needed.$mparticle_user_id is automatically included as an event property on all events sent to Mixpanel, regardless of your External Identity Type setting.$mparticle_user_id as a user profile property in Mixpanel using one of the methods below.To check your External Identity Type setting, open your Mixpanel event output configuration in mParticle and locate the External Identity Type field.
$mparticle_user_id is on Mixpanel user profilesIf you want to verify the current state of your Mixpanel profiles before running a sync:
$mparticle_user_id on each profile.$distinct_id — see Determine whether you need to take action to understand whether that fallback will work for your configuration.If your cohort syncs are running, but you’re seeing significantly fewer users in mParticle than expected, missing identifiers are the most likely cause.
$mparticle_user_id as a user profile property in MixpanelIf your setup doesn’t meet the conditions above — for example, if External Identity Type is set to something other than mParticle ID and you need to ensure the MPID appears on Mixpanel user profiles — use one of the following methods. You can also read more about this in Mixpanel’s documentation.
Both options require that you have the Mixpanel event output connected in mParticle; this is the pipeline that carries the attribute to Mixpanel. If you don’t yet have that output configured, set it up first.
Add a user attribute in your app’s code that writes the mParticle ID (MPID) as $mparticle_user_id. Since mParticle forwards user attributes to Mixpanel through the event output, this value will appear on Mixpanel user profiles automatically. For example:
Web SDK:
const currentUser = mParticle.Identity.getCurrentUser();
if (currentUser) {
const mpid = currentUser.getMPID();
currentUser.setUserAttribute("$mparticle_user_id", mpid);
}iOS (Swift):
if let currentUser = MParticle.sharedInstance().identity.currentUser {
currentUser.setUserAttribute("$mparticle_user_id", value: currentUser.mpid.stringValue)
}If you can’t modify your app’s code, an mParticle admin can use Rules to automatically map the MPID to a user attribute before data is sent to Mixpanel:
$mparticle_user_id:batch.user_attributes['$mparticle_user_id'] = batch.mpid;Once the rule is active, every event sent to Mixpanel will include this attribute, and Mixpanel will update the user profile accordingly.
Verify the following settings in your Mixpanel event output. Some settings live at the configuration level (shared across all connections using that output) and others at the connection level (per-connection settings).
Configuration settings
| Setting | Required Value | Purpose |
|---|---|---|
| External Identity Type | mParticle ID |
Sets the value of Mixpanel’s $distinct_id for user profiles. When set to mParticle ID, $distinct_id maps to the MPID, enabling fallback identity matching during cohort sync. |
Connection settings
| Setting | Required Value | Purpose |
|---|---|---|
| Use Mixpanel People | True |
Enables user profile updates in Mixpanel. |
| Include User Attributes | True |
Ensures the $mparticle_user_id attribute is forwarded to Mixpanel. |
| Create Profile Only If Logged In | True (recommended) |
Limits profile creation to known/authenticated users. |
Once a cohort sync has been initiated, you can verify data is flowing correctly in mParticle.
$mparticle_user_id or $distinct_id.Power Users = true).Once cohort data is flowing into mParticle, you can use the synced user attributes as part of the membership criteria for an audience:
<Cohort Name> attribute, and set it equal to true (or false, depending on your use case and which user segments you’re targeting).The most common cause of mismatched user counts between Mixpanel and mParticle is missing identifiers. If a Mixpanel cohort member does not have a $mparticle_user_id or a $distinct_id that resolves to an existing mParticle profile, the sync will not update that user.
There are two things to check:
$distinct_id matching will not work, which can significantly reduce the number of matched users.$mparticle_user_id on user profiles — In Mixpanel, go to the Users report, filter for your cohort, and add a filter to check if $mparticle_user_id is set. The filtered count represents the maximum number of users likely to match via the primary identifier.See Setting $mparticle_user_id in Mixpanel for more detail on both checks.
If your sync appears as Paused in the Mixpanel Integrations tab, hover over the status to see the error. Common causes include:
To resolve, disconnect and reconnect the integration in Mixpanel using a freshly generated Webhook URL from mParticle.
If no user attribute updates appear in mParticle after initiating a sync:
| Setting | Type | Description |
|---|---|---|
| Configuration Name | string |
A unique name for this feed configuration. |
| Input Protection Level | enum |
Controls whether the feed can create new profiles or only update existing ones. Set to Only Update Profiles (recommended) to prevent unintended profile creation. |