Focus

ChatGPT Ads Conversion Tracking: Pixel, Conversions API, Consent and Incrementality

Alexandre Suon · 2026-10-29

ChatGPT now shows ads in France and 30 other European markets, with conversion campaigns that learn from the sales you send back to OpenAI. A browser pixel alone will miss part of those sales, and a channel that looks unprofitable in its first test is usually switched off. This guide explains how OpenAI measures conversions, where the pixel loses them, and the server-side, consent-based set-up we recommend before the first euro is spent.

Executive summary

  1. ChatGPT Ads is now a performance channel in Europe. Ads launched in the US in February 2026, self-serve and the Conversions API followed in May, and ads became eligible in France on 24 August 2026 as part of a 31-market roll-out. Only Free and Go users see them.
  2. OpenAI offers two measurement tools: a browser pixel and a server-side Conversions API. They are deduplicated when the pixel's `event_id` equals the server event's `id` under the same Pixel ID; OpenAI keeps the first event it receives.
  3. The pixel alone under-reports. Ad blockers stop the script, and Safari keeps a cookie set from a link parameter for only 24 hours, so a purchase two days after the click can lose its link to the ad. In our illustrative example, the pixel alone reports 31% fewer sales than the campaign generates.
  4. Under-reporting changes decisions, not just dashboards. Conversion campaigns optimise on the conversions OpenAI receives; less signal means slower learning and a cost per acquisition that looks higher than it is.
  5. Consent comes first. OpenAI relies on consent for personalised advertising in Europe. The Conversions API recovers technical losses, never refusals, and server-side sending must stop when consent is withdrawn.
  6. Attributed is not incremental. Before raising budgets, run a geographic or on/off test against a control group, with the decision metric written down in advance.

Want your own numbers first? Our free ChatGPT Ads tracking gap calculator estimates how many sales the pixel alone would miss on your traffic, and the cost per acquisition each set-up would show.

Section 1 · The channel

ChatGPT Ads went from a US test to a European performance channel in seven months

For the first time, a conversational assistant is an acquisition channel in its own right, with an Ads Manager, cost-per-click bidding, conversion-optimised campaigns and two measurement tools. The timeline matters because each step added something advertisers must prepare for.

Timeline of ChatGPT Ads in 2026: US launch in February, self-serve Ads Manager and Conversions API in the US on 5 May, conversion campaigns in June, EU privacy policy based on consent on 14 August, ads eligible in France on 24 August in a 31-market roll-out, and self-serve in France in beta from September.
Exhibit 1. ChatGPT Ads reached French advertisers seven months after the US launch. Source: Digiday; PPC Land; Search Engine Land; TechRepublic; Datashake (checked October 2026).
DateStepWhat it means for measurement
February 2026Ads launch in the US (Digiday)Contextual placements only; no conversion optimisation yet
5 May 2026Self-serve Ads Manager in the US, CPC bidding, Conversions API published (PPC Land)Server-side measurement becomes available
June 2026Conversion-optimised campaigns, for accounts with the pixel or the Conversions API (Search Engine Land)Delivery now depends on the conversions you send
14 August 2026European privacy policy: consent as the legal basis for personalised ads (Digiday)Measurement must follow the visitor's choice
24 August 2026Ads eligible in France, within a 31-market European roll-out (TechRepublic)French traffic enters the channel
From September 2026Self-serve Ads Manager opening in France, in beta (Datashake)Any advertiser can launch without a sales contact

Three points shape how the channel behaves:

  • Only Free and Go users see ads. Plus, Pro and business subscribers do not.
  • Targeting is contextual first: the current conversation and an approximate location. Personalisation from other data requires the user's consent.
  • Ads sit apart from answers and are labelled as sponsored. OpenAI says they do not influence what ChatGPT answers, so buying ads is a separate job from being cited in answers, which our guide to measuring AI search visibility covers.

OpenAI has promoted sharp falls in cost per purchase among early advertisers, without a published method (Ads-Up). That is a reason to measure for yourself, properly, from the first campaign.

Section 2 · How OpenAI measures

OpenAI measures conversions with a browser pixel and a server-side Conversions API, deduplicated by event ID

OpenAI's measurement follows the model Meta set with its pixel and Conversions API: one script in the browser, one feed from your server, and a rule that stops the same sale being counted twice.

The OpenAI Conversions API (CAPI) is a server-to-server endpoint that receives conversion events from your systems rather than from the visitor's browser, so a conversion can be recorded even when the browser script is blocked or has lost the click reference.

Measurement pixelConversions API
Where it runsIn the browser, from a script in the `<head>` or Google Tag ManagerOn your server, server to server
What it sendsStandard events such as `page_viewed`, `items_added`, `checkout_started`, `order_created`, `lead_created`, or custom eventsThe same events, plus those the browser never sees, such as confirmed orders from the back office or offline conversions
IdentifiersFirst-party cookies `__oppref` (click reference, 30 days) and `__obref` (365 days); SHA-256-hashed email and phoneSHA-256-hashed email, phone and IDs, the `oppref` click reference, IP address and user agent
LimitsAd blockers, browser cookie restrictions, cleared cookies, pages closed before the event firesNeeds development or a server-side tagging tool (for example Addingwell or Stape); events must be less than 7 days old; up to 1,000 events per batch

Deduplication is the rule that makes both safe. When an order reaches OpenAI through the pixel and the API, the pixel's `event_id` must equal the server event's `id`, under the same Pixel ID. OpenAI keeps the first event it receives and ignores the duplicate. Without a shared ID, every sale sent both ways is counted twice, and cost per acquisition looks twice as good as it is.

Attribution is click-through. Conversion counts, cost per acquisition, bidding and billing are based on post-click conversions. View-through conversions, with a one-day window, are reported in a separate metric.

Two technical constraints catch teams out: server events must be less than seven days old, and one invalid event makes a whole batch fail, so validation belongs before sending, not after.

Architecture diagram: the browser passes through the consent platform; with consent, the OpenAI pixel sends an event with event_id A123 and the tagging server on your own domain, also fed by the back office, sends the Conversions API event with id A123 plus the click reference and hashed identifiers; OpenAI keeps the first event received and ignores the duplicate.
Exhibit 2. Each key conversion leaves twice, from the browser and from the server, with one ID, and is counted once. Source: Henkan & Partners, based on OpenAI Measurement Pixel and Conversions API documentation.

Section 3 · The measurement gap

The pixel alone will under-report ChatGPT Ads, and the algorithm learns from what it receives

A pixel only sees what the browser lets it see. On a channel where people often research before they buy, three losses add up.

Safari shortens the memory of the click to 24 hours

The OpenAI click reference is read from the landing URL and stored in a cookie set by JavaScript. Safari's Intelligent Tracking Prevention caps cookies set by JavaScript at seven days, and at 24 hours when the cookie comes from a link parameter (CustomerLabs). An iPhone user who clicks on Monday and buys on Wednesday may never be linked to the campaign.

Step chart: with the pixel alone on Safari, a purchase stays linked to the ChatGPT click for about one day after the click; when the click reference is kept server-side, it stays linked for the full 30-day window.
Exhibit 3. On Safari, a purchase more than 24 hours after the click can lose its link to the ad unless the click reference is kept server-side. Source: OpenAI Measurement Pixel documentation (30-day click reference); WebKit tracking prevention rules for cookies set from link decoration.

Ad blockers stop the script

57% of French internet users aged 18 and over say they use a tool to block advertising, against 36% in 2016 (Mind Media survey, published by Edgee). Many of these tools also block measurement pixels, and the share is highest among tech-savvy users, the people most likely to use ChatGPT.

Refused consent stops everything, by design

When consent is refused, the pixel sends no events, and events it blocked are never replayed (OpenAI). That is normal and lawful; it simply has to be known when reading the numbers.

What the gap looks like on a €10,000 test

Take a €10,000 monthly budget at €0.80 a click, a 2.5% conversion rate, 70% of visitors accepting measurement, 20% of pixels blocked, 45% of traffic on Safari and 30% of purchases made more than 24 hours after the click. The campaign generates about 219 measurable sales a month. The pixel alone reports about 151, so the Ads Manager shows a cost per acquisition of €66 instead of €46.

Waterfall chart for an illustrative €10,000 test: 219 conversions generated by consenting visitors, minus 44 lost to blocked pixels and 24 lost to Safari purchases after 24 hours, leaves 151 reported by the pixel alone; cost per acquisition shown is €66 with the pixel alone and €46 with pixel plus Conversions API.
Exhibit 4. In this example the pixel alone reports 31% fewer sales than the campaign generates. Assumptions as stated in the text. Source: Henkan & Partners calculation.

Conversions you can measure = clicks × conversion rate × consent rate Reported by the pixel alone = measurable × (1 − share blocked) × (1 − Safari share × share bought after 24 h) Gap = 1 − (1 − 0.20) × (1 − 0.45 × 0.30) = 30.8%

The assumptions are deliberately round; your own blocking rate, Safari share and purchase delay will differ. Enter them in the ChatGPT Ads tracking gap calculator to see your figure.

Our view. The cost of the gap is not the wrong number in a report. Conversion campaigns choose whom to show ads to from the conversions OpenAI receives; less signal means slower learning, a cost per acquisition that looks worse than it is, and a real risk of cutting a profitable channel after its first test. The Conversions API does not get round consent. It recovers what the browser loses for technical reasons: shortened cookies, blocked scripts, pages closed before sending.

Section 4 · Consent

Consent is the condition of any measurement, on both the pixel and the server

In Europe, OpenAI chose consent rather than legitimate interest as the legal basis for personalised advertising (Digiday). For the advertiser the logic is the same: measurement follows the visitor's choice. Four settings to make before the first campaign:

  1. Declare OpenAI as a new vendor in your consent management platform (CMP), under the advertising measurement purpose.
  2. Gate the pixel on consent. The pixel accepts a consent setting before it initialises; set to `false`, it sends nothing and removes its cookies.
  3. Apply the same rule on the server. OpenAI's documentation asks advertisers to collect or forward the `__obref` browser reference only with the required consent, and to stop if the visitor withdraws it.
  4. Document the processing: purpose, data sent (hashed identifiers) and cookie retention.

A server-side set-up wired to the CMP does both jobs at once: it recovers conversions lost for technical reasons, and it applies refusals strictly. Our guide to user consent in e-commerce covers the wider rules.

Section 5 · Architecture

The recommended set-up sends each key conversion twice, from the browser and the server, with one ID

Every important conversion leaves twice: once from the browser, once from the server, with the same identifier. OpenAI keeps the first and ignores the second, so nothing is lost and nothing is counted twice (Exhibit 2).

The tagging server, typically a server-side Google Tag Manager container hosted for example by Addingwell, receives events from the site, adds the click reference and hashed identifiers, then forwards them to OpenAI. Order confirmation can also come straight from the back office, which makes measurement independent of the browser. Our article on server-side Google Tag Manager for e-commerce covers costs and set-up.

  • Serve the tagging server from your own domain, so its cookies are first-party and are not treated as third-party by browsers.
  • Keep the Conversions API key on the server. It must never appear in the web container or in page source.
  • Store the `oppref` click reference when the visitor lands, and keep it until the conversion, so purchases after 24 hours are still linked.
  • Send amounts with their currency, and normalise email and phone before SHA-256 hashing.

Section 6 · Incrementality

An attributed conversion is not an incremental one: test what the channel adds before scaling

Someone who asks ChatGPT for the best cordless vacuum and clicks on your ad might have bought from you anyway. Before raising budgets, measure what the channel adds. Three ways to do it, from simplest to most robust:

  1. Read the channel in your own tools. Compare conversions in the Ads Manager with your analytics and your back office. A large gap signals a tracking problem before a performance problem; our guide to attribution in GA4 explains how to compare channels fairly.
  2. An on/off test by period. Alternate weeks with and without ads. It is less robust, because seasonality blurs the reading, but workable for a modest first budget.
  3. A geographic test. Run ads in some regions and not others at a fixed budget, then compare how sales move in the two groups.

Our rules for a first test:

  • Fix the decision metric (sales, margin, qualified leads) and the threshold that justifies more budget before launch.
  • Plan enough time to get out of the noise; never conclude on one week.
  • Look at quality as well: average order value, return rate, lead value.

This is the discipline of A/B testing applied to a media channel: a hypothesis, a control group, a decision written in advance.

Section 7 · Checklist

Check these 17 points before your first ChatGPT Ads campaign

AreaCheck
AccountAdvertiser account created in OpenAI Ads Manager · Pixel ID generated in the Conversions tab · Conversions API key generated and stored server-side only
ConsentOpenAI declared as a vendor in the CMP · Pixel gated on consent · Server sending blocked on refusal or withdrawal
TrackingPixel on every page · Key events sent: `page_viewed`, `items_added`, `checkout_started`, `order_created` (or `lead_created`) · Conversions API live for the conversions that matter · Same event ID on pixel and server · `oppref` kept until conversion · Email and phone normalised and SHA-256-hashed · Amounts sent with currency
TestingEvents tested in debug mode with no duplicates in Ads Manager · Ads Manager conversions reconciled with analytics and back office
SteeringDecision metric and threshold fixed before launch · Incrementality test design chosen

Henkan & Partners is a Didomi partner. We set up OpenAI tracking server-side, wired to your consent platform, then run the incrementality test that tells you whether the channel deserves more budget. Talk to us.

FAQ

Frequently asked questions about ChatGPT Ads conversion tracking

Frequently asked questions

Is the pixel enough to start with?

To try the platform, yes. To judge the channel's profitability or run conversion-optimised campaigns, no: you risk under-reporting results and depriving the algorithm of part of its signal.

Do I need a developer for the Conversions API?

Not necessarily. If you already run a server-side Google Tag Manager container, tools such as Addingwell offer a ready-made OpenAI Conversions API tag. Otherwise, sending can be built directly from your back office.

Does the Conversions API measure visitors who refused cookies?

No. It recovers technical losses, not refusals. OpenAI's documentation asks advertisers to stop sending when consent is withdrawn.

How do I avoid counting the same sale twice?

Use the same event identifier on the pixel and the server, under the same Pixel ID: the pixel's event_id must equal the server event's id. OpenAI keeps the first event it receives.

Which ChatGPT users see ads?

Users on the Free and Go plans, in eligible markets. Plus, Pro and business subscribers do not see ads.

Does ChatGPT Ads replace work on visibility in AI answers (GEO)?

No, the two complement each other. Ads are shown apart from answers and do not influence them. Being cited in answers is GEO; buying visibility next to them is ChatGPT Ads.

How large is the gap between the pixel and pixel plus Conversions API?

It depends on your ad-blocking rate, Safari share and how long people take to buy. In our illustrative example it is 31%. Our free ChatGPT Ads tracking gap calculator estimates it from your own figures.

Key terms

Ads Manager
OpenAI's interface to create, run and measure ChatGPT Ads campaigns.
Click-through attribution
Linking a conversion to a campaign because the visitor clicked the ad. It drives ChatGPT Ads reporting, bidding and billing.
CMP
Consent management platform, which collects and applies visitors' choices.
Conversions API (CAPI)
Sending conversions from your server to OpenAI without going through the browser.
Deduplication
The rule that stops a conversion received by the pixel and the API being counted twice.
SHA-256 hashing
An irreversible transformation of an email or phone number before it is sent.
Incrementality
The share of conversions actually caused by the campaign, measured against a control group.
ITP
Intelligent Tracking Prevention, Safari's restrictions on cookies.
oppref
The click reference OpenAI adds to the landing URL; keep it until the conversion.
Server-side tagging
Collecting and sending data from a server you control rather than from the browser.

Sources

All sources were checked in October 2026. Product details come from OpenAI's own documentation and may change while the product is in beta in Europe. Exhibits 2 and 3 and Table 3 are Henkan & Partners frameworks; Exhibit 4 is an illustrative calculation from the assumptions stated in the text.

  1. OpenAI (n.d.). Measurement Pixel (vendor documentation).
  2. OpenAI (n.d.). Conversions API (vendor documentation).
  3. Addingwell (n.d.). OpenAI Conversions API: find your API key (vendor documentation).
  4. Digiday (2026). OpenAI builds offerings on consent as it expands ChatGPT ads to Europe (press).
  5. TechRepublic (2026). OpenAI brings ChatGPT ads to Europe and EMEA (press).
  6. Datashake (2026). ChatGPT Ads in France: self-service (agency article).
  7. Ads-Up (2026). ChatGPT Ads is available in France: what advertisers need to know (agency article).
  8. Search Engine Land (2026). OpenAI confirms conversion-focused ads are coming to ChatGPT (press).
  9. PPC Land (2026). OpenAI's ChatGPT ads are getting conversion optimization: here's what changes (press).
  10. CustomerLabs (n.d.). Understanding Safari Intelligent Tracking Prevention (vendor blog).
  11. Edgee / Mind Media (2025). 57% of French internet users aged 18+ use tools to block online advertisements (survey).