Developers
API References
Platform API

Key Management

Platform API Overview

Accounts

Apps

Audiences

Calculated Attributes

Data Points

Feeds

Field Transformations

Services

Users

Workspaces

Data Subject Request API

Data Subject Request API Version 1 and 2

Data Subject Request API Version 3

Warehouse Sync API

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

Data Planning API

Household Reach API Reference

Pixel Service

Profile API

Events API

mParticle JSON Schema Reference

IDSync

Client SDKs
AMP

AMP SDK

Android

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

Cordova

Cordova Plugin

Identity

Direct Url Routing

Direct URL Routing FAQ

Web

Android

iOS

Flutter

Getting Started

Usage

API Reference

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

.NET MAUI

Getting Started

Identity

React Native

Getting Started

Identity

Roku

Getting Started

Identity

Media

Unity

Upload Frequency

Getting Started

Opt Out

Initialize the SDK

Event Tracking

Commerce Tracking

Error Tracking

Screen Tracking

Identity

Location Tracking

Session Management

Web

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

Xbox

Getting Started

Identity

Alexa

Guides
Partners

Introduction

Outbound Integrations

Outbound Integrations

Firehose Java SDK

Inbound Integrations

Kit Integrations

Overview

Android Kit Integration

JavaScript Kit Integration

iOS Kit Integration

Data Hosting Locations

Compose ID

Glossary

Migrate from Segment to mParticle

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

Media SDKs

Android

iOS

Web

Quickstart
HTTP Quick Start

Step 1. Create an input

Step 2. Create an output

Step 3. Verify output

Android

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

iOS Quick Start

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

Java Quick Start

Step 1. Create an input

Step 2. Create an output

Step 3. Verify output

Node Quick Start

Step 1. Create an input

Step 2. Create an output

Step 3. Verify output

Python Quick Start

Step 1. Create an input

Step 2. Create an output

Step 3. Verify output

Web

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

Tools

mParticle Command Line Interface

Smartype

Linting Tools

Server SDKs

Node SDK

Go SDK

Python SDK

Ruby SDK

Java SDK

API Credential Management

The Developer's Guided Journey to mParticle

Guides
Platform Overview

Introduction

Navigating mParticle

The Overview Map

Getting Started

Create an Input

Start capturing data

Connect an Event Output

Create an Audience

Connect an Audience Output

Transform and Enhance Your Data

mParticle Agent

Overview

Explore Your Data

Build Audiences

Create Predictions

Data and Privacy

mParticle Agent FAQ

Oversight

System Alerts

Observability

Observability Overview

Observability User Guide

Observability Troubleshooting Examples

Observability Span Glossary

Privacy

Data Subject Requests

Consent Filters

Data Privacy Controls

Data Platform

Trends

Setup

Connections

Feeds

Import Data with CSV Files

Import Data with CSV Files

CSV File Reference

SFTP Credentials

Live Stream

Data Catalog

Rules

Plans

Filters

Event Forwarding

Event Match Quality

Data Retention

Tiered Events

Blocked Data Backfill Guide

Data Warehouse
Composable Audiences

Warehouse Setup Overview

Connections

Connections Overview

Google BigQuery

Databricks

Amazon Redshift

Snowflake

Data Models

Data Models Overview

Create a User Data Model

Create an Event Data Model

Create a Generic Data Model

Warehouse Sync

Warehouse Sync User Guide

Historical Data and Warehouse Sync

Customer 360

Overview

User Profiles

Overview

User Profiles

Identity Dashboard

Identity Resolution Log

Household Reach

Calculated Attributes

Calculated Attributes Overview

Using Calculated Attributes

Create with AI Assistance

Calculated Attributes Reference

Predictions

Predictions Overview

What's Changed in the New Predictions UI

View and Manage Predictions

Predict Future Behavior

Future Behavior Predictions Overview

Create Future Behavior Prediction

Manage Future Behavior Predictions

Create an Audience with Future Behavior Predictions

Next Best Action

Next Best Action Overview

Create a Next Best Action Prediction

Manage Next Best Actions

Create an Audience with Next Best Actions

Find Similar Customers

Similar Customer Predictions Overview

Create Similar Customer Prediction

Manage Similar Customer Predictions

Build an Audience with Similar Customer Predictions

IDSync

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

Analytics

Introduction

Core Analytics (Beta)

Analytics Free Trial

Setup

Sync and Activate Analytics User Segments in mParticle

User Segment Activation

Welcome Page Announcements

Settings

Project Settings

Roles and Teammates

Organization Settings

Global Project Filters

Portfolio Analytics

Analytics Data Manager

Analytics Data Manager Overview

Events

Event Properties

User Properties

Revenue Mapping

Export Data

UTM Guide

Analyses

Analyses Introduction

Segmentation: Basics

Getting Started

Visualization Options

For Clauses

Date Range and Time Settings

Calculator

Numerical Settings

Segmentation: Advanced

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

Funnels: Basics

Getting Started with Funnels

Group By Settings

Conversion Window

Tracking Properties

Date Range and Time Settings

Visualization Options

Interpreting a Funnel Analysis

Funnels: Advanced

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

Cohorts

Getting Started with Cohorts

Analysis Modes

Save a Cohort Analysis

Export Results

Explore Users

Saved Analyses

Manage Analyses in Dashboards

Journeys

Getting Started

Event Menu

Visualization

Ending Event

Save a Journey Analysis

Users

Getting Started

User Activity Timelines

Time Settings

Export Results

Save A User Analysis

Query Builder

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

Dashboards––Getting Started

Manage Dashboards

Dashboard Filters

Organize Dashboards

Scheduled Reports

Favorites

Time and Interval Settings in Dashboards

Query Notes in Dashboards

Analytics Resources

The Demo Environment

Keyboard Shortcuts

User Segments

Tutorials

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

APIs

User Segments Export API

Dashboard Filter API

Analytics (Deprecated)
Identity Providers

Single Sign-On (SSO)

Setup Examples

Settings

Debug Console

Data Warehouse Delay Alerting

Introduction

Developer Docs

Introduction

Integrations

Introduction

Rudderstack

Google Tag Manager

Segment

Data Warehouses and Data Lakes

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)

APIs

Dashboard Filter API (Deprecated)

REST API

User Segments Export API (Deprecated)

SDKs

SDKs Introduction

React Native

iOS

Android

Java

JavaScript

Python

Object API

Developer Basics

Aliasing

Audiences

Audiences Overview

Create an Audience

Connect an Audience

Manage Audiences

Audience Insights

Audience Sharing

Match Boost

Inclusive & Exclusive Audiences (Early Access)

Inclusive & Exclusive Audiences Overview

Using Logic Blocks in Audiences

Combining Inclusive and Exclusive Audiences

Inclusive & Exclusive Audiences FAQ

Audience Expansion

Predictive Audiences

Predictive Audiences Overview

Using Predictive Audiences

Composable Audiences

Composable Audiences Overview

User Guide

User Guide Overview

Audience Setup

Frequently Asked Questions

Settings
Platform

Platform Configuration

mParticle Users and Roles

Key Management

Notifications

Audit Logs

Billing

Usage and Billing Report

Usage metering for value-based pricing (VBP)

Troubleshooting mParticle

Default Service Limits

Glossary

Integrations
24i

Event

Aarki

Audience

ABTasty

Audience

Adikteev

Audience

Event

Actable

Feed

Adjust

Event

Feed

AdMedia

Audience

AdChemix

Event

Adobe Marketing Cloud

Cookie Sync

Platform SDK Events

Server-to-Server Events

Adobe Campaign Manager

Audience

Adobe Audience Manager

Audience

Adobe Experience Platform

Event

Adobe Target

Audience

AdPredictive

Feed

AgilOne

Event

Algolia

Event

Amazon Advertising

Audience

Event

Airship

Feed

Event

Audience

Amazon Kinesis

Event

Amazon Kinesis Firehose

Audience

Event

Amazon Redshift

Data Warehouse

Amazon SNS

Event

Amazon SQS

Event

Amazon S3

Audience

Event

Amobee

Audience

Amplitude

Event

Forwarding Data Subject Requests

Ampush

Audience

Event

Analytics

Audience

Event

Forwarding Data Subject Requests

Anodot

Event

AppLovin

Audience

Event

Antavo

Feed

AppsFlyer

Event

Feed

Forwarding Data Subject Requests

Apptentive

Event

Apptimize

Event

Awin

Event

Microsoft Azure Blob Storage

Event

Batch

Audience

Event

Bidease

Audience

Bluecore

Event

Bing Ads

Event

Bluedot

Feed

Branch

Event

Feed

Forwarding Data Subject Requests

Branch S2S Event

Event

Blueshift

Event

Feed

Forwarding Data Subject Requests

Braze

Audience

Forwarding Data Subject Requests

Feed

Event

Bugsnag

Event

Cadent

Audience

Census

Feed

CleverTap

Audience

Feed

Event

comScore

Event

Conversant

Event

Button

Audience

Event

Attentive

Event

Feed

Cordial

Feed

Audience

Cortex

Forwarding Data Subject Requests

Event

Feed

Criteo

Audience

Event

Crossing Minds

Event

Custom Feed

Custom Feed

CustomerGlu

Event

Feed

Customer.io

Audience

Event

Feed

Datadog

Event

Databricks

Data Warehouse

Didomi

Event

Eagle Eye

Audience

Dynamic Yield

Audience

Event

Edge226

Audience

Emarsys

Audience

Epsilon

Event

Everflow

Audience

Facebook Offline Conversions

Event

Facebook

Audience

Event

Google Analytics for Firebase

Event

Flurry

Event

Flybits

Event

Foursquare

Audience

Feed

ForeSee

Event

FreeWheel Data Suite

Audience

Friendbuy

Event

Google Ad Manager

Audience

Google Ads

Audience

Event

Google Analytics

Event

Google Analytics 4

Event

Google Cloud Storage

Audience

Event

Google BigQuery

Audience

Data Warehouse

Google Enhanced Conversions

Event

Google Marketing Platform

Audience

Cookie Sync

Event

Google Marketing Platform Offline Conversions

Event

Google Pub/Sub

Event

Herow

Feed

Google Tag Manager

Event

Heap

Event

Hyperlocology

Event

Hightouch

Feed

Ibotta

Event

ID5

Kit

InMarket

Audience

Impact

Event

InMobi

Audience

Event

Insider

Audience

Event

Feed

Inspectlet

Event

iPost

Audience

Feed

Intercom

Event

ironSource

Audience

Iterable

Audience

Feed

Event

Jampp

Audience

Event

Kafka

Event

Kayzen

Audience

Event

Kissmetrics

Event

Klaviyo

Audience

Event

Kochava

Event

Feed

Forwarding Data Subject Requests

LaunchDarkly

Feed

Kubit

Event

Liftoff

Audience

Event

Leanplum

Audience

Event

Feed

LifeStreet

Audience

LinkedIn

Audience

LinkedIn Conversions API Integration

LiveLike

Event

Liveramp

Audience

MadHive

Audience

Localytics

Event

mAdme Technologies

Event

Mailchimp

Event

Audience

Feed

Marigold

Audience

MediaMath

Audience

Mediasmart

Audience

Mautic

Audience

Event

Microsoft Ads

Microsoft Ads Audience Integration

Mintegral

Audience

Microsoft Azure Event Hubs

Event

MoEngage

Audience

Event

Feed

Mixpanel

Event

Audience

Forwarding Data Subject Requests

Mixpanel Cohort Feed Integration

Moloco

Audience

Event

Monetate

Event

Movable Ink

Event

Movable Ink - V2

Event

Multiplied

Event

myTarget

Audience

Event

Nami ML

Feed

Narrative

Audience

Event

Feed

Nanigans

Event

NCR Aloha

Event

Optimizely

Audience

Event

OneTrust

Event

Neura

Event

Oracle BlueKai

Event

Paytronix

Feed

Persona.ly

Audience

Oracle Responsys

Audience

Event

Personify XP

Event

PieEye

Inbound Data Subject Requests

Pilgrim

Event

Feed

Pinterest

Audience

Event

Plarin

Event

Postie

Event

Audience

Primer

Event

Punchh

Event

Feed

Audience

Pushwoosh

Event

Audience

Qualtrics

Event

Quantcast

Event

Radar

Feed

Event

Rakuten

Event

Regal

Event

Remerge

Audience

Event

Retina AI

Event

Feed

Reveal Mobile

Event

RevenueCat

Feed

Rokt

Audience

Event

Rokt Thanks and Pay+

RTB House

Audience

Event

Sailthru

Audience

Event

Salesforce Email

Event

Audience

Feed

Salesforce Mobile Push

Event

Salesforce Sales and Service Cloud

Event

Feed

Samba TV

Audience

Event

Scalarr

Event

SessionM

Feed

Event

SendGrid

Audience

Feed

Apteligent

Event

SimpleReach

Event

SFTP

Audience

ShareThis

Audience

Feed

Shopify

Custom Pixel

Feed

Singular

Event

Feed

Singular-DEPRECATED

Event

Slack

Event

Smadex

Audience

Skyhook

Event

SmarterHQ

Event

Snapchat

Audience

Event

Snapchat Conversions

Event

Snowplow

Event

Snowflake

Audience

Data Warehouse

Split

Event

Feed

Splunk MINT

Event

Spotify

Event

StartApp

Audience

Sprig

Audience

Event

Statsig

Event

Feed

Stormly

Audience

Event

Swrve

Event

Feed

Tapad

Audience

Talon.One

Audience

Feed

Event

Loyalty Feed

Tapjoy

Audience

Taplytics

Event

Taptica

Audience

Teak

Audience

The Trade Desk

Cookie Sync

Audience

Event

Ticketure

Feed

TikTok Event

Audience

Audience (Deprecated)

Audience Migration

Event

Treasure Data

Audience

Event

Triton Digital

Audience

Twitter

Audience

Event

TUNE

Event

Valid

Event

Vibe

Audience

Vkontakte

Audience

Voucherify

Audience

Event

Vungle

Audience

Webhook

Event

Webtrends

Event

Wootric

Event

White Label Loyalty

Event

X

Event

Xandr

Audience

Cookie Sync

Yahoo (formerly Verizon Media)

Cookie Sync

Audience

Yotpo

Feed

YouAppi

Audience

Z2A Digital

Audience

Event

Zendesk

Event

Feed

Reddit

Audience

Event

Apple SDK Changelog

v9.7.4 (2026-10-19)

Core

Added

  • Expose kit-filtered effective consent on the user wrapper (#1135)

Fixed

  • Read a webview bridge attribute key only when it is a string (#1111)
  • Let an app name the hosts whose frames may use the webview bridge (#1110)
  • Keep a modify change only when its modified mpid is a number (#1125)
  • Cap the response buffer a declared content length reserves (#1124)
  • Reject device and unknown identity types in webview identity requests (#1131)
  • Read a persisted consent state holding text outside ASCII instead of discarding it (#1119)
  • Clamp on-disk integers at the unsigned conversions instead of trapping (#1118)
  • Correct the consented property’s doc comment in MPCCPAConsent (#1134)
  • Apply a kit’s identity filter to the identities forwarded when it is configured (#1117)
  • Write a sideloaded kit’s app family attribute filter in the shape and polarity the engine reads (#1116)
  • Activate a sideloaded kit’s conditional forwarding by lifting its filter to the configuration (#1115)
  • Write a sideloaded kit’s screen filters to the dictionaries the filter engine reads (#1114)
  • Ignore a server kit configuration that carries a sideloaded kit’s code, live or cached (#1113)
  • Look up a kit’s filters by the code the container registered it under (#1112)
  • Defer kit configuration when any kit carries a consent filter, not only the last (#1127)
  • Cap the background hold at 5 seconds when background time is finite (#1138)
  • Keep the port of customBaseURL in request URLs (#1107)
  • Pin certificates for every host the SDK connects to (#1106)
  • Stop a replaced backend controller publishing its session (#1075)
  • Run onKitsInitialized blocks after kit configuration releases its lock (#1103)
  • Keep the alias window from server configuration in a usable range (#1102)
  • Stop a negative Age header keeping the cached configuration from expiring (#1101)
  • Pin certificates for ATT tracking host overrides (#1093)
  • Ignore non-numeric values in commerce attribute filters (#1092)
  • Stop reconfigureKits deadlocking when a kit sets consent during launch (#1088)
  • Keep a kit exception from leaving kitsSemaphore held (#1091)
  • Run pending kit instance handlers after kit configuration (#1089)
  • Stop the data plan filter crashing on unconstrained events (#1086)
  • Ignore a negative crash report size limit (#1085)

Changed

  • Make the backend controller header internal (#1076)

Kits

Adjust

Fixed
  • Treat a non-string or empty app token as missing instead of raising in dispatch_once (#1122)

Adobe

Fixed
  • Read the persisted marketing cloud id only when it is a string (#1123)
  • Validate the Audience Manager server hostname in the Adobe kit (#1097)
  • Validate server configuration types in the Adobe kit (#1090)

Appsflyer

Fixed
  • Use the consent state the kit is given (#1136)

Apptentive

Fixed
  • Validate server configuration types in the Apptentive kit (#1105)

Clevertap

Fixed
  • Validate server configuration types before they reach CleverTap (#1121)

Google-analytics-firebase

Fixed
  • Do not raise on a key with no allowed characters (#1120)

Iterable

Fixed
  • Validate server configuration types in the Iterable kit (#1087)

Kochava

Fixed
  • Validate server configuration types in the Kochava kit (#1098)

Leanplum

Fixed
  • Validate server configuration types in the Leanplum kit (#1095)

Onetrust

Fixed
  • Refresh OneTrust consent when the current user changes (#1132)

Optimizely

Fixed
  • Validate server configuration types in the Optimizely kit (#1104)

Rokt

Fixed
  • Log the placement event with no custom attributes (#1126)

Urbanairship

Fixed
  • Validate server configuration types in the Urban Airship 19 kit (#1100)
  • Validate server configuration types in the Urban Airship kit (#1094)

View on GitHub

v9.7.3 (2026-10-13)

Kits

Rokt

Fixed
  • Clear the Rokt session when the Rokt kit stops (#1079)

View on GitHub

v9.7.2 (2026-10-09)

Core

Changed

  • Write backend user attributes in Swift (#1060)
  • Add public repository confidentiality rules for agents (#1074)

Kits

Rokt

Fixed
  • Identify in the background instead of delaying placements (#1080)

View on GitHub

v9.7.1 (2026-10-07)

Core

Fixed

  • Ship mParticle_Apple_SDK_Swift as its own xcframework; embed both (#1067)

Kits

Rokt

Fixed
  • Route Rokt kit diagnostics to native logging (#1066)

View on GitHub

v9.7.0 (2026-10-02)

Core

Fixed

  • Require system trust evaluation when certificate pinning is disabled (#1057)
  • Bound the preferences custom modules may read from the host app (#1053)
  • Keep kit projection arrays index-aligned across the message type range (#1050)
  • Reject malformed identity responses instead of crashing (#1046)
  • Drop unusable kit entries before caching configuration (#1040)

Changed

  • Report backend errors and crashes in Swift (#1038)

Kits

Appsflyer

Added
  • Add startAppsFlyer to safely resume a withheld start() (#1064)

Branchmetrics

Fixed
  • Validate server configuration types in Branch, Radar and Singular kits (#1024)

View on GitHub

v9.6.1 (2026-09-24)

Core

Fixed

  • Prevent a first-launch hang when a kit reads consent while it starts (#1051)
  • Validate kit configuration value types before use (#1039)

Kits

Adobe

Fixed
  • Validate Audience Manager response shape in the Adobe kit (#1033)

Appsflyer

Fixed
  • Validate server consent mapping in OneTrust and AppsFlyer kits (#1026)

Braze

Fixed
  • Forward only filtered product attributes from the Braze kits (#1048)

Rokt-sdk-plus

Changed
  • Note Swift Package Registry alternative for dependency resolution (#1037)

View on GitHub

v9.6.0 (2026-09-22)

Core

Fixed

  • Prevent kit event projection crashes on non-string attribute values (#1011)
  • Validate custom-module and data-plan server configuration types (#1010)

Kits

Braze

Fixed
  • Prevent Braze crashes and preserve consent choices (#1009)

Google-analytics-firebase-ga4

Fixed
  • Validate server configuration types in Firebase and GA4 kits (#1008)

Rokt

Fixed
  • Resolve the SDK from this checkout in the Rokt Swift example (#1035)
  • Prevent configuration crashes and identity disclosure (#1012)

View on GitHub

v9.5.1 (2026-09-14)

Kits

Rokt

Fixed
  • Correct Dependency Pinning for Rokt Cocoaopods (#993)

View on GitHub

v9.5.0 (2026-09-11)

Core

Fixed

  • Publish correct release notes and report signing status (#960)

Kits

Rokt

Added
  • Add setSession/getSession with optional sessionToken (#816)

View on GitHub

v9.4.3 (2026-09-04)

Core

Fixed

Code-sign the nested Swift framework inside the release XCFramework (https://github.com/mParticle/mparticle-apple-sdk/pull/948)

View on GitHub

v9.4.2 (2026-09-04)

Core

Fixed

Kits

Rokt

Added

View on GitHub

v8.23.2 (2026-09-03)

Backports GoDaddy TLS Root CA - R1 support to the 8.23.x line.

8.23.1 pinned the GoDaddy G2 intermediate and required every certificate at chain index >= 1 to match, so it rejected certificate chains issued under GoDaddy’s TLS Root CA R1 hierarchy. GoDaddy has ended DV issuance under G2, so affected hosts cannot be served a G2 leaf indefinitely.

This release backports root-only certificate matching (shipped on the main line in 8.26.0) and adds the self-signed GoDaddy TLS Root CA - R1 to the pinned root set, alongside the existing GoDaddy and ISRG anchors. Certificate pinning behaviour is the only change; there are no API changes.

Swift Package Manager: Package.swift for this release resolves its xcframeworks from the assets attached below rather than from static.mparticle.com. Checksums:

  • mParticle_Apple_SDK.xcframework.zip — 4203313ecf5f27be2434f37af39d10898159a3dda6cca8c21ff237a272bf36e8
  • mParticle_Apple_SDK_NoLocation.xcframework.zip — aca86f77832cbd91933a410037659f1bfda73315945adc32a64dca78aa553eee

View on GitHub

v8.12.1 (2026-09-01)

Backports GoDaddy TLS Root CA - R1 support to the 8.12.x line.

8.12.0 pinned the GoDaddy G2 intermediate and required every certificate at chain index >= 1 to match, so it rejected certificate chains issued under GoDaddy’s TLS Root CA R1 hierarchy. GoDaddy has ended DV issuance under G2, so affected hosts cannot be served a G2 leaf indefinitely.

This release backports root-only certificate matching (shipped on the main line in 8.26.0) and adds the self-signed GoDaddy TLS Root CA - R1 to the pinned root set, alongside the existing GoDaddy and ISRG anchors. Certificate pinning behaviour is the only change; there are no API changes.

Swift Package Manager and CocoaPods both build from source on the 8.12.x line — Package.swift declares no binary targets — so resolving the v8.12.1 tag is sufficient and no checksums are involved.

Pre-built xcframeworks are attached below for convenience. They are not referenced by Package.swift and are not required to consume this release.

  • mParticle_Apple_SDK.xcframework.zip — 4a2eef828bbd17c58f8d3d361218bccae321bb7d728fef0a2d202ba023f703b0
  • mParticle_Apple_SDK.xcframework.nolocation.zip — f5324fe8bfbed99b9bcd44a116b91329fa54eaff6d9d93e2d48b6eb2f3a6a528

Each contains four slices — ios-arm64, ios-arm64_x86_64-simulator, tvos-arm64, tvos-arm64_x86_64-simulator. As with previous releases on this line, they are unsigned.

Carthage: mParticle_Apple_SDK.json is unchanged. It resolves mParticle_Apple_SDK.framework.zip, a fat-framework archive this release does not produce, so Carthage users on 8.12.x remain on 8.12.0.

View on GitHub

v8.15.2 (2026-08-29)

Backports GoDaddy TLS Root CA - R1 support to the 8.15.x line.

8.15.1 pinned the GoDaddy G2 intermediate and required every certificate at chain index >= 1 to match, so it rejected certificate chains issued under GoDaddy’s TLS Root CA R1 hierarchy. GoDaddy has ended DV issuance under G2, so affected hosts cannot be served a G2 leaf indefinitely.

This release backports root-only certificate matching (shipped on the main line in 8.26.0) and adds the self-signed GoDaddy TLS Root CA - R1 to the pinned root set, alongside the existing GoDaddy and ISRG anchors. Certificate pinning behaviour is the only change; there are no API changes.

Swift Package Manager: Package.swift for this release resolves its xcframeworks from the assets attached below rather than from static.mparticle.com. Checksums:

  • mParticle_Apple_SDK.xcframework.zip — 82fc9874005a1297a4d40496a38d14dc36cae4c5aed534e8f5d04c3652f1b205
  • mParticle_Apple_SDK_NoLocation.xcframework.zip — db2e29734420de551821ed81456622b3d9d1361754579c4002b1fb6bfbbfef42

View on GitHub

v9.4.1 (2026-08-28)

Core

Fixed

  • MPRokt.selectPlacements and MPRokt.selectShoppableAds now deliver a RoktPlacementFailure event to the caller’s onEvent handler when the Rokt kit configuration is unavailable. Previously the call was dropped with only a log message, leaving callers waiting on a callback that never arrived. (#814)

Kits

Rokt

Added
  • Report non-sensitive mParticle public API usage diagnostics when the Rokt kit is active.

View on GitHub

v9.4.0 (2026-08-21)

Core

Fixed

  • MPRokt.selectPlacements and MPRokt.selectShoppableAds now deliver a RoktPlacementFailure event to the caller’s onEvent handler when the Rokt kit configuration is unavailable. Previously the call was dropped with only a log message, leaving callers waiting on a callback that never arrived. (#814)

Kits

Rokt

Added
  • Report non-sensitive mParticle public API usage diagnostics when the Rokt kit is active.

View on GitHub

v9.3.5 (2026-08-14)

Core

Fixed

  • MPRokt.selectPlacements and MPRokt.selectShoppableAds now deliver a RoktPlacementFailure event to the caller’s onEvent handler when the Rokt kit configuration is unavailable. Previously the call was dropped with only a log message, leaving callers waiting on a callback that never arrived. (#814)

Kits

Rokt

Added
  • Report non-sensitive mParticle public API usage diagnostics when the Rokt kit is active.

View on GitHub

v9.3.4 (2026-08-07)

View on GitHub

v9.3.3 (2026-08-05)

View on GitHub

v9.3.2 (2026-07-27)

Core

Added

  • Add device-level consent via MParticleOptions.deviceConsentState and MParticle.sharedInstance.deviceConsentState. When set, it supersedes user/MPID-level consent everywhere consent is evaluated (kit enablement, consent forwarding to kits, and the consent included in uploads for all MPIDs), is persisted device-wide independent of the active user, and triggers the same kit refresh as a user consent change. Set it to nil to clear and revert to user/MPID-level consent.
  • Add MPRokt.handleURLCallback: for forwarding Afterpay/PayPal redirect URLs to the registered Rokt payment extension. Call from application:openURL:options: (AppDelegate) or scene:openURLContexts: / .onOpenURL (Scene/SwiftUI).

Changed

  • Bump minimum RoktContracts to 2.0.0 (adds PaymentMethodType.paypal and totals on PaymentPreparation).

Fixed

  • MParticle.sharedInstance.identity.deviceApplicationStamp now returns the same value sent on the wire as device_application_stamp (mp_deviceid). Previously it returned the unrelated MPDevice.deviceIdentifier used for ramp bucketing.

Kits

Fixed

  • Use dual-path core SDK imports in kit public headers so manual xcframework consumers resolve mParticle_Apple_SDK (xcframework/CocoaPods framework) or mParticle_Apple_SDK_ObjC (SPM/CocoaPods ObjC). CI smoke-tests kit headers against the core SDK xcframework.
  • Correct kit README CocoaPods pod names and mirror repository URLs to match versioned podspecs and CI mirror destinations.

Added

  • Adobe 5 — Add tvOS 15.0+ support for CocoaPods and Swift Package Manager.
  • Braze 16 — Add braze-16 kit track for Braze Swift SDK 16.x.
  • Braze 16 — When useEcommerceRecommendedEvents is enabled in kit configuration, forward supported mParticle commerce events to Braze recommended eCommerce events (ecommerce.cart_updated, ecommerce.checkout_started, ecommerce.product_viewed, ecommerce.order_placed, ecommerce.order_refunded).
  • Rokt SDK+ (RoktSDKPlus) — Umbrella Swift package and CocoaPods pod at Kits/rokt-sdk-plus/rokt-sdk-plus-ios, versioned with the core SDK and mirrored to ROKT/rokt-sdk-plus-ios.

Fixed

  • Rokt SDK+ — Release Build rokt-sdk-plus-ios no longer runs xcodebuild -create-xcframework for this Swift-package-only target (archives do not produce *.framework under Products/Library/Frameworks/). CI uploads a small placeholder zip so mirror artifact steps still succeed; integrate via SwiftPM or CocoaPods from the tag.
  • Rokt SDK+ — Align RoktSDKPlus.podspec with the ecosystem version (double-quoted s.version, same as other kits). Release – Draft now bumps single-quoted s.version = '…' podspec lines so mParticle-Rokt and RoktSDKPlus stay in sync for pod lib lint.

Rokt

Changed
  • Bump minimum Rokt-Widget to 5.1.0 (adds Afterpay payment support).
  • Bump minimum RoktContracts to 2.0.0.
Added
  • Pass through handleURLCallback: to Rokt.handleURLCallback(with:) on the Rokt SDK.
  • Implement stop on MPKitRokt so the kit remains active across switchWorkspaceWithOptions: without requiring an app restart.

View on GitHub

v9.3.1 (2026-07-21)

Core

Added

  • Add device-level consent via MParticleOptions.deviceConsentState and MParticle.sharedInstance.deviceConsentState. When set, it supersedes user/MPID-level consent everywhere consent is evaluated (kit enablement, consent forwarding to kits, and the consent included in uploads for all MPIDs), is persisted device-wide independent of the active user, and triggers the same kit refresh as a user consent change. Set it to nil to clear and revert to user/MPID-level consent.
  • Add MPRokt.handleURLCallback: for forwarding Afterpay/PayPal redirect URLs to the registered Rokt payment extension. Call from application:openURL:options: (AppDelegate) or scene:openURLContexts: / .onOpenURL (Scene/SwiftUI).

Changed

  • Bump minimum RoktContracts to 2.0.0 (adds PaymentMethodType.paypal and totals on PaymentPreparation).

Fixed

  • MParticle.sharedInstance.identity.deviceApplicationStamp now returns the same value sent on the wire as device_application_stamp (mp_deviceid). Previously it returned the unrelated MPDevice.deviceIdentifier used for ramp bucketing.

Kits

Fixed

  • Use dual-path core SDK imports in kit public headers so manual xcframework consumers resolve mParticle_Apple_SDK (xcframework/CocoaPods framework) or mParticle_Apple_SDK_ObjC (SPM/CocoaPods ObjC). CI smoke-tests kit headers against the core SDK xcframework.
  • Correct kit README CocoaPods pod names and mirror repository URLs to match versioned podspecs and CI mirror destinations.

Added

  • Adobe 5 — Add tvOS 15.0+ support for CocoaPods and Swift Package Manager.
  • Braze 16 — Add braze-16 kit track for Braze Swift SDK 16.x.
  • Braze 16 — When useEcommerceRecommendedEvents is enabled in kit configuration, forward supported mParticle commerce events to Braze recommended eCommerce events (ecommerce.cart_updated, ecommerce.checkout_started, ecommerce.product_viewed, ecommerce.order_placed, ecommerce.order_refunded).
  • Rokt SDK+ (RoktSDKPlus) — Umbrella Swift package and CocoaPods pod at Kits/rokt-sdk-plus/rokt-sdk-plus-ios, versioned with the core SDK and mirrored to ROKT/rokt-sdk-plus-ios.

Fixed

  • Rokt SDK+ — Release Build rokt-sdk-plus-ios no longer runs xcodebuild -create-xcframework for this Swift-package-only target (archives do not produce *.framework under Products/Library/Frameworks/). CI uploads a small placeholder zip so mirror artifact steps still succeed; integrate via SwiftPM or CocoaPods from the tag.
  • Rokt SDK+ — Align RoktSDKPlus.podspec with the ecosystem version (double-quoted s.version, same as other kits). Release – Draft now bumps single-quoted s.version = '…' podspec lines so mParticle-Rokt and RoktSDKPlus stay in sync for pod lib lint.

Rokt

Changed
  • Bump minimum Rokt-Widget to 5.1.0 (adds Afterpay payment support).
  • Bump minimum RoktContracts to 2.0.0.
Added
  • Pass through handleURLCallback: to Rokt.handleURLCallback(with:) on the Rokt SDK.
  • Implement stop on MPKitRokt so the kit remains active across switchWorkspaceWithOptions: without requiring an app restart.

View on GitHub

v9.3.0 (2026-07-01)

Core

Added

  • Add device-level consent via MParticleOptions.deviceConsentState and MParticle.sharedInstance.deviceConsentState. When set, it supersedes user/MPID-level consent everywhere consent is evaluated (kit enablement, consent forwarding to kits, and the consent included in uploads for all MPIDs), is persisted device-wide independent of the active user, and triggers the same kit refresh as a user consent change. Set it to nil to clear and revert to user/MPID-level consent.
  • Add MPRokt.handleURLCallback: for forwarding Afterpay/PayPal redirect URLs to the registered Rokt payment extension. Call from application:openURL:options: (AppDelegate) or scene:openURLContexts: / .onOpenURL (Scene/SwiftUI).

Changed

  • Bump minimum RoktContracts to 2.0.0 (adds PaymentMethodType.paypal and totals on PaymentPreparation).

Fixed

  • MParticle.sharedInstance.identity.deviceApplicationStamp now returns the same value sent on the wire as device_application_stamp (mp_deviceid). Previously it returned the unrelated MPDevice.deviceIdentifier used for ramp bucketing.

Kits

Fixed

  • Use dual-path core SDK imports in kit public headers so manual xcframework consumers resolve mParticle_Apple_SDK (xcframework/CocoaPods framework) or mParticle_Apple_SDK_ObjC (SPM/CocoaPods ObjC). CI smoke-tests kit headers against the core SDK xcframework.
  • Correct kit README CocoaPods pod names and mirror repository URLs to match versioned podspecs and CI mirror destinations.

Added

  • Rokt SDK+ (RoktSDKPlus) — Umbrella Swift package and CocoaPods pod at Kits/rokt-sdk-plus/rokt-sdk-plus-ios, versioned with the core SDK and mirrored to ROKT/rokt-sdk-plus-ios.

Fixed

  • Rokt SDK+ — Release Build rokt-sdk-plus-ios no longer runs xcodebuild -create-xcframework for this Swift-package-only target (archives do not produce *.framework under Products/Library/Frameworks/). CI uploads a small placeholder zip so mirror artifact steps still succeed; integrate via SwiftPM or CocoaPods from the tag.
  • Rokt SDK+ — Align RoktSDKPlus.podspec with the ecosystem version (double-quoted s.version, same as other kits). Release – Draft now bumps single-quoted s.version = '…' podspec lines so mParticle-Rokt and RoktSDKPlus stay in sync for pod lib lint.

Rokt

Changed
  • Bump minimum Rokt-Widget to 5.1.0 (adds Afterpay payment support).
  • Bump minimum RoktContracts to 2.0.0.
Added
  • Pass through handleURLCallback: to Rokt.handleURLCallback(with:) on the Rokt SDK.
  • Implement stop on MPKitRokt so the kit remains active across switchWorkspaceWithOptions: without requiring an app restart.

View on GitHub

v9.2.2 (2026-06-25)

Core

Added

  • Add device-level consent via MParticleOptions.deviceConsentState and MParticle.sharedInstance.deviceConsentState. When set, it supersedes user/MPID-level consent everywhere consent is evaluated (kit enablement, consent forwarding to kits, and the consent included in uploads for all MPIDs), is persisted device-wide independent of the active user, and triggers the same kit refresh as a user consent change. Set it to nil to clear and revert to user/MPID-level consent.
  • Add MPRokt.handleURLCallback: for forwarding Afterpay/PayPal redirect URLs to the registered Rokt payment extension. Call from application:openURL:options: (AppDelegate) or scene:openURLContexts: / .onOpenURL (Scene/SwiftUI).

Changed

  • Bump minimum RoktContracts to 2.0.0 (adds PaymentMethodType.paypal and totals on PaymentPreparation).

Fixed

  • MParticle.sharedInstance.identity.deviceApplicationStamp now returns the same value sent on the wire as device_application_stamp (mp_deviceid). Previously it returned the unrelated MPDevice.deviceIdentifier used for ramp bucketing.

Kits

Added

  • Rokt SDK+ (RoktSDKPlus) — Umbrella Swift package and CocoaPods pod at Kits/rokt-sdk-plus/rokt-sdk-plus-ios, versioned with the core SDK and mirrored to ROKT/rokt-sdk-plus-ios.

Fixed

  • Rokt SDK+ — Release Build rokt-sdk-plus-ios no longer runs xcodebuild -create-xcframework for this Swift-package-only target (archives do not produce *.framework under Products/Library/Frameworks/). CI uploads a small placeholder zip so mirror artifact steps still succeed; integrate via SwiftPM or CocoaPods from the tag.
  • Rokt SDK+ — Align RoktSDKPlus.podspec with the ecosystem version (double-quoted s.version, same as other kits). Release – Draft now bumps single-quoted s.version = '…' podspec lines so mParticle-Rokt and RoktSDKPlus stay in sync for pod lib lint.

Rokt

Changed
  • Bump minimum Rokt-Widget to 5.1.0 (adds Afterpay payment support).
  • Bump minimum RoktContracts to 2.0.0.
Added
  • Pass through handleURLCallback: to Rokt.handleURLCallback(with:) on the Rokt SDK.

View on GitHub

v9.2.1 (2026-05-26)

Core

Added

  • Add MPRokt.handleURLCallback: for forwarding Afterpay/PayPal redirect URLs to the registered Rokt payment extension. Call from application:openURL:options: (AppDelegate) or scene:openURLContexts: / .onOpenURL (Scene/SwiftUI).

Changed

  • Bump minimum RoktContracts to 2.0.0 (adds PaymentMethodType.paypal and totals on PaymentPreparation).

Kits

Added

  • Rokt SDK+ (RoktSDKPlus) — Umbrella Swift package and CocoaPods pod at Kits/rokt-sdk-plus/rokt-sdk-plus-ios, versioned with the core SDK and mirrored to ROKT/rokt-sdk-plus-ios.

Fixed

  • Rokt SDK+ — Release Build rokt-sdk-plus-ios no longer runs xcodebuild -create-xcframework for this Swift-package-only target (archives do not produce *.framework under Products/Library/Frameworks/). CI uploads a small placeholder zip so mirror artifact steps still succeed; integrate via SwiftPM or CocoaPods from the tag.
  • Rokt SDK+ — Align RoktSDKPlus.podspec with the ecosystem version (double-quoted s.version, same as other kits). Release – Draft now bumps single-quoted s.version = '…' podspec lines so mParticle-Rokt and RoktSDKPlus stay in sync for pod lib lint.

Rokt

Changed
  • Bump minimum Rokt-Widget to 5.1.0 (adds Afterpay payment support).
  • Bump minimum RoktContracts to 2.0.0.
Added
  • Pass through handleURLCallback: to Rokt.handleURLCallback(with:) on the Rokt SDK.

View on GitHub

v9.2.0 (2026-05-13)

Core

Added

  • Add MPRokt.handleURLCallback: for forwarding Afterpay/PayPal redirect URLs to the registered Rokt payment extension. Call from application:openURL:options: (AppDelegate) or scene:openURLContexts: / .onOpenURL (Scene/SwiftUI).

Changed

  • Bump minimum RoktContracts to 2.0.0 (adds PaymentMethodType.paypal and totals on PaymentPreparation).

Kits

Added

  • Rokt SDK+ (RoktSDKPlus) — Umbrella Swift package and CocoaPods pod at Kits/rokt-sdk-plus/rokt-sdk-plus-ios, versioned with the core SDK and mirrored to ROKT/rokt-sdk-plus-ios.

Fixed

  • Rokt SDK+ — Release Build rokt-sdk-plus-ios no longer runs xcodebuild -create-xcframework for this Swift-package-only target (archives do not produce *.framework under Products/Library/Frameworks/). CI uploads a small placeholder zip so mirror artifact steps still succeed; integrate via SwiftPM or CocoaPods from the tag.

Rokt

Changed
  • Bump minimum Rokt-Widget to 5.1.0 (adds Afterpay payment support).
  • Bump minimum RoktContracts to 2.0.0.
Added
  • Pass through handleURLCallback: to Rokt.handleURLCallback(with:) on the Rokt SDK.

View on GitHub

v9.1.0 (2026-05-04)

Core

Added

  • Add MPRokt.handleURLCallback: for forwarding Afterpay/PayPal redirect URLs to the registered Rokt payment extension. Call from application:openURL:options: (AppDelegate) or scene:openURLContexts: / .onOpenURL (Scene/SwiftUI).

Changed

  • Bump minimum RoktContracts to 2.0.0 (adds PaymentMethodType.paypal and totals on PaymentPreparation).

Kits

Rokt

Changed
  • Bump minimum Rokt-Widget to 5.1.0 (adds Afterpay payment support).
  • Bump minimum RoktContracts to 2.0.0.
Added
  • Pass through handleURLCallback: to Rokt.handleURLCallback(with:) on the Rokt SDK.

View on GitHub

v9.0.1 (2026-04-22)

View on GitHub

v9.0.0 (2026-04-09)

What’s Changed

Core

Refer the MIGRATING.md for the migration guide from version 8.x to 9.x

Fixed

  • Replace mapfile with bash 3.2-compatible read loop in release-draft (#711)

Changed

  • Normalize CHANGELOG.md to Keep a Changelog format (#715)
  • Update MIGRATING.md and remove unwanted note (#707)
  • Document MPRoktEvent → RoktEvent type change in events method migration (#704)

Kits

Urban Airship

Added
  • feat: Add Urban Airship 19 kit targeting Airship SDK 19.x (iOS 15.6+)

Adobe

Fixed
  • Pre-v9 release audit fixes (#710)

Clevertap

Added
  • Remove Core Location from MPKitProtocol; add MPLocation types (#701)

Localytics

Added
  • Remove Core Location from MPKitProtocol; add MPLocation types (#701)

Comscore

Fixed
  • Hardcode tvOS PRODUCT_NAME in kit xcodeproj files for xcframework builds (#714)

Rokt

Changed
  • Move MPRokt Swift interop to core SDK for single-import (#703)

Full Changelog: https://github.com/mParticle/mparticle-apple-sdk/compare/v8.44.4…v9.0.0

View on GitHub

v8.44.4 (2026-04-01)

What’s Changed

Full Changelog: https://github.com/mParticle/mparticle-apple-sdk/compare/v8.44.3…v8.44.4

View on GitHub

v8.44.3 (2026-03-23)

Bug Fixes

  • fix: serialize updateLastUseDate with messageQueue on background entry (#680) (ba76afc5)

View on GitHub

Was this page helpful?

    Last Updated: October 21, 2026