Home
All guides

Pixel, Conversions API and the click ID: measuring leads from ChatGPT Ads

How the OpenAI Pixel, the Conversions API and the oppref click reference work together to attribute leads to ChatGPT Ads, and how to set them up right.

Published Sep 22, 2026 · 5 min read

The three pieces

Conversion measurement for ChatGPT Ads has three parts, and lead generation usually needs all of them.

  • The OpenAI Pixel: a JavaScript snippet on your site that sends browser events such as a submitted form.
  • The Conversions API: a server-to-server endpoint for events your backend or CRM records, including offline and phone-call actions.
  • The click reference, oppref: the identifier that ties a conversion back to an ad click.

All three share one Pixel ID, which you create in the conversions tab of OpenAI Ads Manager. Even a server-only setup needs a Pixel ID as its data source.

How oppref works

When someone clicks your ad, OpenAI appends oppref to the end of the landing page URL. OpenAI's help center gives the format as www.openai.com?oppref=gAAAAAb123, an opaque, privacy-preserving value.

The OpenAI Pixel reads oppref from the URL and stores it in a first-party cookie that expires 30 days after creation.

If that visitor later submits a form on a page with the pixel, the event carries the reference and OpenAI can connect it to the click.

The Conversions API does not do this for you. OpenAI's documentation is explicit that the API does not capture oppref; you must capture the value on your side and pass it unchanged with the server event.

Two setup rules follow. Preserve oppref through redirects, tracking links and navigation on your site. And if your form posts to a CRM, store oppref with the lead so a later server event can include it.

What counts as a conversion

OpenAI reports a conversion when four conditions hold. It receives an event from a data source connected to your ad account. The event matches a conversion event configured for the campaign.

It happens inside the attribution window, and OpenAI can connect it to an eligible ad click using its measurement signals.

For leads, the standard event names are lead_created, registration_completed and appointment_scheduled. Custom events exist, but conversion-optimized campaigns currently accept only one standard event, so lead-gen campaigns should use a standard name.

Attribution is last-touch. In reporting you can choose a 7-, 14- or 30-day click-through window and a 1-day view-through window or none. Changing it affects reporting only, not bidding or billing. Conversions can take 24 to 48 hours to appear.

Where a click reference is missing, OpenAI can fall back on advanced matching, using normalized and SHA-256-hashed contact details, and on modeled measurement where available.

Pixel or Conversions API for leads

OpenAI's rule of thumb is simple. Browser actions belong to the pixel. Actions your server records belong to the Conversions API. Actions visible in both places go through both, with the same event ID so OpenAI deduplicates them.

For a lead business the server side matters more than in e-commerce. A form submit is a browser event, but a qualified lead, a booked call or a signed contract is confirmed later in your CRM.

The Conversions API accepts an action_source of web, offline, phone_call, email and others for exactly that purpose.

The API's timing rules are strict. Each event needs a unique ID and a timestamp within the last seven days, and OpenAI's event-quality checks look for server events within one hour of the action.

Send promptly, keep the original action time on retries, and never reuse another person's click reference.

The pixel has one more feature worth turning on. Automatic advanced matching detects supported customer information from your forms, hashes it in the browser and attaches the hash to the event; raw details are not sent to OpenAI.

Why your numbers differ from analytics

Ads Manager, your analytics tool and other ad platforms will not agree, and OpenAI says a difference is not by itself an error.

Common causes include different attribution methods and windows, time zones and date boundaries, consent and browser storage conditions, deduplication rules and modeled conversions.

Treat Ads Manager as the source for what OpenAI attributed, your CRM as the source for who became a customer, and UTM parameters as the bridge between them. OpenAI confirms static tracking parameters persist on ad clicks.

Setup checklist

Before the first shekel is spent, confirm each of these:

  • Pixel installed on every relevant page, with consent handled before initialization where required.
  • oppref preserved through redirects and stored with each lead.
  • Conversions API key kept server-side only, never in browser code.
  • Standard lead event names used, with the same event ID for browser and server copies.
  • Attribution windows chosen deliberately in Ads Manager.