Developers
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

Upgrade to Version 5

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

Upgrade to Version 4

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

Xbox

Getting Started

Identity

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

Alexa

API References
Data Subject Request API

Data Subject Request API Version 1 and 2

Data Subject Request API Version 3

Platform API

Key Management

Platform API Overview

Accounts

Apps

Audiences

Calculated Attributes

Data Points

Feeds

Field Transformations

Services

Users

Workspaces

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

Calculated Attributes Seeding API

Bulk Profile Deletion API Reference

Data Planning API

Custom Access Roles API

Household Reach API Reference

Pixel Service

Profile API

Events API

mParticle JSON Schema Reference

IDSync

Guides
Partners

Introduction

Outbound Integrations

Outbound Integrations

Firehose Java SDK

Inbound Integrations

Kit Integrations

Overview

Android Kit Integration

JavaScript Kit Integration

iOS Kit Integration

Compose ID

Data Hosting Locations

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

Quickstart
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

HTTP Quick Start

Step 1. Create an input

Step 2. Create an output

Step 3. Verify output

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

Media SDKs

Android

iOS

Web

Server SDKs

Node SDK

Go SDK

Python SDK

Ruby SDK

Java SDK

Tools

mParticle Command Line Interface

Linting Tools

Smartype

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 (Snowplow Schema)

AWS S3 Integration (Define Your Own 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

Actable

Feed

AdChemix

Event

ABTasty

Audience

Adikteev

Audience

Event

Adjust

Event

Feed

AdMedia

Audience

Adobe Audience Manager

Audience

Adobe Marketing Cloud

Cookie Sync

Server-to-Server Events

Platform SDK Events

Adobe Campaign Manager

Audience

Adobe Experience Platform

Event

Adobe Target

Audience

AdPredictive

Feed

AgilOne

Event

Airship

Feed

Event

Audience

Algolia

Event

Amazon Advertising

Audience

Event

Amazon Redshift

Data Warehouse

Amazon Kinesis Firehose

Event

Audience

Amazon Kinesis

Event

Amazon SNS

Event

Amazon S3

Audience

Event

Amazon SQS

Event

Amobee

Audience

Amplitude

Event

Forwarding Data Subject Requests

Ampush

Audience

Event

Analytics

Audience

Event

Forwarding Data Subject Requests

Antavo

Feed

Anodot

Event

AppLovin

Audience

Event

AppsFlyer

Event

Feed

Forwarding Data Subject Requests

Apptentive

Event

Apptimize

Event

Apteligent

Event

Microsoft Azure Blob Storage

Event

Batch

Event

Audience

Bidease

Audience

Awin

Event

Bing Ads

Event

Bluecore

Event

Bluedot

Feed

Branch

Event

Feed

Forwarding Data Subject Requests

Blueshift

Event

Feed

Forwarding Data Subject Requests

Braze

Audience

Feed

Forwarding Data Subject Requests

Event

Branch S2S Event

Event

Bugsnag

Event

Button

Audience

Event

Cadent

Audience

Census

Feed

comScore

Event

CleverTap

Audience

Event

Feed

Cordial

Audience

Feed

Conversant

Event

Cortex

Event

Feed

Forwarding Data Subject Requests

Criteo

Audience

Event

Crossing Minds

Event

Custom Feed

Custom Feed

CustomerGlu

Event

Feed

Customer.io

Audience

Event

Feed

Databricks

Data Warehouse

Datadog

Event

Dynamic Yield

Audience

Event

Eagle Eye

Audience

Epsilon

Event

Didomi

Event

Emarsys

Audience

Everflow

Audience

Facebook

Audience

Event

Edge226

Audience

Google Analytics for Firebase

Event

Facebook Offline Conversions

Event

Flurry

Event

Flybits

Event

Foursquare

Audience

Feed

FreeWheel Data Suite

Audience

ForeSee

Event

Friendbuy

Event

Google Analytics

Event

Google Ad Manager

Audience

Google Analytics 4

Event

Google BigQuery

Audience

Data Warehouse

Google Ads

Audience

Event

Google Cloud Storage

Audience

Event

Google Enhanced Conversions

Event

Google Marketing Platform

Audience

Cookie Sync

Event

Google Marketing Platform Offline Conversions

Event

Google Pub/Sub

Event

Google Tag Manager

Event

Heap

Event

Herow

Feed

Hightouch

Feed

Hyperlocology

Event

Ibotta

Event

ID5

Kit

Impact

Event

InMarket

Audience

InMobi

Audience

Event

Inspectlet

Event

iPost

Feed

Audience

Intercom

Event

ironSource

Audience

Jampp

Audience

Event

Kafka

Event

Iterable

Audience

Event

Feed

Kayzen

Audience

Event

Kissmetrics

Event

Kochava

Event

Feed

Forwarding Data Subject Requests

Klaviyo

Audience

Event

Kubit

Event

LaunchDarkly

Feed

Leanplum

Audience

Event

Feed

LifeStreet

Audience

Insider

Audience

Event

Feed

Liftoff

Audience

Event

LinkedIn

Audience

LinkedIn Conversions API Integration

LiveLike

Event

Localytics

Event

Liveramp

Audience

MadHive

Audience

mAdme Technologies

Event

Mailchimp

Audience

Event

Feed

MediaMath

Audience

Mautic

Audience

Event

Marigold

Audience

Mediasmart

Audience

Microsoft Azure Event Hubs

Event

Microsoft Ads

Microsoft Ads Audience Integration

Mintegral

Audience

Mixpanel

Audience

Event

Forwarding Data Subject Requests

Mixpanel Cohort Feed Integration

MoEngage

Audience

Event

Feed

Monetate

Event

Moloco

Audience

Event

Movable Ink

Event

Movable Ink - V2

Event

Multiplied

Event

myTarget

Audience

Event

Nami ML

Feed

Nanigans

Event

NCR Aloha

Event

Narrative

Audience

Event

Feed

Neura

Event

OpenAI

Event

OneTrust

Event

Oracle BlueKai

Event

Optimizely

Audience

Event

Oracle Responsys

Audience

Event

Paytronix

Feed

Persona.ly

Audience

Personify XP

Event

PieEye

Inbound Data Subject Requests

Plarin

Event

Pinterest

Audience

Event

Pilgrim

Event

Feed

Postie

Event

Audience

Pushwoosh

Event

Audience

Primer

Event

Punchh

Audience

Event

Feed

Qualtrics

Event

Quantcast

Event

Radar

Event

Feed

Attentive

Event

Feed

Regal

Event

Remerge

Audience

Event

Reveal Mobile

Event

RevenueCat

Feed

Rokt

Audience

Event

Rokt Thanks and Pay+

Retina AI

Event

Feed

Reddit

Audience

Event

RTB House

Audience

Event

Sailthru

Event

Audience

Salesforce Sales and Service Cloud

Event

Feed

Salesforce Mobile Push

Event

Salesforce Email

Audience

Feed

Event

Samba TV

Audience

Event

Scalarr

Event

SendGrid

Audience

Feed

SessionM

Event

Feed

SFTP

Audience

ShareThis

Feed

Audience

Shopify

Feed

Custom Pixel

SimpleReach

Event

Singular-DEPRECATED

Event

Singular

Event

Feed

Skyhook

Event

Slack

Event

Smadex

Audience

SmarterHQ

Event

Snapchat Conversions

Event

Snapchat

Audience

Event

Snowflake

Audience

Data Warehouse

Snowplow

Event

Split

Event

Feed

Splunk MINT

Event

Sprig

Audience

Event

Spotify

Event

StartApp

Audience

Statsig

Feed

Event

Stormly

Audience

Event

Swrve

Event

Feed

Talon.One

Audience

Event

Feed

Loyalty Feed

Tapad

Audience

Tapjoy

Audience

Taptica

Audience

Teak

Audience

Taplytics

Event

The Trade Desk

Cookie Sync

Audience

Event

Ticketure

Feed

TikTok Event

Audience (Deprecated)

Audience

Event

Audience Migration

TUNE

Event

Treasure Data

Event

Audience

Triton Digital

Audience

Twitter

Audience

Event

Valid

Event

Vibe

Audience

Vkontakte

Audience

Voucherify

Audience

Event

Vungle

Audience

Webhook

Event

White Label Loyalty

Event

Webtrends

Event

Wootric

Event

X

Event

Xandr

Audience

Cookie Sync

Yotpo

Feed

YouAppi

Audience

Yahoo (formerly Verizon Media)

Audience

Cookie Sync

Zendesk

Event

Feed

Z2A Digital

Audience

Event

Rakuten

Event

Web SDK Changelog

v3.32.3 (2026-11-11)

3.32.3 (2026-11-11)

Bug Fixes

  • build: preserve sourcemaps and guard escaped non-ascii (#1816) (51f2b6e)
  • deps-dev: bump lodash-es (#1753) (df53b4b)
  • deps-dev: bump lodash-es from 4.17.21 to 4.18.1 in /kits/facebook (#1758) (2107a95)
  • deps-dev: bump lodash-es in /kits/mixpanel/mixpanel-2 (#1763) (ea8a4bf)
  • deps-dev: bump vite from 6.4.1 to 6.4.5 in /kits/rokt (#1675) (73bc8c8)
  • deps-dev: bump vite from 6.4.4 to 6.4.5 in /kits/roktpayplus (#1737) (80d159b)
  • deps: bump @vitest/mocker, @vitest/coverage-v8 and vitest (#1676) (024bb88)
  • deps: bump brace-expansion in /kits/doubleclick (#1674) (a07ac65)
  • deps: bump fast-uri from 3.0.1 to 3.1.9 in /kits/id5/id5-1 (#1690) (bac0091)
  • deps: bump qs and body-parser in /kits/taplytics (#1698) (bdfdea8)
  • deps: bump serialize-javascript and mocha in /kits/onetrust (#1689) (b87b443)
  • deps: bump the babel group across 1 directory with 20 updates (#1779) (f43c529)
  • deps: bump undici from 7.24.6 to 7.30.1 in /kits/rokt (#1688) (8078426)
  • leanplum: load a pinned Leanplum SDK with Subresource Integrity (#1792) (b9c7a66)
  • mixpanel: take MIXPANEL_CUSTOM_LIB_URL only when it is a string (#1794) (f1a391a)
  • optimizely: check the Full Stack SDK with Subresource Integrity (#1793) (3d6f09f)
  • page-url: find route segments in one pass (#1796) (e921c07)
  • persistence: take the API key from init alone, never from storage (#1795) (844fe3c)
  • rokt: wait for the start-up identify when selectPlacements has no MPID (#1822) (5244fec)
  • snippet: force utf-8 for injected sdk scripts (#1820) (f3d03ce)
  • web SDK: ignore stale config responses after re-init (#1817) (141f5e2)

Miscellaneous

  • call generateUniqueId directly (#1818) (d335189)
  • check: enforce ascii-only core bundles in v3 candidate (#1813) (c34665f)
  • deps: bump actions/download-artifact from 7 to 8 (#1798) (a5645cb)
  • deps: bump actions/setup-java from 5 to 6 (#1801) (700c8c7)
  • deps: bump actions/setup-node from 6 to 7 (#1800) (5f32ea7)
  • deps: bump actions/upload-artifact from 6.0.0 to 7.0.2 (#1799) (27cfb1a)
  • deps: bump codecov/codecov-action from 7.0.0 to 7.1.1 (#1802) (8e4b4c9)
  • dist-guard: skip dist folders inside kit node_modules (#1825) (f890296)
  • forwarder-utils: add unit tests for the forwarding filter functions (#1814) (db98c08)
  • remove nine duplicate test cases (#1815) (9c3c73c)
  • uploaders: add unit tests for the uploaders and forwarding stats uploader (#1819) (4638852)
  • web SDK: add shared CI-only local Karma browser timeouts across kits (#1826) (3a8d902)
  • web SDK: bound Required checks to 5m and pin trigger and needs (#1810) (b84312b)
  • web SDK: exclude relative paths in git-dependency regex check (#1811) (324a7cc)
  • web SDK: gate advance-staging, guard upload, audit recovery, and wire release-tag (#1807) (c25d587)
  • web SDK: harden Android bridge tests with KVM and pinned versions (#1812) (4991720)
  • web-sdk: auto-dispatch V3 Step 1 and gate publishing (#1821) (2baa393)
  • web-sdk: remove v3-release-publish Environment gate from V3 Step 1 (#1823) (9b1cc92)

View on GitHub

v3.32.2 (2026-11-10)

3.32.2 (2026-11-10)

Bug Fixes

  • keep payment picks across checkouts and stamp auto clicks with their click time (#1808) (cccd4b0)
  • web SDK: trap SIGHUP, guard inherited PID, and bound stop poll (#1804) (d649d51)

Miscellaneous

  • web SDK: add always-run Required checks aggregator job (#1803) (921a615)
  • web SDK: kill each kit step’s process group on cancellation (#1789) (bca96c5)
  • web SDK: pin BrowserStack actions and add github-actions Dependabot entry (#1797) (6afd452)
  • web SDK: remove the V3 Step 1 kit audit job (#1791) (57698df)
  • web SDK: set 15-minute timeout on kit test jobs (#1806) (f081ab3)

View on GitHub

v3.32.1 (2026-11-09)

3.32.1 (2026-11-09)

Bug Fixes

  • rokt: keep reading the form email after a name field is re-edited without a change (#1785) (8ac0095)
  • web-sdk: stage v3-staging before upload and allow tag recovery (#1788) (cc23936)

Miscellaneous

  • web SDK: build the V3 release kits six at a time (#1787) (acd4a91)

View on GitHub

v3.32.0 (2026-11-09)

3.32.0 (2026-11-09)

Features

  • rokt: let a pre-selection default fill from the payment method the shopper picked (#1780) (#1782) (41f4796)

Miscellaneous

  • set Release Please manifest to 3.31.0 (#1781) (fab4837)
  • web SDK: start every V3 Step 1 test job at once (#1784) (f43a2f2)

View on GitHub

v3.31.0 (2026-11-09)

3.31.0 (2026-11-09)

Bug Fixes

  • button-tracking: count a bare Japanese purchase-procedure button as a checkout step (#1765) (88c189d)
  • button-tracking: keep a confirm label a commit when a checkout-step selector matches (#1777) (f39b38b)
  • kits: load the AdWords, Inspectlet and SimpleReach scripts over https (#1733) (22a636a)
  • rokt: drop a waiting selectPlacements call when its logged-in user changes (#1766) (09f81d4)
  • rokt: read form email only once committed, and require two-letter TLD (#1778) (ccdc985)
  • rokt: skip the cart page view on another entry’s route (#1770) (9d21fe2)
  • rokt: skip the selectPlacements event if its user changed before resolving (#1776) (73a29a4)

Features

  • button-tracking: let the Rokt kit name confirm and checkout-step buttons by CSS selector (#1769) (f8440c0)
  • rokt: stop selectPlacements waiting for an identity request in flight (#1709) (4685bf5)

View on GitHub

v3.30.0 (2026-11-05)

3.30.0 (2026-11-05)

Features

  • mparticle-web-sdk: V3 release-gate Option A workflow_run gate and tag verify (P1-a) (#1747) (e577956)

View on GitHub

v3.29.1 (2026-11-05)

3.29.1 (2026-11-05)

Bug Fixes

  • button-tracking: count a hidden option shown by its label (#1756) (2a369b7)
  • button-tracking: count unnamed option rows only in the group holding them (#1755) (861f341)
  • button-tracking: name the group of unnamed checkboxes in option rows (#1750) (5b0088a)
  • button-tracking: name unnamed option rows only in a question group (#1752) (6c9f6e6)
  • button-tracking: read a picker’s name without a React id (#1757) (74a3b18)
  • button-tracking: read the form around a role control (#1751) (2d3e118)
  • button-tracking: skip only link clicks when the Rokt kit does not receive them (#1745) (3c94d41)

View on GitHub

v3.29.0 (2026-11-02)

3.29.0 (2026-11-02)

Bug Fixes

  • button-tracking: name icon buttons and accordion option rows (#1742) (d27e546)

Features

  • read the checked payment radio on a confirm or checkout-step click (#1740) (a541f7a)
  • rokt: log placement response clicks as auto button clicks (#1743) (16eeeb1)

View on GitHub

v3.28.0 (2026-10-30)

3.28.0 (2026-10-30)

Bug Fixes

  • button-tracking: hide only the token in a named path segment, and keep account pages under u (#1734) (222a548)
  • keep exit upload batches the browser refuses to send (#1736) (aa6eea5)
  • keep the page title out of the auto page view log line (#1725) (0133361)
  • send auto click events with the batch instead of uploading each at once (#1735) (12dcaf3), closes #1642

Features

  • read save and continue as a checkout step on checkout routes (#1729) (08683ce)
  • rokt: let a pre-selection default name groups of values that count as a match (#1728) (59c920a)

View on GitHub

v3.27.0 (2026-10-29)

3.27.0 (2026-10-29)

Bug Fixes

  • button-tracking: hide shopper tokens and order ids in the logged page path (#1705) (90c04a3)
  • button-tracking: name a picker’s question when its input name ends in a product number (#1701) (9a47e0f)
  • hide shopper tokens and order ids in page URLs and page view paths (#1708) (d20223f)
  • rokt: count the default marker in the pre-selection dedupe (#1726) (413bf5e)

Features

  • button-tracking: log role controls, deeper clicks and long-named cards (#1702) (27ba36e)
  • button-tracking: send the destination path of internal link clicks (#1700) (b5d964f)
  • count Register as the confirm click on checkout routes (#1697) (2d8bfab)
  • rokt: name the keys a pre-selection call filled from its defaults (#1707) (f1003cd)
  • rokt: skip a pre-selection call when the shopper’s own value is one the entry never serves (#1704) (00a48cf)
  • rokt: stop cart page views firing on the target page or again for a cart that already reached it (#1706) (356ab5a), closes #payment

View on GitHub

v3.26.1 (2026-10-28)

3.26.1 (2026-10-28)

Bug Fixes

  • rokt: compare a defaulted pre-selection key strictly on arrival (#1699) (92d7539)

View on GitHub

v3.26.0 (2026-10-27)

3.26.0 (2026-10-27)

Features

  • rokt: add pre-selection attribute defaults that fill only what the page left empty (#1694) (202e03a)
  • rokt: let a pre-selection entry take a checkout-step click as its confirm click (#1695) (cbfa338)
  • rokt: let an add-to-cart click open the cart page view (#1691) (a269376)
  • rokt: replace pre-selection attribute overrides with defaults the shopper’s own value wins over (#1692) (68291e5), closes #1693

Performance Improvements

  • release: upload V3 candidate files concurrently (#1696) (320a6d3)

View on GitHub

v3.25.0 (2026-10-26)

3.25.0 (2026-10-26)

Bug Fixes

  • count taps on PayPal JS SDK button frames as wallet taps (#1681) (88ec826)
  • rokt: drop a supplied mparticle_device_id under noDeviceId (#1686) (9fb4a98)
  • rokt: omit mparticle_device_id from placement calls under noDeviceId (#1679) (5ab1482)
  • rokt: skip the Rokt cookie sync under doNotShareOrSell or Global Privacy Control (#1677) (6a8e603)
  • rokt: stop auto click events under targeting and sharing opt-outs (#1687) (5fb8153)

Features

  • log clicks on links that leave the page as Auto Link Click (#1678) (690ac4b)
  • rokt-kit: add identity capture attribute guardrails (#1499) (bd95cc9)
  • rokt-kit: tighten lead-capture payload to body contract (#1502) (2e30c71)
  • rokt: fire a cart entry on page views while the shopper’s cart holds items (#1684) (c0e32e6)
  • rokt: fire a guest’s wallet tap once the guest is identified (#1682) (c430645)
  • rokt: hand the kit the payment method picked with a radio or a payment frame (#1685) (b27884b)
  • rokt: say why a pre-selection missed the shopper’s email (#1683) (25db476)

View on GitHub

v3.24.0 (2026-10-22)

3.24.0 (2026-10-22)

Bug Fixes

  • deps: bump @babel/runtime from 7.23.2 to 8.0.7 (#1593) (909cb7b)
  • deps: move @babel/runtime to 7.29.10 instead of 8 (#1664) (68ee0be)
  • keep hidden text out of auto button click labels (#1659) (36d0d3e)
  • rokt: keep commit and wallet taps from firing a cart pre-selection entry (#1671) (55c881e)
  • rokt: keep the query off the kit’s page history (#1662) (17fef42)
  • rokt: send checkout intent to the Rokt kit only when its connection receives auto button clicks (#1658) (b19394a)
  • rokt: take the page title and utm params only from the forwarded page view (#1661) (f30a832)
  • send no label text with checkbox and radio clicks (#1660) (80e3f91)

Features

  • apv: let the Web input configure additional page view query params (#1475) (9380e3c), closes #1476
  • count an Apple Pay session the page begins as a wallet tap (#1667) (d4dd038)
  • count wallet buttons that pages draw themselves as checkout intent (#1663) (beb9096)
  • fire pre-selection on cart clicks for entries that opt in (#1668) (12418ad)
  • rokt: shadow-check the shopper’s payment pick against the target page (#1666) (6ffa0d9)

BREAKING CHANGES

  • apv: automatic page views no longer carry the parameters listed above as attributes unless an input configures them.

Co-authored-by: Claude Opus 5.5 noreply@anthropic.com

  • refactor(apv): read additional page view query params from a config setting

Move autoLogPageViewQueryParams out of the feature flags. It is now a top-level setting string on the SDK config, parsed by the store when it is created and again in processConfig, and kept on SDKConfig.

getFeatureFlag keeps its original return type, so its declaration no longer changes.

Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com

View on GitHub

v3.23.0 (2026-10-20)

3.23.0 (2026-10-20)

Bug Fixes

  • rokt: keep page history off placement calls under do-not-share-or-sell or GPC (#1648) (5d7de0a)
  • rokt: require identityKeys on a pre-selection entry with widened keys (#1632) (3b8c021)
  • send Rokt placement calls only the identities the connection allows (#1649) (0b5a46a)

Features

  • apv: keep Salesforce Commerce dwvar_ variant params on auto page views (#1646) (b0313c2)
  • clean every page URL with one shared rule in core and kits (#1647) (83c12ab)
  • rokt: fire a logged-in shopper’s express tap before checkout (#1639) (39e6e92)

View on GitHub

v3.22.0 (2026-10-19)

3.22.0 (2026-10-19)

Bug Fixes

  • keep offline batches a concurrent upload stored (#1641) (1d4a767)
  • rokt: skip every pre-selection call under do-not-share-or-sell or GPC (#1644) (8259cc4)
  • send event batch uploads without keepalive (#1642) (f8f87ea)

Features

  • apv: allow s, oq and colour/size query params on auto page views (#1643) (2049f4c)
  • log checkbox and radio clicks in auto button tracking (#1645) (616f5d0)
  • rokt: say why a tab reached the target page without seeing the trigger (#1630) (c531aad)
  • upload auto button clicks right away and fire Rokt pre-selection on the confirm click (#1635) (fd47090), closes #1636 #1637 #1638

View on GitHub

v3.21.0 (2026-10-16)

3.21.0 (2026-10-16)

Bug Fixes

  • release: decide kit publishes npm reports as failed by what npm holds (#1620) (b181ef6)

Features

  • log link clicks in auto button tracking (#1629) (a5b22f9)
  • log only the link clicks page views can’t see, with a link type (#1631) (fcd841f)

View on GitHub

v3.20.0 (2026-10-16)

3.20.0 (2026-10-16)

Bug Fixes

  • rokt: keep email required on widened tabs for an entry that reads the typed email (#1628) (0565b4a)
  • rokt: read a typed email from text inputs for the pre-selection call (#1623) (ab89718)
  • rokt: stop an earlier input event from re-recording a field a later event revoked (#1625) (20f24bf)

Features

  • rokt: fire pre-selection on the confirm click when checkout intent is active (#1616) (ce9b44f)
  • rokt: let a widened tab treat more pre-selection keys as optional (#1617) (8410de3)

View on GitHub

v3.19.1 (2026-10-14)

3.19.1 (2026-10-14)

Bug Fixes

  • rokt: stop destructuring with a computed key the CDN minifier breaks (#1612) (#1613) (ea30e83)

View on GitHub

v3.19.0 (2026-10-14)

3.19.0 (2026-10-14)

⚠️ Warning

If using the Rokt kit you should not use this version and should update to 3.19.1 or higher due to a bug with minification.

Bug Fixes

  • auto button tracking follow-ups from review (#1600) (b169088)
  • ci: mirror a V3 release whose failed jobs were re-run (#1610) (b83b1f7)
  • rokt: skip the form when the connection filters the hashed email identity (#1611) (95a46d8)

Features

  • rokt: read a typed email for preselect when no other source has one (#1599) (0e2b777)

View on GitHub

v3.18.0 (2026-10-14)

3.18.0 (2026-10-14)

Bug Fixes

  • build: escape non-ASCII in bundles so non-UTF-8 pages can parse them (#1605) (34dca08)

Features

View on GitHub

v3.17.0 (2026-10-12)

3.17.0 (2026-10-12)

Features

  • add an opt-in checkout intent listener for the Rokt kit (#1594) (9ab4656)
  • rokt: take checkout intent signals from the core SDK (#1595) (68e677d)

Performance Improvements

View on GitHub

v3.16.1 (2026-10-09)

3.16.1 (2026-10-09)

Bug Fixes

  • rokt: count this tab’s trigger in the cross-tab arrival flag (#1591) (abdabf8)
  • rokt: let one entry’s preselection fire without email again (#1590) (831eac6)

View on GitHub

v3.16.0 (2026-10-08)

3.16.0 (2026-10-08)

Bug Fixes

  • rokt: require email for partner preselection (#1579) (9f9c63f)

Features

  • rokt: shorten one entry’s preselect dispatch hold to five seconds (#1548) (49cf38c)
  • rokt: support gated checkout intent preselection triggers (#1585) (e656a31)

View on GitHub

v3.15.0 (2026-10-08)

3.15.0 (2026-10-08)

Bug Fixes

  • rokt: drop last name from a second preselect match set (#1578) (0222511)

Features

  • rokt: release opted-in preselect holds on route changes (#1582) (9b0d147)
  • rokt: report identity attribute presence on preselect misses (#1583) (fc473d5)
  • rokt: say when another tab saw the preselect trigger (#1581) (ecf9979)
  • rokt: tag each preselect call with what fired it (#1580) (4947d5c)

View on GitHub

v3.14.0 (2026-10-06)

3.14.0 (2026-10-06)

Bug Fixes

  • kits: copy planned event attributes instead of deleting them from the queued event (#1563) (35ac032)
  • persistence: read a stored value that is not a non-empty object as absent in both readers (#1562) (f8cee73)

Features

  • rokt: trigger a preselect on a configured custom event (#1536) (cc1aebe)

View on GitHub

v3.13.0 (2026-10-06)

3.13.0 (2026-10-06)

Bug Fixes

  • ci: give the V3 shadow upload and pointer jobs their environment secrets (#1547) (865e69a)
  • consent: validate the consent timestamp in one place (#1565) (74313df)
  • rokt: clear page views, UTM params and the dispatch hold at session end whatever the targeting state (#1568) (9680eea)
  • rokt: drop last name from one preselect match set (#1569) (03495c4)
  • rokt: drop the card BIN from one preselect match set (#1550) (b6bec6a)
  • rokt: strip the query string when the page url does not parse (#1551) (40b6415)

Features

  • rokt: read one entry’s email key from the user identity (#1549) (83860c9)

View on GitHub

v3.12.1 (2026-10-02)

3.12.1 (2026-10-02)

Bug Fixes

  • rokt: clear pending and active preselect records at session end whatever the targeting state (#1544) (d793978)

View on GitHub

v3.12.0 (2026-10-02)

3.12.0 (2026-10-02)

Bug Fixes

  • consent: read a stored consent entry that is not a consent object (#1519) (e54672a)
  • events: use the element that received the event in logLink and logForm (#1516) (b3bb35e)
  • identity: keep the MPID the server returned as the current user (#1479) (aed63f6), closes #500
  • kits: check every user identity against the plan in kit blocking (#1520) (93318fa)
  • kits: run every kit blocking step for every event (#1522) (4e623d5), closes #1520
  • native-sdk: require the v1 Android bridge to be an own property of window (#1518) (e858772)
  • persistence: keep an existing localStorage record over the persistence cookie (#1523) (0287f50), closes #1521
  • persistence: treat a persistence cookie that does not decode as absent (#1521) (ac527d0)
  • rokt: count a requeued preselect’s dispatch hold from its trigger, not from the retry (#1541) (91e7917)
  • rokt: keep the user from onUserIdentified when the launcher attaches (#1539) (6bf2083)
  • rokt: match a preselection pathname with or without a trailing slash (#1538) (a05346a)
  • rokt: set selectPlacements attributes on the user identify resolves to (#1517) (d927af6)
  • rokt: stop persisting preselect attributes and honor noFunctional in kit storage (#1504) (c33f6f4)

Features

  • rokt: read pre-selection config from the preselectionConfig kit setting (#1530) (a284a72), closes #1540
  • rokt: report preselect misses for the identity-arrival read (#1542) (56e1db0)
  • rokt: say why the preselect identity gate failed, and log when a held dispatch starts or is cancelled (#1537) (3703cb4)

View on GitHub

v3.11.1 (2026-09-29)

3.11.1 (2026-09-29)

Bug Fixes

  • kits: apply product attribute kit blocking to every product action (#1480) (d7b4f01)
  • release: forward npm pack buffer and error context (#1507) (68ed8e3)
  • rokt: gate the newest pre-selection entry on the hashed email key (#1513) (b1987a6)
  • rokt: strip the query string and fragment from the reported page url (#1506) (791e1cd)

View on GitHub

Was this page helpful?

    Last Updated: November 12, 2026