OpenAI Ads Destination Setup Guide

Set up and configure OpenAI Ads as a destination in RudderStack.

This guide helps you set up OpenAI Ads as a destination in the RudderStack dashboard. It also lists the configuration settings required to correctly send data from the supported sources to OpenAI Ads.

Connection compatibility

Destination Information
  • Status: Generally Available
  • Supported sources: Android (Java) , Android (Kotlin) , iOS (Obj-C) , iOS (Swift) , Web, Unity, AMP , Cloud, React Native , Flutter, Cordova, Shopify
  • Refer to it as OpenAI Ads in the Integrations object.
Connection Modes
SourceCloud modeDevice modeHybrid modeDevice Mode Transformations
AMPsupportednot supportednot supportednot supported
Android (Java)supportednot supportednot supportednot supported
Android (Kotlin)supportednot supportednot supportednot supported
Cloudsupportednot supportednot supportednot supported
Cordovasupportednot supportednot supportednot supported
Fluttersupportednot supportednot supportednot supported
iOS (Obj-C)supportednot supportednot supportednot supported
iOS (Swift)supportednot supportednot supportednot supported
React Nativesupportednot supportednot supportednot supported
Shopifysupportednot supportednot supportednot supported
Unitysupportednot supportednot supportednot supported
Websupportedsupportednot supportedsupported
Supported Message Types
SourceIdentifyPageTrackScreenGroupAliasRecordAudienceList
Cloud mode
Supported sourcesnot supportedsupportedsupportedsupportednot supportednot supportednot supportednot supported
Device mode
Websupportedsupportedsupportednot supportednot supportednot supportednot supportednot supported

Setup

In your RudderStack dashboard, add a source. Then, from the list of destinations, select OpenAI Ads.

Connection settings

SettingDescription
Destination nameAssign a name to uniquely identify the destination.
OpenAI Ads accountSelect or create an OpenAI Ads account. The account requires a Pixel ID. Conversions API key is mandatory for cloud mode connections.

While creating an OpenAI Ads account, configure the following fields:

FieldDescription
Account nameEnter a name to identify the OpenAI Ads account in RudderStack.
Pixel IDEnter your OpenAI Ads Pixel ID. RudderStack uses it to initialize the Measurement Pixel in web device mode and as the pid value for cloud mode Conversions API delivery.
API KeyEnter your OpenAI Ads Conversions API key. This field is required for cloud mode delivery and optional for web device mode connections.

Configuration settings

Configure the following settings to send your data correctly to OpenAI Ads:

SettingDescription
Default currencyEnter an optional fallback ISO 4217 currency code. Use a three-letter uppercase code, such as USD.
Default action sourceSelect an optional fallback action_source value used when the event does not include one. Supported values are web, mobile_app, offline, physical_store, phone_call, email, and other.
Enable hashingEnabled by default for both cloud mode and web device mode.

  • When enabled, RudderStack normalizes and SHA-256 hashes email, phone number, first name, last name, and user ID before sending them to OpenAI Ads.
  • Disable this setting only if you send these values already normalized and SHA-256 hashed. RudderStack rejects unhashed values — cloud mode fails the entire event, while web device mode drops only the affected identifier and still fires the event.
  • When no user ID is present, RudderStack hashes the anonymous ID automatically.
This table does not include user ID normalization because cloud mode and web device mode currently handle its case differently. If you disable Enable hashing, don’t assume the name rules above apply to user IDs.

Identifier normalization

When Enable hashing is enabled, RudderStack normalizes the following fields before hashing them:

FieldNormalization
EmailTrims leading and trailing whitespace and converts the value to lowercase.
PhoneKeeps digits only, strips leading zeros, and doesn’t include a leading +.
First name and last nameConverts the value to lowercase and removes ASCII punctuation. Cloud mode trims leading and trailing whitespace only, while web device mode removes all whitespace, including spaces inside the value.
The phone format isn’t E.164, the format required by Google Ads. If you disable Enable hashing, do not reuse phone values hashed for Google because the normalized values differ and can cause OpenAI Ads matches to fail silently.

Event mapping settings

Use the event mapping settings to map RudderStack events to OpenAI Ads events.

SettingDescription
Event mappingsClick Set up mapping to map RudderStack event names to OpenAI Ads standard events, or choose Custom and provide a custom event name.

You can configure only one OpenAI Ads event mapping per RudderStack event name.
RudderStack event nameEnter the source track, page, or screen event name you want to map.
OpenAI Ads eventSelect the OpenAI Ads event to receive the RudderStack event. Supported standard events are app_installed, app_opened, appointment_scheduled, checkout_started, contents_viewed, items_added, lead_created, order_created, page_viewed, registration_completed, subscription_created, and trial_started.
Deduplication key pathEnter an optional dot path, such as properties.orderId, to use as the OpenAI Ads event ID. If this path is empty or does not resolve to a value, RudderStack uses the message ID.
Custom event nameRequired only when the mapped OpenAI Ads event is Custom. You can’t configure this field for standard OpenAI Ads events.

Other settings

SettingDescription
Client-side event filteringSpecify which web device mode events should be discarded or allowed to flow through to OpenAI Ads. Choose No events filtering, Filter via allowlist, or Filter via denylist.

See Client-side Event Filtering for more information.
Consent management settingsConfigure the consent management settings for the specified source by choosing the Consent management provider from the dropdown and entering the relevant consent category IDs.

See Consent Management in RudderStack for more information on this feature.

Next steps

Questions? Let's figure it out together.

Join the RudderStack Slack community to connect with other users, customers, and the RudderStack team — or reach out for direct support.