Skip to content
Paid Media

ChatGPT Ads Tracking
& OpenAI CAPI Setup

ChatGPT ads are a new channel with an old problem: most advertisers are running them without knowing which conversions they earned. OpenAI gives you a measurement pixel, a click identifier called oppref, and a server-to-server Conversions API. Wired together correctly they tell you exactly what the channel returned. Wired together badly, or not at all, you are buying clicks and guessing.

Get in touch

Overview

What this includes

oppref click capture

OpenAI appends an oppref parameter to the landing page URL on every ad click. It is the ChatGPT equivalent of gclid or fbclid, and it is the only thing that ties a conversion back to the campaign, ad group, and ad that earned it. We capture it on arrival and persist it, so it survives the navigation, the form, and the weeks between click and close.

Pixel and Conversions API together

The browser pixel alone loses events to ad blockers, tracking prevention, and readers who never reach the thank-you page. We run the pixel and the server-side Conversions API in parallel and pass the same event id through both, so OpenAI deduplicates the pair and counts one conversion with two chances of arriving.

Events that match your business

OpenAI supports a fixed set of standard events — lead_created, order_created, items_added, subscription_created, trial_started and the rest — plus a custom option. We map yours to the standard names wherever one fits, because standard events are what the platform can optimize delivery against.

Match rates worth having

Conversions sent server-side match back to a click far more reliably when they carry hashed customer data. We hash email and phone to SHA-256 in the right normalized form before anything leaves your infrastructure, so match quality goes up and raw personal data never does.

Our process

How we set up ChatGPT ads tracking

Talk it through
  1. 01

    Audit what is running now

    We start with what the account already reports. Whether the pixel is installed, whether it fires on the right actions, whether oppref is being captured at all, and how the numbers in Ads Manager compare to what your CRM says actually happened. Most accounts we look at are missing at least one of the three.

  2. 02

    Install and validate the pixel

    We install the OpenAI measurement pixel and confirm each event fires once, on the right page, with the right payload. Then we check it against the Conversions tab in Ads Manager rather than trusting that a tag that loaded is a tag that worked.

  3. 03

    Persist the click identifier

    We capture oppref the moment an ad click lands and write it to first-party storage, then carry it onto your forms and into your CRM as a stored field. Without that step a sale that closes next month has nothing to attribute it back to.

  4. 04

    Build the server-side feed

    We stand up the Conversions API integration, either through server-side GTM or directly from your backend, with the required event id, type, and timestamp on every payload. Events carry hashed customer data for matching and share their id with the pixel event so the two deduplicate.

  5. 05

    Reconcile and hand over

    We reconcile what OpenAI reports against your own source of truth, document the event map and the attribution windows so your team knows what each number means, and set up the checks that tell you when it breaks rather than leaving you to notice a quiet month.

Find out what your ChatGPT ads are actually converting.

Get a free audit

Common questions

What is oppref and why does it matter?

oppref is the click identifier OpenAI appends to your landing page URL when someone clicks a ChatGPT ad, in the same way Google uses gclid and Meta uses fbclid. Without it OpenAI can still see that a conversion happened, but it cannot tell you which campaign, ad group, or ad produced it — and conversion-optimized bidding has nothing useful to learn from. Capturing and persisting oppref is the single highest-value step in the setup.

Do I need the Conversions API if the pixel is already installed?

In practice, yes. The pixel runs in the browser, so ad blockers, tracking prevention, and anyone who converts by phone or closes later in your CRM are invisible to it. The Conversions API sends the same events server to server, which is far more reliable. Running both and passing a shared event id lets OpenAI deduplicate, so you get the coverage without double counting.

Which conversion events can ChatGPT ads track?

OpenAI supports a set of standard events covering the common cases — page views, content views, add to cart, order created, lead created, subscription started, trial started — plus a custom event option. We map your actions to a standard event wherever one fits, because standard events are what the platform optimizes delivery against. Custom events still report, but they give the algorithm less to work with.

Can you send offline sales from our CRM back to ChatGPT ads?

Yes, and it is the same principle as our Meta and Google offline conversion work. Provided oppref was captured on the original visit and stored on the record, a deal that closes weeks later can be sent to the Conversions API and attributed to the ad that started it. There is a limit on how far back an event timestamp can be, so the pipeline has to send on a schedule rather than in an annual batch — we set that up as part of the build.

How does attribution work on ChatGPT ads?

Click-through conversions use the click window configured on your account. View-through conversions, where available, use a fixed one-day window after an eligible impression. Those windows will not match how Google Ads or Meta count the same sale, which is why we document them alongside your event map — most reporting arguments about a new channel are really arguments about mismatched attribution windows.

Is it worth advertising on ChatGPT yet?

That is a media question rather than a tracking one, and the honest answer is that it depends on whether your audience is there. What we can say is that running the channel without measurement is the expensive version of finding out. The setup is not large, and it is what turns a test budget into an answer you can act on rather than a line item nobody can defend.