Conversion tracking on ChatGPT ads

Pixel or Conversions API, the three to five events worth tracking, deduping with shared event IDs, the dynamic URL macros, and the automatic advanced matching opt-out.

Guilherme Hortinha · 23 July 2026 · 7 min read

ChatGPT Ads guides

Good ChatGPT ads tracking is three decisions: install both the pixel and the Conversions API so you lose nothing, track three to five events that map to real value, and dedupe them with shared event IDs so one action never counts twice. Attribution to the click side used to mean hand-written UTMs on every URL; since August 2026 the platform fills in campaign, ad group and ad IDs for you. Get these right before you spend, because a week of untracked traffic teaches you nothing.

Pixel or Conversions API

Use both, because they cover each other's blind spots. The pixel is a snippet on your site that captures events in the browser, fast to install but vulnerable to ad blockers and lost cookies. The Conversions API sends the same events from your server, which survives all of that but needs a developer. Together they give you a complete, deduplicated picture; either one alone leaves conversions on the table.

The three to five events worth tracking

More events is not better tracking, it is more noise. Pick a short chain that mirrors how people actually buy from you:

  • +A leading signal that happens often, like a lead form start, an add-to-cart, or a key page view.
  • +The primary conversion that represents real value, a purchase or a qualified lead.
  • +One or two steps in between if your funnel is long, so you can see where drop-off happens.

These are also the events the auction learns from once you move to conversion-based bidding, so keep them to genuine value, not vanity clicks.

Deduping with shared event IDs

When both the pixel and the Conversions API report the same purchase, the platform needs to know it is one event, not two. You do that by sending the same unique event ID from both sources for the same action. Skip this and your conversions inflate, your cost-per-result looks better than it is, and you optimise toward a number that is not real. It is a small implementation detail with an outsized effect on whether you can trust your own reporting.

Dynamic URL parameters

For most of the platform's life every tracking value had to be typed into the landing URL by hand, which meant a naming convention held together by discipline and a lot of copy-paste. In August 2026 OpenAI added supported macros, so a landing-page query parameter can carry {campaign_id}, {ad_group_id}, {ad_id} and {ad_account_id}, filled in automatically at delivery time.

The practical win is that one destination URL now labels itself per ad, so the granular part of your tagging stops depending on whoever built the campaign remembering the convention. Keep writing your own source, medium and campaign values by hand, because those describe how you think about the channel and no macro knows that. Use the macros for the IDs underneath. A useful habit is to keep the readable campaign name in your own UTM and let the macro carry the ID beside it, so a click is traceable both by a human reading a report and by a join in your warehouse.

The reason clean tagging matters more here than on other channels, and how much AI traffic hides even when your tracking is perfect, is covered in the measurement guide. When you would rather it were done for you, we set tracking up as part of the build.

Automatic advanced matching, and the opt-out

Automatic advanced matching improves how many conversions the platform can tie back to an ad, by taking customer information your website forms already collect, hashing it, and using it to match against signed-in ChatGPT users. It became the default for new web pixels in August 2026, and OpenAI enabled it on existing web pixels too, including pixels installed long before the feature existed.

That last part is the bit worth pausing on. If you would rather form data never left your site, the setting is yours to change under Tools, then Conversions, then Data Source, then Edit pixel. Better matching is a genuine benefit and for many advertisers it is the right call. For a business in a regulated or sensitive category it may not be, and that decision belongs to whoever owns the privacy posture, in writing, rather than to whatever the platform defaults to.

Check the pixel is actually working

A misconfigured pixel used to fail quietly: events left the browser, something rejected them, and the only symptom was conversions that looked lower than they should. Ads Manager now shows validation details for dropped events, including the field at fault, the error type and a suggested fix, under Tools, then Conversions, in the diagnostics panel on the right. Read it once when you install and again after any site change that touches the checkout or the forms. It is the cheapest ten minutes in the whole setup.

Quick answers

Should I use the pixel or the Conversions API?+

Use both. The pixel is fast to install and captures browser events; the Conversions API sends the same events server-side so you do not lose conversions to ad blockers or lost cookies. Together they are more complete than either alone.

Which events should I track on ChatGPT ads?+

Three to five that map to real value: a lead or add-to-cart as the leading signal, and a purchase or qualified lead as the primary conversion. More events than that adds noise without improving optimization.

Does ChatGPT ads support dynamic URL parameters?+

Yes, since August 2026. Supported macros including {campaign_id}, {ad_group_id}, {ad_id} and {ad_account_id} can be used in landing-page query parameters and are populated automatically at delivery time. Write your own source, medium and campaign values by hand, and let the macros carry the IDs.

What is automatic advanced matching, and should I turn it off?+

It improves conversion matching by taking customer information from your website forms, hashing it, and matching it against signed-in ChatGPT users. It is the default for new web pixels and was enabled on existing ones in August 2026. You can opt out under Tools, Conversions, Data Source, then Edit pixel. Better matching helps most advertisers; if you are in a regulated or privacy-sensitive category, make it a deliberate decision rather than a default.

Guilherme Hortinha

Guilherme Hortinha

Co-founder & Head of AI Innovation, Index Lab

Guilherme co-founded Index Lab, an AEO/GEO agency that makes brands the answer AI gives across ChatGPT, Gemini and Perplexity, taking clients from zero AI visibility to top recommendations.

Eligible and ready? We take it from here.

Start my campaign →