Developers
API References
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

Platform API

Key Management

Platform API Overview

Accounts

Apps

Audiences

Calculated Attributes

Data Points

Feeds

Field Transformations

Services

Users

Workspaces

Audit Logs API

Calculated Attributes Seeding API

Bulk Profile Deletion API Reference

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

Direct Url Routing

Direct URL Routing FAQ

Web

Android

iOS

Cordova

Cordova Plugin

Identity

Upgrade to Version 5

.NET MAUI

Getting Started

Identity

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

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

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

Server SDKs

Node SDK

Go SDK

Python SDK

Ruby SDK

Java SDK

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

Tools

mParticle Command Line Interface

Smartype

Linting Tools

The Developer's Guided Journey to mParticle

API Credential Management

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

REST API

Dashboard Filter API (Deprecated)

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
ABTasty

Audience

Aarki

Audience

Actable

Feed

24i

Event

AdChemix

Event

Adikteev

Audience

Event

Adjust

Event

Feed

Adobe Marketing Cloud

Cookie Sync

Server-to-Server Events

Platform SDK Events

AdMedia

Audience

Adobe Audience Manager

Audience

Adobe Experience Platform

Event

Adobe Campaign Manager

Audience

AdPredictive

Feed

Adobe Target

Audience

AgilOne

Event

Airship

Feed

Event

Audience

Amazon Advertising

Audience

Event

Algolia

Event

Amazon Kinesis

Event

Amazon Kinesis Firehose

Audience

Event

Amazon Redshift

Data Warehouse

Amazon S3

Event

Audience

Amazon SNS

Event

Amazon SQS

Event

Amobee

Audience

Ampush

Audience

Event

Amplitude

Event

Forwarding Data Subject Requests

Analytics

Audience

Event

Forwarding Data Subject Requests

Antavo

Feed

AppLovin

Event

Audience

Anodot

Event

Apptentive

Event

AppsFlyer

Feed

Event

Forwarding Data Subject Requests

Apptimize

Event

Attentive

Event

Feed

Awin

Event

Microsoft Azure Blob Storage

Event

Batch

Audience

Event

Bidease

Audience

Bluecore

Event

Bing Ads

Event

Bluedot

Feed

Branch

Feed

Event

Forwarding Data Subject Requests

Blueshift

Event

Feed

Forwarding Data Subject Requests

Branch S2S Event

Event

Bugsnag

Event

Braze

Audience

Feed

Forwarding Data Subject Requests

Event

Button

Audience

Event

Cadent

Audience

Census

Feed

CleverTap

Audience

Feed

Event

Conversant

Event

comScore

Event

Cordial

Audience

Feed

Cortex

Event

Feed

Forwarding Data Subject Requests

Criteo

Event

Audience

Crossing Minds

Event

Custom Feed

Custom Feed

CustomerGlu

Feed

Event

Customer.io

Audience

Event

Feed

Datadog

Event

Databricks

Data Warehouse

Didomi

Event

Dynamic Yield

Event

Audience

Eagle Eye

Audience

Edge226

Audience

Emarsys

Audience

Everflow

Audience

Epsilon

Event

Facebook

Audience

Event

Facebook Offline Conversions

Event

Google Analytics for Firebase

Event

Flybits

Event

ForeSee

Event

Flurry

Event

Foursquare

Audience

Feed

FreeWheel Data Suite

Audience

Friendbuy

Event

Google Ad Manager

Audience

Google Analytics

Event

Google Ads

Audience

Event

Google Analytics 4

Event

Google BigQuery

Audience

Data Warehouse

Google Cloud Storage

Event

Audience

Google Marketing Platform

Cookie Sync

Event

Audience

Google Enhanced Conversions

Event

Google Marketing Platform Offline Conversions

Event

Google Pub/Sub

Event

Google Tag Manager

Event

Heap

Event

Hightouch

Feed

Herow

Feed

Hyperlocology

Event

Ibotta

Event

ID5

Kit

Impact

Event

InMarket

Audience

InMobi

Audience

Event

Inspectlet

Event

Insider

Audience

Event

Feed

Intercom

Event

iPost

Audience

Feed

ironSource

Audience

Iterable

Event

Feed

Audience

Jampp

Audience

Event

Kissmetrics

Event

Kafka

Event

Kayzen

Audience

Event

Klaviyo

Audience

Event

Kubit

Event

Kochava

Event

Feed

Forwarding Data Subject Requests

Leanplum

Audience

Event

Feed

LaunchDarkly

Feed

Liftoff

Audience

Event

LifeStreet

Audience

LinkedIn

Audience

LinkedIn Conversions API Integration

LiveLike

Event

Liveramp

Audience

Localytics

Event

MadHive

Audience

Mailchimp

Audience

Event

Feed

mAdme Technologies

Event

Marigold

Audience

Mautic

Event

Audience

Mediasmart

Audience

MediaMath

Audience

Microsoft Azure Event Hubs

Event

Microsoft Ads

Microsoft Ads Audience Integration

Mixpanel

Audience

Mixpanel Cohort Feed Integration

Forwarding Data Subject Requests

Event

Mintegral

Audience

MoEngage

Audience

Event

Feed

Moloco

Audience

Event

Movable Ink

Event

Monetate

Event

myTarget

Audience

Event

Multiplied

Event

Nami ML

Feed

Movable Ink - V2

Event

Nanigans

Event

Narrative

Audience

Event

Feed

NCR Aloha

Event

Neura

Event

OneTrust

Event

OpenAI

Event

Optimizely

Audience

Event

Oracle BlueKai

Event

Oracle Responsys

Audience

Event

Paytronix

Feed

Personify XP

Event

Persona.ly

Audience

PieEye

Inbound Data Subject Requests

Pinterest

Audience

Event

Pilgrim

Event

Feed

Plarin

Event

Primer

Event

Postie

Audience

Event

Pushwoosh

Audience

Event

Punchh

Audience

Event

Feed

Qualtrics

Event

Quantcast

Event

Apteligent

Event

Reddit

Event

Audience

Regal

Event

Radar

Event

Feed

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 Mobile Push

Event

Salesforce Sales and Service Cloud

Event

Feed

Salesforce Email

Audience

Feed

Event

Samba TV

Audience

Event

Scalarr

Event

SendGrid

Audience

Feed

SessionM

Event

Feed

ShareThis

Audience

Feed

SFTP

Audience

SimpleReach

Event

Singular

Event

Feed

Shopify

Custom Pixel

Feed

Skyhook

Event

Singular-DEPRECATED

Event

Slack

Event

SmarterHQ

Event

Smadex

Audience

Snapchat Conversions

Event

Snapchat

Audience

Event

Snowflake

Audience

Data Warehouse

Snowplow

Event

Splunk MINT

Event

Split

Event

Feed

Spotify

Event

Sprig

Audience

Event

StartApp

Audience

Statsig

Event

Feed

Stormly

Audience

Event

Swrve

Event

Feed

Talon.One

Audience

Event

Feed

Loyalty Feed

Tapad

Audience

Tapjoy

Audience

Taplytics

Event

Taptica

Audience

Teak

Audience

The Trade Desk

Audience

Event

Cookie Sync

Ticketure

Feed

TikTok Event

Audience (Deprecated)

Audience

Audience Migration

Event

Treasure Data

Audience

Event

Triton Digital

Audience

TUNE

Event

Twitter

Audience

Event

Valid

Event

Vibe

Audience

Voucherify

Event

Audience

Vkontakte

Audience

Vungle

Audience

Webtrends

Event

White Label Loyalty

Event

Webhook

Event

Wootric

Event

Xandr

Audience

Cookie Sync

X

Event

Yahoo (formerly Verizon Media)

Audience

Cookie Sync

Yotpo

Feed

YouAppi

Audience

Z2A Digital

Audience

Event

Zendesk

Event

Feed

Rakuten

Event

Event

The OpenAI Conversions API lets advertisers send conversion events from their servers to OpenAI to measure campaign performance and optimize campaigns for conversions. The mParticle event integration forwards your app, web, and server-to-server events to the OpenAI Conversions API, so you can send conversions to OpenAI without building and maintaining your own server-side integration.

Prerequisites

To set up the OpenAI event integration, you need:

  • An OpenAI Ads Manager account.
  • An OpenAI Pixel ID, from the conversions tab of OpenAI Ads Manager.
  • An OpenAI Conversion Key. To generate one, click the key icon in the top-right corner of OpenAI Ads Manager.

Setup

1. Create an OpenAI output configuration

  1. In mParticle, navigate to Setup > Outputs.
  2. Click Add Output and select OpenAI.
  3. Enter a descriptive Configuration Name.
  4. Enter your Pixel ID: the pixel ID from the conversions tab of OpenAI Ads Manager.
  5. Enter your Conversion Key: the key you generated from the key icon in OpenAI Ads Manager.
  6. Click Save.

2. Connect a data input to OpenAI

A connection links one platform input (such as your iOS app, Android app, or web property) to this output configuration. Each connection is independent and can be configured with its own Connection Settings, so you can use a different action source, external identity type, or consent mapping per input.

To connect an input:

  1. In mParticle, navigate to Connections and select the input you want to connect to.
  2. Click Connect Output and find OpenAI in the output list.
  3. Select an Action Source: where the conversions on this connection occur. If you select Web, every event must include a source URL. See Source URL. For iOS, Android, and tvOS connections, select Mobile App.
  4. (Optional) Enable Forward Location Attributes to send country, city, and postal code for conversion matching.
  5. (Optional) Enable Forward Device Info to send the IP address and user agent for conversion matching.
  6. (Optional) Enable Enrich with IP Address to fill in a missing IP address with the user’s most recently seen IP address. Requires Forward Device Info. See Enrich with IP Address.
  7. (Optional) Enable Validate Only while you are testing the connection. OpenAI validates events without saving them. Disable this setting before you go live.
  8. (Optional) Select an External Identity Type: the mParticle identity to send to OpenAI as the external ID. Defaults to Customer ID. Select None to send no external ID.
  9. (Optional) Select a User Data Consent Mapping: the consent purpose used to set OpenAI’s opt_out flag. See Consent.
  10. (Optional) Disable Send Custom Event Attributes to send standard event data only. See Custom attributes.
  11. Click Add Connection.

Repeat for each platform input you want to forward to OpenAI.

Supported platforms

  • iOS
  • Android
  • tvOS
  • Web
  • Custom Feed (server-to-server)

Supported identities

OpenAI uses identities and other user data to match conversions to people who saw or interacted with an ad. mParticle sends these fields in the user object of each event. All fields are optional: mParticle forwards events to OpenAI even when no identity is present. OpenAI can also attribute conversions using the OpenAI attribution identifier (oppref) alone. See Custom flags.

OpenAI field mParticle source When it’s sent
phone_numbers_sha256 Mobile Number, Phone Number 2, and Phone Number 3 identities, and the $Mobile user attribute Automatically when present. Up to three unique phone numbers are sent.
emails_sha256 Email identity Automatically when present.
external_ids_sha256 The identity selected in the External Identity Type connection setting (Customer ID by default) When the selected identity is present. Not sent when External Identity Type is set to None.
first_names_sha256 $FirstName user attribute Automatically when present.
last_names_sha256 $LastName user attribute Automatically when present.
postal_codes $Zip user attribute Requires Forward Location Attributes.
cities $City user attribute Requires Forward Location Attributes.
countries $Country user attribute Requires Forward Location Attributes.
android_advertising_id Google Advertising ID (GAID) Automatically when present.
obref OpenAI.Obref custom flag When the custom flag is set. See Custom flags.
ip_address IP address collected by mParticle Requires Forward Device Info. See also Enrich with IP Address.
user_agent User agent collected by mParticle Requires Forward Device Info.

mParticle normalizes and hashes phone numbers, emails, external IDs, and names before sending them. See Data processing notes.

Supported event types

mParticle forwards the following event types to OpenAI:

  • Commerce Event
  • Screen View
  • Application State Transition (iOS, Android, and tvOS only)
  • Custom Event (only when mapped with a custom mapping)

Native event mappings

mParticle maps the following events to OpenAI event types automatically. You don’t need to configure anything for these events.

mParticle event OpenAI event type OpenAI data.type
Commerce Event: View Detail contents_viewed contents
Commerce Event: Add to Cart items_added contents
Commerce Event: Checkout checkout_started contents
Commerce Event: Purchase order_created contents
Screen View page_viewed contents
Application State Transition: Install app_installed customer_action
Application State Transition: Initialized, Upgrade, or Foreground app_opened customer_action

Notes on native mappings:

  • Other commerce event actions (for example, Remove from Cart, Refund, Add to Wishlist, and promotion or impression events) are not forwarded.
  • Application state transitions are forwarded only from iOS, Android, and tvOS inputs. Background and exit transitions are not forwarded. OpenAI only accepts app_installed and app_opened from mobile apps, so mParticle always sends these events with action_source set to mobile_app, regardless of the Action Source connection setting.

Custom mappings

Use custom mappings to send mParticle custom events to OpenAI. Custom events are forwarded only when you map them; unmapped custom events aren’t sent. In your OpenAI connection, open the Custom Mappings tab, select an OpenAI event, and map an mParticle event to it. For more information, see Custom Mappings.

Map an event to one of OpenAI’s standard events when one fits. To send an event that doesn’t match a standard event, map it to Custom.

OpenAI event (Custom Mappings tab) OpenAI event type OpenAI data.type
Appointment Scheduled appointment_scheduled customer_action
Lead Created lead_created customer_action
Registration Completed registration_completed customer_action
Subscription Created subscription_created plan_enrollment
Trial Started trial_started plan_enrollment
Page Viewed page_viewed contents
Checkout Started checkout_started contents
Contents Viewed contents_viewed contents
Items Added items_added contents
Order Created order_created contents
App Installed app_installed customer_action
App Opened app_opened customer_action
Custom custom custom

Each mapped event has these optional mapping parameters:

Parameter OpenAI field Available on Description
Source URL source_url All events The page URL where the conversion occurred. Required by OpenAI when the action source is web.
OpenAI Attribution ID oppref All events The OpenAI attribution identifier, forwarded without modification.
Custom Event Name custom_event_name Custom The name OpenAI records for the custom event. If you don’t map it, mParticle uses the mParticle event name. See Custom event names.

Custom event names

OpenAI requires every custom event to have a custom_event_name of 1 to 64 lowercase letters, digits, underscores, or hyphens that starts and ends with a letter or digit, and that isn’t one of OpenAI’s standard event names. mParticle normalizes the name before sending it:

  1. Converts the name to lowercase.
  2. Replaces each run of unsupported characters (including spaces) with a single underscore.
  3. Removes leading and trailing underscores and hyphens.
  4. Truncates the name to 64 characters, then removes any underscores or hyphens left at the end.

For example, Add Payment Method! is sent as add_payment_method: the spaces become underscores and the ! is removed.

If nothing valid remains after normalization, or if the result matches a standard OpenAI event name (for example, lead_created), mParticle doesn’t forward the event and reports it as unable to forward.

Custom attributes

When the Send Custom Event Attributes connection setting is enabled (the default), mParticle sends all of the custom attributes on events mapped to Custom (data.type of custom) to OpenAI. Each attribute is added to the event’s data object as a key-value pair, using the attribute name as the key. Custom attributes aren’t sent for any other OpenAI event type.

mParticle skips two kinds of attributes:

  • Attributes named type, amount, currency, contents, or plan_id, because these names are reserved for OpenAI’s own data fields.
  • Attributes you select for the Source URL, OpenAI Attribution ID, or Custom Event Name parameters on the Custom Mappings tab. mParticle sends these values in the event’s source_url, oppref, and custom_event_name fields instead, so they aren’t repeated in data.

To send standard event data only, disable the Send Custom Event Attributes connection setting. To exclude specific attributes while sending the rest, use platform filters or feed filters.

Event data mapping

Event fields

OpenAI field mParticle source Notes
id OpenAI.EventId custom flag, then the source message ID, then the mParticle event ID See Deduplication.
type Native mapping or custom mapping See Supported event types.
timestamp_ms Event timestamp See Data processing notes for the accepted time window.
custom_event_name Custom Event Name mapping parameter, or the mParticle event name custom events only. See Custom event names.
action_source Action Source connection setting Always mobile_app for app_installed and app_opened.
source_url See Source URL
oppref OpenAI.Oppref custom flag, then the OpenAI Attribution ID mapping parameter
opt_out User Data Consent Mapping connection setting See Consent.
user User identities, user attributes, and device info See Supported identities.
data Event data See Commerce data and Custom attributes.

Commerce data

For native commerce event mappings, mParticle sends the following fields in the data object:

OpenAI field mParticle source Notes
data.amount Product action total amount If the total amount is missing or zero, mParticle uses the sum of each product’s price × quantity. Sent as an integer in the currency’s minor unit.
data.currency Currency code Sent only when data.amount is sent.
data.contents[].id Product ID (SKU)
data.contents[].name Product name
data.contents[].content_type product Always set to product.
data.contents[].quantity Product quantity Rounded to a whole number. Not sent if zero or less.
data.contents[].amount Product price Unit price as an integer in the currency’s minor unit.
data.contents[].currency Currency code Sent only when data.contents[].amount is sent.

OpenAI requires monetary values as integers in the currency’s minor unit. mParticle converts decimal amounts using the ISO 4217 minor unit for the currency, rounding half away from zero. For example:

  • 42.00 USD is sent as 4200.
  • 8900 JPY is sent as 8900.
  • 1.234 KWD is sent as 1234.

If the currency code is missing or isn’t a valid ISO 4217 currency, mParticle doesn’t send amount or currency but still forwards the event and its products.

Custom flags

Custom flags let you set OpenAI-specific values on individual events. A custom flag takes precedence over the matching custom mapping parameter.

Custom flag OpenAI field Required Description
OpenAI.SourceUrl source_url Conditional The page URL where the conversion occurred. Must be an absolute http or https URL. Required for events with an action source of web, unless you provide the URL with the Source URL custom mapping parameter instead. Without a source URL, mParticle doesn’t forward web events. See Source URL.
OpenAI.Oppref oppref No The OpenAI attribution identifier, forwarded without modification.
OpenAI.Obref user.obref No The browser reference that the OpenAI pixel stores in the __obref cookie. Set this flag to the cookie’s value. mParticle forwards it as-is, so don’t hash it. Only set this flag for users who have given consent.
OpenAI.EventId id No Overrides the event ID that OpenAI uses for deduplication. If you don’t set it, mParticle uses the event’s own ID. See Deduplication.

Source URL

OpenAI requires source_url for every event with an action source of web. mParticle uses the first valid absolute http or https URL from:

  1. The OpenAI.SourceUrl custom flag.
  2. The Source URL custom mapping parameter.
  3. The page URL on the event, if one is set.

If the action source is web and none of these provide a valid URL, mParticle doesn’t forward the event and reports it as unable to forward.

Use the User Data Consent Mapping connection setting to select one mParticle consent purpose that controls OpenAI’s opt_out flag on each event. For more information on consent in mParticle, see Data Privacy Controls.

Consent state for the mapped purpose opt_out value
GDPR purpose not consented true
CCPA data sale opt-out consented (the user opted out) true
GDPR purpose consented, or CCPA data sale opt-out not consented false
No consent state for the purpose, or no purpose mapped Not sent

Setting opt_out to true opts the event out of future user-level personalization in OpenAI. OpenAI doesn’t currently use Conversions API data for user-level personalization.

Enrich with IP Address

When Enrich with IP Address and Forward Device Info are both enabled, mParticle fills in a missing IP address with the user’s most recently seen IP address.

Deduplication

OpenAI deduplicates events that share the same Pixel ID, event type, and id, and keeps the first event it receives. mParticle sets id to the first available value from:

  1. The OpenAI.EventId custom flag.
  2. The source message ID of the event.
  3. The mParticle event ID.

The same ID is reused when mParticle retries a request. If you also send the same conversions from the OpenAI pixel, set OpenAI.EventId to the pixel event’s event_id, and send both events to the same Pixel ID with the same event type. For custom events, also use the same custom event name on both sides.

Data processing notes

  • Event age: OpenAI only accepts events with a timestamp within the last 7 days, and no more than 10 minutes in the future. To allow for queueing and retries, mParticle doesn’t forward events older than 7 days minus 1 hour, or more than 9 minutes in the future. These events are reported as unable to forward. This affects replays and late-arriving data.
  • Validation before sending: OpenAI rejects an entire request if any event in it is invalid. To prevent one bad event from failing others, mParticle validates each event before sending it and doesn’t forward events that fail validation (for example, a web event without a source URL, or a custom event without a valid custom event name).
  • Delivery: Events are forwarded server-to-server in near real time, in requests of up to 1,000 events.
  • PII hashing: mParticle normalizes and hashes identities with SHA-256 before forwarding them. Values that are already SHA-256 hashes are sent as-is.

    • Email: trimmed and lowercased.
    • Phone number: spaces, parentheses, periods, hyphens, and the leading + and zeros are removed, keeping the country calling code. Only results of 8 to 15 digits are sent. mParticle doesn’t add a country calling code, so phone numbers must include one to match in OpenAI.
    • External ID (including MPID): trimmed. Case is preserved.
    • First and last name: lowercased, with all whitespace and ASCII punctuation removed.
  • User attributes: country must be a two-letter ISO 3166-1 code, city must be 128 characters or fewer, and postal code must be up to 32 letters, numbers, spaces, or hyphens. Values in other formats aren’t sent.
  • IP address: only valid IPv4 or IPv6 addresses are sent.
  • Validate Only: while Validate Only is enabled, OpenAI validates events but doesn’t save them. Events sent during this time won’t count as conversions.

Configuration settings

Setting Name Data Type Required Default Value Description
Pixel ID string Yes The Pixel ID from the conversions tab of OpenAI Ads Manager. Sent as the pid query parameter on every request.
Conversion Key string Yes The conversion key you generate from the key icon in the top-right corner of OpenAI Ads Manager. Sent as a bearer token on every request. This value is stored encrypted.

Connection settings

Setting Name Data Type Required Default Value Platform Description
Action Source enum Yes Web All Where conversions on this connection occur. One of Web, Mobile App, Offline, Physical Store, Phone Call, Email, or Other. If you select Web, every event must include a source URL. app_installed and app_opened events always use Mobile App.
Forward Location Attributes boolean No False All If enabled, mParticle forwards the $Country, $City, and $Zip user attributes for conversion matching. First name, last name, and phone number are sent regardless of this setting.
Forward Device Info boolean No False All If enabled, mParticle forwards the IP address and user agent for conversion matching. Must be enabled to use Enrich with IP Address.
Enrich with IP Address boolean No False All If enabled, mParticle fills in a missing IP address with the user’s most recently seen IP address. Requires Forward Device Info. See Enrich with IP Address.
Validate Only boolean No False All If enabled, OpenAI validates events without saving them. Enable only during setup and testing.
External Identity Type enum No Customer ID All The mParticle identity to send to OpenAI as the external ID (external_ids_sha256). One of None, Customer ID, MPID, or Other through Other 10. Select None to send no external ID. Events are still forwarded when the selected identity is missing.
User Data Consent Mapping Custom mapping No All The mParticle consent purpose used to set the event-level opt_out flag. Only one purpose can be selected.
Send Custom Event Attributes boolean No True All Sends all custom event attributes to OpenAI as custom fields. Disable to send standard event data only. Use platform or feed filters to exclude specific attributes.
    Last Updated: October 28, 2026