OpenAI has quietly built a full advertising stack inside ChatGPT. The system works in two parts: structured ad units injected into the conversation's server-sent events stream, and a tracking SDK called OAIQ that runs on merchant websites to report user activity back to OpenAI. According to technical analysis by Buchodi, ads appear as typed "single_advertiser_ad_unit" objects in the SSE stream, separate from the model's actual text output. Advertisers so far include Grubhub, GetYourGuide, Axel, Gametime, Aritzia, and Canva. Targeting appears contextual to whatever you're chatting about. A conversation about Beijing gets you Grubhub ads for Chinese food delivery and GetYourGuide tours of the Great Wall.

The attribution chain relies on four Fernet-encrypted tokens per ad, each serving a distinct role. ads_spam_integrity_payload handles server-side integrity checks against forged clicks. oppref is the forward attribution token, stored in a 30-day cookie called __oppref. olref handles impression-side logging. ad_data_token reconciles everything server-side at click time. Because Fernet's first nine bytes are public (a version byte plus timestamp), you can verify when each token was minted without needing OpenAI's key. Buchodi observed a Home Depot click URL minted at 11:30:08 UTC with the browser fetching the merchant page 95 seconds later.

When you tap an ad card, it opens in ChatGPT's in-app webview rather than your default browser. The merchant page loads oaiq.min.js (currently version 0.1.3), which reads the oppref parameter from the URL, stores it in a first-party cookie with a 720-hour TTL, and begins POSTing event data back to bzr.openai.com. OpenAI can now observe your post-click navigation on top of any pixel signals from the SDK. Two domains power this: bzrcdn.openai.com for creative hosting and the SDK itself, and bzr.openai.com for event reporting.

For something Sam Altman once called a "last resort," the infrastructure is remarkably thorough. The current setup keeps ads separate from model output, making them easier to block than future implementations might be. Perplexity takes a different route, blending sponsored content directly into AI responses. ChatGPT's approach maintains a clearer boundary. But the encrypted token chain and merchant-side tracking suggest OpenAI is building for something more than an experiment.