> For the complete documentation index, see [llms.txt](https://docs.adpage.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.adpage.io/integrations-marketingtools/chatgpt-ads.md).

# ChatGPT Ads

How to set up server-side tagging for ChatGPT Ads

OpenAI introduced advertising inside ChatGPT in February 2026, initially limited to a small group of partners in the United States. Access widened in May 2026 with a self-serve Ads Manager. The rollout is still in an early stage, and OpenAI has not yet made Ads Manager broadly available in Europe because of stricter privacy requirements there. Before you start building, confirm with the client that their OpenAI Ads Manager account is actually live, since that's where the pixel, event and Conversions API credentials they hand you come from.

This guide shows you how to configure the OpenAI Conversions API in your Google Tag Manager server container, step by step.

{% hint style="warning" %}
**This article covers a server-side only setup.** All ChatGPT Ads events are sent from your server container to OpenAI's Conversions API, there is no OpenAI Pixel firing in the browser. OpenAI strongly recommends running the OpenAI Pixel **client-side and server-side at the same time**, with event deduplication based on a shared event ID: this hybrid approach also catches conversions that browser-only tracking would miss due to cookie restrictions and ad blockers. That setup requires a few extra steps in both containers, which we describe in [Setting up client-side ChatGPT Ads tracking with deduplication](/integrations-marketingtools/chatgpt-ads/setting-up-client-side-chatgpt-ads-tracking-with-deduplication.md).
{% endhint %}

### Before you start

Make sure you have:

* [ ] A working GTM server container that receives events (usually via your Google Tag / GA4 client).
* [ ] The **OpenAI Pixel ID** and an **API Key**, from the client's OpenAI Ads Manager account. See [Where to find the OpenAI Pixel ID and API Key](/integrations-marketingtools/chatgpt-ads/where-to-find-the-openai-pixel-id-and-api-key.md).
* [ ] The name of the conversion event the client configured in OpenAI Ads Manager (for example an order/purchase event). OpenAI event names may only contain lowercase letters, numbers, underscores and dashes, and must be 1–65 characters long.

### Step 1: Add the tag template

1. Open your GTM server container and go to **Templates**.
2. Under **Tag Templates**, click **Search Gallery**.
3. Search for the **OpenAI Conversions API** tag template and add it to your workspace.

### Step 2: Create the tag

1. Go to **Tags** and create a new tag. Choose the **OpenAI Conversions API** template as your tag configuration.
2. Under **Event Name Setup Method**, choose **Inherit from client** to reuse the event names of your incoming GA4 events, or **Override** if you want to always send one fixed event name. Use Override when the event name the client configured in OpenAI Ads Manager (e.g. `purchase` or `order_completed`) doesn't already match the GA4 event name coming in.
3. Choose the correct **Action Source** (e.g. Website).
4. Under **OpenAI Pixel ID**, enter the Pixel ID from the client's OpenAI Ads Manager account. Under **API Key**, enter the API key the client generated for you (or requested from their OpenAI account team).
5. Leave **Automatic Event Parameters** mapping enabled. It reads the parameters your web container sends and maps the ones it recognises onto the equivalent OpenAI fields, the same way the Meta and TikTok tags do.

### Step 3: Set the compliance and cookie options

**Consent Granted / GTM Consent Mode support**\
Enable this and map it to your consent setup, so the tag only fires once marketing consent has been given.

**Set Click ID cookie**\
Enabled by default. When enabled, the tag stores OpenAI's click ID in a first-party `__oppref` cookie on your domain, so a conversion that happens later in the session can still be attributed back to the ad click that started it. Leave this enabled unless you have a specific reason not to.

{% hint style="info" %}
Do consider your privacy documentation: the tag can store data in a first-party cookie on your domain, so make sure this is covered in the client's cookie policy and that the tag only fires with marketing consent.
{% endhint %}

### Step 4: Add a trigger

1. Give the tag a new trigger. Click **Triggers** under the tag, then click the blue plus icon in the top right.
2. Choose the grey **Custom** option as the trigger configuration.
3. Add your condition. Common options are:

* **Based on specific event names**
  * `{{Event Name}}` matches RegEx `eventname|eventname` — for example the order/purchase event the client wants tracked.
* **Without a condition**, if you want to send every GA4 event to the Conversions API
  * `{{Client Name}}` equals `GA4`

4. Save the trigger and the tag.

### Step 5: Test

Use the server container preview mode to check that the OpenAI Conversions API tag fires on incoming events.

For a more thorough check, ask the client (or their OpenAI account team) to confirm in OpenAI Ads Manager that the test conversion arrived and is attributed to the server as its source.

### Optional: Add or override event parameters

By default, the tag builds its payload from the incoming event on its own, the same way the Meta and TikTok tags do. You can override that mapping, or add parameters the tag does not pick up automatically, in the sections below the main settings:

* **Event Data** — for the commercial details of the event, such as value, currency and order/product data.
* **User Data** — for identifying parameters, used to improve match quality.

Which parameters are available to you depends entirely on what your GA4 event tags send from the web container. Open the server container preview mode, look at an incoming request, and work from the parameters you actually see there.

Only map parameters you have a legal basis to send: anything you add here goes to OpenAI, so it needs to be covered by your consent setup and the client's privacy statement.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.adpage.io/integrations-marketingtools/chatgpt-ads.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
