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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.

| Date | Step | What it means for measurement |
|---|---|---|
| February 2026 | Ads launch in the US (Digiday) | Contextual placements only; no conversion optimisation yet |
| 5 May 2026 | Self-serve Ads Manager in the US, CPC bidding, Conversions API published (PPC Land) | Server-side measurement becomes available |
| June 2026 | Conversion-optimised campaigns, for accounts with the pixel or the Conversions API (Search Engine Land) | Delivery now depends on the conversions you send |
| 14 August 2026 | European privacy policy: consent as the legal basis for personalised ads (Digiday) | Measurement must follow the visitor's choice |
| 24 August 2026 | Ads eligible in France, within a 31-market European roll-out (TechRepublic) | French traffic enters the channel |
| From September 2026 | Self-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 pixel | Conversions API | |
|---|---|---|
| Where it runs | In the browser, from a script in the `<head>` or Google Tag Manager | On your server, server to server |
| What it sends | Standard events such as `page_viewed`, `items_added`, `checkout_started`, `order_created`, `lead_created`, or custom events | The same events, plus those the browser never sees, such as confirmed orders from the back office or offline conversions |
| Identifiers | First-party cookies `__oppref` (click reference, 30 days) and `__obref` (365 days); SHA-256-hashed email and phone | SHA-256-hashed email, phone and IDs, the `oppref` click reference, IP address and user agent |
| Limits | Ad blockers, browser cookie restrictions, cleared cookies, pages closed before the event fires | Needs 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.

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.

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.

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:
- Declare OpenAI as a new vendor in your consent management platform (CMP), under the advertising measurement purpose.
- Gate the pixel on consent. The pixel accepts a consent setting before it initialises; set to `false`, it sends nothing and removes its cookies.
- 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.
- 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:
- 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.
- 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.
- 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
| Area | Check |
|---|---|
| Account | Advertiser account created in OpenAI Ads Manager · Pixel ID generated in the Conversions tab · Conversions API key generated and stored server-side only |
| Consent | OpenAI declared as a vendor in the CMP · Pixel gated on consent · Server sending blocked on refusal or withdrawal |
| Tracking | Pixel 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 |
| Testing | Events tested in debug mode with no duplicates in Ads Manager · Ads Manager conversions reconciled with analytics and back office |
| Steering | Decision 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.
- OpenAI (n.d.). Measurement Pixel (vendor documentation).
- OpenAI (n.d.). Conversions API (vendor documentation).
- Addingwell (n.d.). OpenAI Conversions API: find your API key (vendor documentation).
- Digiday (2026). OpenAI builds offerings on consent as it expands ChatGPT ads to Europe (press).
- TechRepublic (2026). OpenAI brings ChatGPT ads to Europe and EMEA (press).
- Datashake (2026). ChatGPT Ads in France: self-service (agency article).
- Ads-Up (2026). ChatGPT Ads is available in France: what advertisers need to know (agency article).
- Search Engine Land (2026). OpenAI confirms conversion-focused ads are coming to ChatGPT (press).
- PPC Land (2026). OpenAI's ChatGPT ads are getting conversion optimization: here's what changes (press).
- CustomerLabs (n.d.). Understanding Safari Intelligent Tracking Prevention (vendor blog).
- Edgee / Mind Media (2025). 57% of French internet users aged 18+ use tools to block online advertisements (survey).