How to measure ChatGPT ads
Install the OpenAI Pixel on your site, send server events through the Conversions API, or both with a shared event ID. OpenAI tags each ad click with an oppref value in the URL, which the pixel stores to credit the sale later.
Checked Sept 23, 2026 against 3 sources
The two ways to send conversions
| Method | Runs in | Use it for |
|---|---|---|
| OpenAI Pixel | The browser | Quick setup, page events, catching oppref |
| Conversions API | Your server | Orders and leads that happen off the page, or that browsers block |
How a click gets credited
- Someone clicks your ad.
- OpenAI adds
?oppref=...to your landing page URL. - The pixel saves it in a first-party cookie.
- When they buy or sign up, the pixel or your server sends the event with that reference.
The pixel can also hash contact details from your forms on the device (SHA-256) before sending, which OpenAI calls automatic advanced matching.
What reports show
Impressions, clicks, spend, click rate, average CPC, average CPM and conversions, split by device if you want. You never see anyone's chats, name, email or location.
Also track it in your own analytics
Add UTM tags to your ad links. Unpaid traffic from ChatGPT answers arrives separately, tagged utm_source=chatgpt.com, so keep the two apart when you report.
Common questions
What is oppref?
The click reference OpenAI adds to your landing page URL when someone clicks a ChatGPT ad, for example ?oppref=gAAAAAb123. The OpenAI Pixel stores it in a first-party cookie to credit later conversions.
Should I use the pixel or the Conversions API?
Both, if you can. Send the same event ID through each so OpenAI can remove duplicates.
How fast does ChatGPT ads reporting update?
Impressions, clicks and click rate refresh about every 15 minutes. Spend can lag 7 to 8 hours.