The hardest part of advertising inside an AI assistant isn't the bidding or the creative — it's knowing whether any of it worked. ChatGPT ads launched in February 2026 with essentially no measurement: pilot advertisers paying $200,000 minimums could not see whether their ads converted. That gap closed in May, when OpenAI shipped pixel-based measurement and a Conversions API.
But the attribution model that emerged is unlike Google's or Meta's in ways that change how you should read every number it produces. This post explains the machinery: what signals exist, how they connect a conversion to an ad, what the privacy architecture forbids, and the one settings decision — the attribution window — that determines whether the channel looks viable or worthless.
This is the measurement deep-dive in our ChatGPT Ads series — see the Ads Manager hands-on, the Soku setup guide, and the original explainer for the rest.
Start from what's forbidden
ChatGPT ads attribution is defined by what OpenAI's privacy architecture rules out. Per OpenAI's stated principles and advertiser documentation:
- Advertisers never see conversations. Not transcripts, not topics, not summaries. The conversation that qualified your buyer is invisible to you.
- No user-level data leaves the platform. Reporting is aggregated — impressions, clicks, conversions. There is no user-ID-level export, no raw click logs.
- No behavioral audiences, no retargeting. Targeting runs on conversation context, not user history. You can't build a pool from past clickers.
- No third-party cookies anywhere in the chain. Attribution rests on first-party signals: a click identifier carried to your site, a pixel you install, and conversion events your own backend reports.
That last point puts ChatGPT ads ahead of a curve the rest of the industry is still negotiating: the model is post-cookie by construction, closer to how Meta's CAPI-first measurement evolved than to legacy display tracking.
The four-layer attribution stack
Layer 1 — click context. When a user clicks the sponsored card, they land on your site carrying a click identifier. A first-party pixel on your page (OpenAI's OAIQ pixel, or Soku's pixel if you run the channel through Soku) captures that context — click ID, visitor ID, session — and persists it first-party. No third-party cookie is set.
Layer 2 — server-side conversions. The conversion itself — purchase, signup, qualified lead — should come from your backend via the Conversions API, with the real order value and currency attached. Server-side reporting is immune to ad blockers and browser storage limits, and it's where revenue truth lives. The browser pixel alone can report on-page events, but a CAPI-less setup undercounts and can't be trusted for CPA math.
Layer 3 — deduplication and matching. When browser and server both report the same conversion, a shared event_id collapses them into one. Hashed identifiers (SHA-256 email, external customer IDs) help tie the conversion back to the click context. Get event_id wrong — random values, or omitted — and you'll double-count conversions and celebrate a CPA that doesn't exist.
Layer 4 — aggregated reporting. What you finally see in the Ads Manager: impressions, clicks, spend, conversions. Aggregated, lagged (no real-time dashboard), and only as good as the layers feeding it.
The 28-day rule: why short windows lie about this channel
Here's the empirical core of the post. Advertiser-reported conversion-lag analysis finds that roughly 60% of attributable ChatGPT ads conversions land outside the immediate click window.
The mechanism is the channel itself. A search click happens at the moment of intent; a feed click is an impulse. But a ChatGPT ads click happens mid-research — the user is comparing options inside a conversation, and after clicking they typically keep researching: more conversations, other tools, a pricing page revisit a week later. The qualification that makes these clicks convert at ~1.5× other referral channels is the same behavior that delays the conversion event.
The practical consequences:
- Set the longest attribution window available — 28 days — before you judge anything. A 7-day read of this channel will overstate CPA by roughly 2×, and a same-week read is noise.
- Don't kill a campaign in week one on conversion data. Use leading indicators (CTR against the 0.68% baseline, landing-page engagement) for early steering, and CPA only at the window's maturity.
- Expect last-click tools to under-credit the channel. If your source of truth is a last-click analytics setup with a short lookback, ChatGPT ads will look worse there than in platform reporting — the gap is the lag, not (necessarily) platform inflation.
Reconciling a third source of truth
Adding any channel adds an attribution seam, and this one is seamier than most: a brand-new platform's numbers against your analytics suite against Meta's and Google's self-reported conversions, each with different windows and matching logic.
Three habits keep the reconciliation honest:
- One conversion definition everywhere. The same event, the same value, the same dedup key across all channels. If "lead" means a form-fill on one platform and an MQL on another, no comparison you run means anything.
- Compare windows like-for-like. Judge ChatGPT ads on 28-day click against Google and Meta also read on 28-day click — not against their default dashboards.
- Watch incrementality proxies, not just attributed CPA. Branded search volume, direct traffic, and assisted-conversion paths move when a genuinely incremental channel comes online. A new channel whose attributed conversions all cannibalize existing branded search isn't adding anything.
This reconciliation work is exactly what running every channel through one layer simplifies. Soku provisions a single pixel and CAPI pipeline, applies one set of conversion definitions, and reports ChatGPT Ads in the same dashboard breakdowns as Meta and Google — so the "third source of truth" problem collapses back into one. The full setup is in the Soku ChatGPT Ads guide, and the budget-level question of whether the channel deserves a test at all is in the channel comparison.
FAQ
Does ChatGPT ads tracking use cookies?
Not third-party cookies. Attribution is built from a click identifier, a first-party pixel you install on your own site, and server-side conversion events you report. Marketing-cookie settings on OpenAI's side affect ad personalization for users, not your conversion tracking.
What's the difference between the pixel and the Conversions API?
The pixel runs in the browser and captures click/visit context; the Conversions API is your backend reporting the actual conversion with order details. You want both — the pixel for the attribution thread, CAPI for revenue truth — joined by a shared event ID.
Can I import ChatGPT ads conversions into my analytics tool?
You can tag landing URLs with UTMs like any channel, and your analytics will show the sessions. But expect your last-click tool to under-credit the channel because of conversion lag — reconcile on matched 28-day windows.
Is there view-through attribution?
No. Measurement is click-anchored. An ad that influenced a user who later searched your brand directly won't be credited — another reason to watch branded-search lift while testing.
How private is this for users, really?
Advertisers receive aggregates only; conversations stay on OpenAI's side; identity fields in conversion events are hashed. Users can dismiss ads and control whether history personalizes ad selection. Whether ads belong in an assistant at all is a live debate — Perplexity withdrew ads over trust concerns, and Anthropic built a Super Bowl campaign attacking the practice — but the data architecture itself is genuinely conservative.








