ChatGPT Ads conversion tracking: Pixel, Conversions API and oppref
Conversions from advertising in ChatGPT are tracked with two OpenAI tools — the OpenAI Pixel (JavaScript code on the website) and the Conversions API (server events) — which can work together with a shared event ID for deduplication. Every click on an ad adds an oppref reference to the page URL; the Pixel stores it in a first-party cookie and links it to a subsequent order, registration or enquiry. Ads Manager reports impressions, clicks, spend, CTR, average cost per click, average CPM and conversions, and for online shops also shows revenue and ROAS by the order_created event. Conversions appear in the report with a delay of 24 to 48 hours, the view-through window is fixed at one day, and automatic advanced matching hashes data from the website’s forms before sending. In parallel with all this, UTM parameters remain a working second layer in GA4. Below is how the measurement is arranged before the first click.
I am Hristiyan Panov — a Performance Marketing consultant with over 5 years of experience and over €2,000,000 in managed ad budget for more than 90 companies on Google and Meta. Below is a breakdown of measurement in ChatGPT Ads based on OpenAI’s official documentation, and how I arrange it so that decisions are not made on cost per click.
What does OpenAI Ads Manager report on its own?
Without any additional setup, the report in Ads Manager shows impressions, clicks, spend, CTR, average cost per click and average CPM by campaign, ad group and ad. The data is available in a table, in daily charts and as a CSV export. This is enough for the “delivery” phase: are there impressions, are people clicking, what does a click cost. It is not enough for the “business result” phase — for that, conversion tracking is needed.
How does the OpenAI Pixel work?
The OpenAI Pixel is JavaScript code placed on the website’s pages that sends events to a data source in Ads Manager. When an ad is clicked, an oppref parameter — a click reference — is added to the landing page URL. The Pixel captures oppref, stores it in a first-party cookie and attaches it to subsequent events — a purchase, a registration, an enquiry. That is why it is important for oppref to be preserved through redirects and during navigation on the website: if the landing page redirects and loses the parameter, the conversion goes untracked.
The Pixel can also be loaded through a tag manager (for example Google Tag Manager), as long as the manager loads it on the right pages and does not block or scramble the order of initialisation and events. If loading is unstable, OpenAI recommends placing the code directly or using server-side measurement.
What does the Conversions API add?
The Conversions API sends events from the advertiser’s server to OpenAI, regardless of the browser, blockers and cookie settings. OpenAI recommends using the Pixel and the Conversions API together for more resilient measurement: when the same event is sent through both channels, the same event ID is used so that it can be deduplicated. For server events, the available oppref reference must also be included, so that the event can be linked to the click.
For Bulgarian websites that already have a server-side setup for the Meta Conversions API or for Google Enhanced Conversions, adding the OpenAI Conversions API is the same logic with a new recipient. In detail on the approach: server-side tracking and Pixel and CAPI deduplication.
How is a conversion counted and which windows apply?
According to the documentation, a conversion is counted when OpenAI receives an event from a source linked to the ad account; the event matches the campaign’s conversion event; it occurs within the applicable attribution window; and it can be linked to a click on an ad through the available signals — the oppref reference, advanced matching and modelled measurement, where available. The same sent events support both click-through and view-through reporting, and the view-through window is fixed at one day and cannot be configured.
Conversions do not appear immediately — OpenAI states 24 to 48 hours before attributed conversions enter the report. The reported totals may also include modelled conversions. The “Conversions” column combines all attributed events; individual events are added as columns before export.
What is automatic advanced matching?
Automatic advanced matching helps OpenAI link a conversion to an ad when the click reference is missing. The Pixel recognises supported customer information from the website’s forms, normalises it and hashes it with SHA-256 in the browser before attaching it to the event — raw data is not sent. OpenAI recommends turning it on for campaigns with a conversion objective, because it improves matching and provides additional signals for optimisation. Conversion data must only be sent where the necessary consents under applicable law are in place — for a Bulgarian website this goes through the existing consent mechanism, as with Meta and Google.
Why do UTM parameters remain mandatory?
OpenAI explicitly supports static tracking parameters in landing page URLs and states that they are preserved on click. That is why every URL gets utm_source=chatgpt, utm_medium=paid and utm_campaign per campaign and, where needed, utm_content per ad. This gives a second, independent layer: sessions, engagement, products viewed and add-to-carts in GA4 — data that the platform’s report does not show. A discrepancy between clicks in Ads Manager and sessions in GA4 is normal and OpenAI explains it by redirects, consent, blockers, UTM processing, windows and time zones; the comparison is made for the same period and the same time zone.
How is measurement arranged before the first click?
The order is as follows. First, a data source is created in Ads Manager and the Pixel is installed on all relevant pages, with events sent on the real action — an order, a submitted form, a registration. Second, check that oppref survives redirects and that the landing page is accessible to the OAI-AdsBot and OAI-SearchBot crawlers. Third, the Conversions API is added with a shared event ID and oppref included. Fourth, automatic advanced matching is turned on. Fifth, the UTM parameters are set and GA4 is checked. Only then is a campaign with the Conversions objective created, because oCPC requires at least one standard event with sufficient volume and cannot be switched over from an existing CPM or CPC campaign.
FAQ — Frequently asked questions about ChatGPT Ads tracking
Can sales from advertising in ChatGPT be tracked?
Yes. With the OpenAI Pixel and the Conversions API, orders and enquiries are returned to the campaign report, and for online shops revenue and ROAS are reported by the order_created event.
What is oppref?
A click reference that OpenAI adds to the landing page URL. The Pixel stores it in a first-party cookie and links it to a subsequent conversion; for server events it is sent explicitly.
Do I need both the Pixel and the Conversions API?
OpenAI recommends both together with a shared event ID for deduplication. The Pixel alone depends on the browser and consent; the Conversions API alone loses part of the click signals.
Why do conversions in Ads Manager differ from GA4?
Different attribution methods and windows, time zones, consent and blockers, deduplication and modelled conversions. A difference does not necessarily mean an error.
Does the Pixel work through Google Tag Manager?
Yes, provided the manager loads the code on the right pages and does not disrupt the order of initialisation and events. If there are problems, OpenAI recommends direct placement or server-side measurement.
Conclusion
Measurement in ChatGPT Ads is more mature than you would expect from a new channel: the Pixel, the Conversions API, a click reference, advanced matching and order-level reporting. The condition is that the order is followed before the first click — data source, Pixel, Conversions API with a shared event ID, preserved oppref, UTM parameters. Without this order the campaign is read by cost per click and the decision about the channel is made blind.
Request a quote for ChatGPT ads →
Related articles: How much advertising in ChatGPT costs · When server-side tracking is needed · UTM parameters: how to set them correctly
Sources: OpenAI Help Center — Conversion Measurement · OpenAI Help Center — Measure Results · OpenAI Help Center — Conversion-optimized Campaigns


