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
Household Reach API Reference
Custom Access Roles API
Data Planning API
Pixel Service
Profile API
Events API
mParticle JSON Schema Reference
IDSync
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
Upgrade to Version 6
AMP SDK
Cordova Plugin
Identity
Direct URL Routing FAQ
Web
Android
iOS
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
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
Upgrade to Version 9
Getting Started
Identity
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 3 of the SDK
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
Household Reach
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
Future Behavior Predictions Overview
Create Future Behavior Prediction
Manage Future Behavior Predictions
Create an Audience with Future Behavior Predictions
Identity Dashboard
Identity Logs
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
The new mParticle Experience
The Overview Map
Observability Overview
Observability User Guide
Observability Troubleshooting Examples
Observability Span Glossary
Audit Logs
Key Management
Platform Configuration
Event Forwarding
Event Match Quality Dashboard
Notifications
System Alerts
Trends
Introduction
Data Retention
Connections
Data Catalog
Activity
Data Plans
Live Stream
Filters
Consent Filters
Rules
Blocked Data Backfill Guide
Tiered Events
mParticle Users and Roles
Analytics Free Trial
Troubleshooting mParticle
Usage metering for value-based pricing (VBP)
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 Insights
Audience Sharing
Match Boost
Inclusive & Exclusive Audiences Overview
Using Logic Blocks in Audiences
Combining Inclusive and Exclusive Audiences
Inclusive & Exclusive Audiences FAQ
Audience Expansion
Audience Agent Overview
Building Audiences with the Agent
Data and Privacy
Predictive Audiences Overview
Using Predictive Audiences
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
Organize Dashboards
Dashboard Filters
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
Import Data with CSV Files
CSV File Reference
SFTP Credentials
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
Audience
Feed
Event
Audience
Audience
Platform SDK Events
Cookie Sync
Server-to-Server Events
Audience
Event
Audience
Feed
Event
Event
Data Warehouse
Event
Event
Event
Audience
Event
Feed
Event
Event
Event
Event
Audience
Event
Event
Feed
Event
Event
Audience
Feed
Event
Event
Event
Custom Feed
Data Warehouse
Event
Event
Audience
Audience
Audience
Event
Event
Event
Event
Event
Event
Audience
Audience
Event
Audience
Event
Event
Audience
Data Warehouse
Event
Cookie Sync
Event
Audience
Event
Event
Event
Feed
Event
Event
Feed
Event
Kit
Event
Audience
Event
Event
Audience
Event
Event
Event
Feed
Audience
Audience
Event
Event
Event
Audience
Audience
Audience
Microsoft Ads Audience Integration
Event
Audience
Audience
Event
Event
Event
Event
Feed
Event
Event
Event
Event
Event
Feed
Event
Audience
Event
Event
Event
Event
Event
Event
Event
Feed
Event
Event
Event
Audience
Feed
Custom Pixel
Event
Event
Event
Event
Event
Audience
Event
Audience
Data Warehouse
Event
Event
Audience
Audience
Feed
Event
Loyalty Feed
Audience
Audience
Event
Audience
Audience
Audience
Cookie Sync
Event
Feed
Event
Audience
Event
Audience
Audience
Audience
Event
Event
Event
Event
Audience
Cookie Sync
Cookie Sync
Audience
Feed
Audience
Creating an audience begins with defining your use case, segmentation approach, and engagement strategy. To do this, consider the following questions:
Retaining users is crucial for the sustained success of a mobile application. By identifying and re-engaging inactive users, you can boost overall engagement and reduce user drop-off.
Goal: Improve user retention by targeting users who have not opened the app in the last 7 days.
Segmentation Strategy: Identify users who have been inactive for a week but used the app actively within the previous month.
Engagement Strategy: Send personalized push notifications offering a discount or exclusive content to re-engage users.
Leveraging predictive analytics allows businesses to anticipate user behavior and proactively engage those most likely to convert, thereby optimizing marketing efforts.
Goal: Increase conversion rates by targeting users predicted to make a purchase in the next 7 days.
Segmentation Strategy: Utilize Predictive Audiences to identify users with a high likelihood of purchasing based on machine learning models analyzing past behaviors and interactions.
Engagement Strategy: Deliver personalized email campaigns featuring product recommendations or special offers to these high-likelihood purchasers.
Identifying subscribers at risk of cancelling enables proactive engagement strategies to maintain a stable subscriber base.
Goal: Reduce cancellations by identifying at-risk subscribers.
Segmentation Strategy: Identify users whose subscription renewal is within the next 30 days and who have decreased engagement (e.g., fewer logins or interactions).
Engagement Strategy: Offer these users tailored incentives such as a loyalty bonus or a discounted renewal rate to encourage continued subscription.
Once you have clearly defined your use case, it’s time to begin building your audience.


Individual audiences are contained within folders called audience groups. The first step in creating a new audience is to configure this folder:

After saving your audience group, you’ll enter the Editor. Here is where you can add, view, edit, and connect audiences.
Follow the steps below to create your first audience within this folder:


.After you have added your first criteria, a number displays that represents the estimated audience size:
.
This estimate is based on a sample of data. As you continue to add criteria, you will see an estimated size for both individual criteria as well as for the whole audience.
Time delays are configurable waiting periods between parent and child audiences. When a user qualifies for and is added to a parent audience, the delay postpones their evaluation for membership in the child audience until the configured duration has elapsed.
Use time delays for customer lifecycle sequences that depend on timing as well as eligibility, including nurture cadences, retargeting cooldowns, delayed re-engagement, or any part of the customer journey where engaging with the customer immediately would be premature or create a poor experience.
A time delay governs when mParticle evaluates members of a parent audience for membership in a child audience.
Imagine you are a retailer and you want to contact customers 3 days after a purchase, but only if they haven’t made an additional purchase. You would create a Recent Purchasers parent audience for users with a purchase in the last 7 days and a Day 3 Follow-Up child audience for users with exactly one purchase during that period. Then, you would add a 3-day time delay for the child audience.
A customer who makes a purchase on Monday is added to Recent Purchasers, which starts their 3-day countdown for Day 3 Follow-Up. When the delay completes on Thursday, mParticle evaluates the customer against the Day 3 Follow-Up criteria. If they made an additional purchase, they don’t qualify and aren’t added to the child audience. Otherwise, mParticle adds them to Day 3 Follow-Up and forwards their membership to its connected outputs.
To add a time delay to an audience:
When you add a delay below a parent audience, mParticle applies it to each of that parent’s direct child audiences. The delay doesn’t propagate to deeper descendants.
Configured time delays represent the minimum duration before mParticle evaluates a parent audience member for membership in a child audience. After the waiting period ends, this evaluation can add a short delay before a qualifying user is added to the child audience. This added latency varies with audience size.
You can edit an individual child audience’s delay independently of its siblings. After you customize any child audience’s delay, the group-level edit control is locked, and you must manage each child audience’s delay individually.
If sibling audiences have different delays, and you add another child node, the new node receives the delay configured on the earliest-created sibling. Review the new node’s delay and adjust it if necessary.
When you edit a delay, mParticle recalculates each user’s remaining waiting period from the time they originally entered the child audience’s waiting room. If the revised time delay is shorter than the time a user has already waited, mParticle immediately evaluates the user against the child audience’s criteria.
When you delete a delay, mParticle immediately evaluates every user in the child audience’s waiting room. Users who meet the child audience’s criteria are added to that audience.
Yes. If the user later re-qualifies for and is added to the parent audience, a new countdown begins for the child audience. Previously elapsed waiting time isn’t preserved.
Yes. Set the delay for the parent’s direct child audiences first, then edit individual child audiences. Customizing any individual child audience’s time delay locks the group-level edit control.
The updated duration applies to users who are already waiting for the child audience. When the updated delay completes, mParticle evaluates each user against the child audience’s criteria. If a user has already waited longer than the updated duration, mParticle evaluates them immediately.
Yes. Each time a user is added to a parent audience along the path, the countdown begins for the next delayed child audience. The total time required to reach the final audience is the sum of the delays along the path, plus any processing time incurred at each step.
No. While users are waiting for a child audience, they aren’t members of that audience and aren’t forwarded to its connected outputs.
The three most common reasons an audience won’t allow you to add a time delay are:
Audience A/B testing randomly divides an audience into mutually exclusive variations so you can compare different targeting approaches. Each variation is represented as an individual audience and can be connected to outputs independently.
For example, if you want to reengage an audience of users with low engagement, you could create this test:
You can then compare engagement across the variations and use the most successful strategy for the full audience.
After you save the test, each variation appears as a separate branch in the Audience Group Editor. Audience members are assigned to one variation, including the control group, according to the percentages you configured.
Each variation, including the control group, is created as an individual audience with its own Connect Output action. You can connect different variations to different outputs or leave the control group unconnected. You can also connect the original audience before the A/B split to an output.
For detailed connection instructions, see Connect A/B Test Variations.
You can edit the source audience definition without removing the test. As audience membership changes, mParticle continues to assign qualifying users according to the percentages configured for the test.
To end an A/B test:
Deleting an A/B test also deletes its variations’ audiences and output connections. mParticle stops forwarding data to those outputs, which may leave their downstream audiences out of date or out of sync.
The Refresh Frequency setting determines how often mParticle updates audience membership. Choosing the right refresh frequency ensures your audience membership is as current as necessary for your business use case.
mParticle offers two types of refresh frequencies:
Setting an audience’s Refresh Frequency to Once creates a one-time audience: an audience that calculates its membership a single time and does not refresh on a recurring basis. One-time audiences are a good fit for large audiences built on long-term, historical data, where real-time or repeated updates aren’t necessary.
A one-time audience expires 30 days after the scheduled start date. Before it expires, you can continue to connect it to new outputs, and mParticle sends its already-calculated membership to each new connection (see Connect an Audience).
After a one-time audience expires:
An expired audience displays the Expired status (see Audience Statuses). Expiration does not remove membership that was already written to user profiles, so a real-time audience that references the one-time audience’s membership is unaffected when the one-time audience expires.
After defining your audience criteria, you can use the Preview tab to inspect a sample of users that match your current segmentation. Audience Preview helps validate audience composition before activation, reducing errors and improving targeting accuracy.

Each row in the preview includes:
Audience Preview enables quick validation of audience logic, ensuring that the right users are included before activation.
Audience Insights helps you better understand changes in an audience’s membership, the potential reach of an audience, attribute distribution across your audiences, and how audiences overlap.
For composable audiences, you can access Audience Insights directly from the Audience Builder.
For real-time audiences, you can access Audience Insights directly from Audience Builder. If a real-time audience has an Active or Calculated status, you can also open a dedicated Audience Insights page by selecting the Insights icon in its row on the Audiences landing page:
To learn more about Audience Insights, see Audience Insights.
Throughout the Audience creation process, you will see both preliminary and precise audience sizes.
Preliminary estimates are displayed before the audience has been fully calculated, and are denoted with a ~ character throughout the Audiences feature. When an Audience is created or edited, for example, preliminary estimates are shown to give an approximate idea of audience size.
Once an audience definition has been defined, a precise estimate will be displayed for that audience, even if it has not been explicitly activated or connected. It can take up to 15 minutes for the precise estimate to finish calculating. Waiting for the precise estimate is a more efficient option than activating the audience just to get a sense of its size. Precise estimates will display a cross-hairs icon wherever they are displayed throughout the segmentation experience:
![]()
The Activate Without Connecting feature allows you to manually activate an audience so that it calculates audience membership and updates user profiles, even if no outputs are connected. Common use cases for activating an audience without connecting it include:
Audiences can exist in four states:
Activate an audience: To activate an audience after it has been created (but before any outputs have been connected), click the three vertical dots in the top right of the audience tile, then select Activate.
Deactivate an audience: To deactivate an audience once it is activated, click the three vertical dots in the top right of the audience tile, then select Deactivate.
Once you have created an Audience that you want to forward to an external tool for use in a campaign, click the Connect Output button in the Audience tile, then follow the steps to connect that audience to any of your connected outputs.
You can build criteria based on two main sources of data:
Event criteria check for specific events and their properties, and their availability is subject to the data retention policy of your account. Within the new criteria option in the audience builder, the following options create event-based criteria:
EventsEcommerceCrashesInstallsUninstallsSessionsUpgradesScreen viewsThese criteria check your active user profiles, and their availability is subject to the user profile retention policies of your account. Within the new criteria option in the audience builder, the following options create profile-based criteria:
campaign and publisher.You can add criteria to an audience definition based on audience membership. For example, if you have two audiences, A and B, you can specify that if a user is a member of audience A, they should be included in audience B.
However, the Audience Builder will not allow you to add audience membership-based criteria that results in a circular reference. For example, imagine the following scenario:
In this case, High-Value Shoppers ends up referencing itself indirectly through the other two audiences, making the definition invalid.
To prevent this, the Audience Builder would exclude Holiday Campaign Responders from the list of audiences in the dropdown menu. If you notice that some of your audiences are not displayed when creating membership-based conditions, this could be why.
Audience criteria can be created with several different data types, each with its own matching rules.
When building audiences based on string attributes, several case-insensitive matching rules can be applied:
"blue" matches both "blue" and "blue shirt". "blue" matches "blue", but not "blue shirt". * represents any number of characters, and ? represents any single character. For example, "bl?e" or "b*e" would both match "blue". "Chicago" in a list of movies returns "Chicago (2002)" and "Chicago (1927)", but not "Chicago Cubs". "Chicago" would return all movies with "Chicago" in the title. Filters based on fixed calendar dates. For example, events occurring after 09/12/2018. Date-based criteria are defined in UTC and are not relative to when the audience is calculated:
Defines a period relative to the current time. For example, users active within the last 7 days. Recency-based criteria select events occurring within a timeframe relative to ‘now’.
Attribution criteria segment users based on campaign interactions, such as app installs or re-engagements.
custom_attributes. Note: All event criteria are subject to audience event retention limits.
Identity criteria segment users based on their stored identities. You can test for the existence of a specific identity or apply string-based logic. These criteria are scoped to the workspace in which the audience is created. For example, if your account has three workspaces, an audience in one workspace only includes users active in that workspace.
Location criteria allow segmentation based on geographic information.
For ecommerce events, you can target users who added items to their cart but did not complete a purchase.
Use Exists or Not Exists to check for the presence of an attribute.
Gender = "Female" and Gender = undefined.Hybrid Audiences allows you to combine a composable audience that runs in your warehouse with real-time criteria in the Audience Builder. At a high level, you start with a composable audience that has been enabled for Hybrid Audiences, then reference that audience as part of your real-time criteria.
When a composable audience is enabled for Hybrid Audiences, mParticle matches each warehouse user to their mParticle profile using the identities configured in the underlying data model (such as email or customer ID). For each user where a match is found, mParticle records that user as a member of the audience on their profile. This is what makes composable audience membership available as a criterion in the Audience Builder.
Before you begin, make sure that:
To create a hybrid audience in the Audience Builder:
Hybrid audiences you create this way are activated and connected to outputs in the same way as other real-time audiences. You can learn more about hybrid audiences in the Composable Audiences Overview.
As you define your audience criteria, a list of suggested matching values will appear based on what you’ve entered.

This feature works both when building new audiences and fine-tuning existing ones, helping you save time, reduce manual effort, and improves accuracy. To use it, you must have one of the following standard Roles: User, Admin, Audiences-only, Support, or Admin+Compliance. Alternatively, you can create a Custom Role with any of the following tasks: audiences:draft, audiences:edit, catalog, or audiences.
Once you have added criteria, you can use the Boolean operators And, Or, and Exclude to create logical relationships with subsequent criteria.

Be mindful of your selected audience environment:
Audiences in Development display a badge in the Audience Group Editor, while Production audiences do not.
By following these steps and best practices, you can build and activate audiences that align with your business objectives, enabling more targeted user engagement and monetization strategies.
Was this page helpful?