# How to track conversions from ChatGPT ads

> Set up ChatGPT ads conversion tracking with the OpenAI Pixel and Conversions API, keep the oppref click reference, add UTMs and read why the numbers differ.
- **Author**: Marxx
- **Published**: 2026-10-31
- **Category**: ChatGPT ads
- **URL**: https://marxx.ai/library-guides/how-to-track-chatgpt-ads-conversions

---

Create a data source in OpenAI Ads Manager, then send conversions with the OpenAI Pixel, the Conversions API or both, using the same event ID for both. Keep OpenAI's click reference on the landing page URL through every redirect, and add UTM tags so your own analytics see the visits too ([OpenAI's measurement guide](https://help.openai.com/en/articles/20001409-conversion-measurement), checked 2026-10-31).

## Steps

1. **Create a data source.** In Ads Manager, open **Conversions**, then **Data Sources**, and select **Create**.
2. **Install the OpenAI Pixel.** Put it on every page in the buying path, and fire the event when the action happens, such as a purchase or a lead.
3. **Send the same events from your server.** The [Conversions API](/glossary/conversions-api) sends events from your server, so browser blockers do not stop them. Use the same event ID as the Pixel so OpenAI counts each sale once.
4. **Keep the click reference.** OpenAI adds `oppref` to the end of your landing page URL. Make sure redirects and page changes keep it, and pass it with server events when you have it.
5. **Turn on automatic advanced matching.** The Pixel finds contact details in your forms and hashes them in the browser before sending, so raw details never reach OpenAI.
6. **Add UTM tags to every ad's URL.** For example `?utm_source=chatgpt&utm_medium=paid`. They stay on the click, so GA4 and other tools can see ChatGPT traffic.

Only send conversion data you have consent for, under your privacy notice and local law.

## Which tool does what

| Tool | What it does | Where it runs |
|---|---|---|
| OpenAI Pixel | Records actions on your site and stores the click reference in a first-party cookie | The visitor's browser |
| Conversions API | Sends the same actions from your system, with the click reference when you have it | Your server |
| UTM tags | Labels the visit for your own analytics | The link itself |
| GA4 connection | Shares GA4 reports with OpenAI for comparison, in beta through your account manager | Your GA4 property |

For the trade-off between browser and server tracking, see [Pixel vs Conversions API](/compare/pixel-vs-conversions-api). The GA4 connection is described in [OpenAI's GA4 guide](https://help.openai.com/en/articles/20001562-connecting-google-analytics-4-to-openai-ads-manager).

## Why the numbers differ

Ads Manager and GA4 will rarely match. OpenAI lists the usual reasons:

- Different attribution methods and windows.
- Different time zones and date boundaries.
- Consent and browser settings that hide some visits.
- Duplicates removed in one tool but not the other.
- Modelled conversions, which Ads Manager may add where it can.

A gap does not mean something is broken. The same thing happens with Meta, see [GA4 vs Meta Ads Manager numbers](/compare/ga4-vs-meta-ads-manager-numbers). One more source of noise: OpenAI's review crawler visits your landing page with your tracking tags. GA4 may log it as a paid visit, but OpenAI does not bill it.

## A worked example: cost per sign-up

Conversion-optimized campaigns still bill per click or per 1,000 impressions, never per conversion. So work the cost out yourself.

Say a Clicks-billed conversion campaign spends INR 12,000 in a week and records 16 sign-ups. INR 12,000 divided by 16 is INR 750 per sign-up. If a sign-up is worth INR 1,000 to you, it pays. If it is worth INR 600, fix the page or the offer first.

These campaigns optimise for one standard event, such as a purchase or a lead. Custom events are not supported yet, and you cannot change the event later ([conversion campaigns](https://help.openai.com/en/articles/20001412-conversion-optimized-campaigns)).

## FAQ

### Do I pay per conversion on ChatGPT ads?

No. You pay per valid click or per 1,000 impressions, depending on the billing you pick. The campaign only optimises towards your conversion event.

### Do I need both the Pixel and the Conversions API?

No, either works. OpenAI recommends both together, with the same event ID, for more complete measurement.

### Why does GA4 show paid visits I was not billed for?

OpenAI's review crawler opens your landing page with your tracking tags. Those visits are not ad clicks and are not charged.

---
- [More ChatGPT ads articles](https://marxx.ai/library-guides/category/chatgpt-ads)
- [All articles](https://marxx.ai/library-guides)