ChatGPT users browsing third-party advertiser websites may be identifiable to OpenAI through a persistent cookie set during their ChatGPT sessions. An independent researcher publishing under the name Buchodi documented the mechanism on September 20, 2026, after analyzing months of network traffic involving 936 OpenAI advertiser pixels across 1,029 hostnames.
How the Cookie Travels From ChatGPT to Advertiser Sites
When a user opens ChatGPT, the client generates a random identifier and requests a short-lived signed token from OpenAI's backend. That token contains an account-linked subject value, an identifier called `obi`, and a consent decision marked as `analytics_allowed`.
ChatGPT then sends the token to `bzr.openai.com`, an OpenAI advertising collector that uses the internal name "Bazaar." The collector responds by setting the `__obi` cookie for the `.openai.com` domain.
The cookie uses `SameSite=None; Secure` and a 31,536,000-second lifetime, roughly one year, so browsers can attach it to cross-site requests. That configuration distinguishes `__obi` from OpenAI's other cookies. OpenAI's other cookies were blocked during third-party requests due to domain restrictions or `SameSite=Lax` settings, making `__obi` the only OpenAI identifier configured to cross site boundaries.
The ChatGPT Ads Measurement Pixel is a browser SDK for measuring website events that can be attributed to ads in ChatGPT. Advertisers that buy ChatGPT ads can add OpenAI's measurement pixel to their own websites. The pixel loads code from OpenAI infrastructure and sends conversion events to `bzr.openai.com`. When a visitor already has the `__obi` cookie, the browser attaches the identifier to those requests automatically. That means OpenAI can receive information about pages a user visits on third-party advertiser sites, including product pages, article URLs, purchase funnels, and conversion events.
Buchodi confirmed the mechanism was reproducible on a personal device, with postal code the most frequently harvested form field, 100 events across 28 sites, and data the pixel scraped autonomously outnumbering data deliberately supplied by the advertiser, 685 events to 255. Although query strings were removed from observed URLs, page paths remained visible. Those paths reportedly included pages related to medical conditions, debt solutions, and legal-intake services.
What the Pixel Collects Through Automatic Advanced Matching
OpenAI's own developer documentation describes the data collection behaviour. Automatic advanced matching improves website conversion measurement by helping match more conversions to ads when a click identifier is unavailable. When enabled, the OpenAI Pixel automatically detects supported customer information from the website. The Pixel normalizes and hashes this information in the browser using SHA-256 before including it with conversion events. Raw customer information is not sent to OpenAI through automatic advanced matching.
Email addresses, phone numbers, and names are hashed in the browser before transmission. Country, region, city, and postal code appear in the same field table and are sent unhashed.
The researcher noted that the pixel SDK also reads from tag manager data layers, including replacing `window.dataLayer.push` with its own function, to locate identity signals across an advertiser's page. An earlier version of the SDK, version 0.1.31, also collected names and geographic data before that scope was narrowed on August 27, 2026.
The Cookie Classification OpenAI Has Not Explained
The central question raised by the research is not whether the mechanism works, but how OpenAI has categorized it. OpenAI lists `__obi` among analytics cookies, with a one-year duration on `chatgpt.com` and `openai.com`, while the campaign measurement cookies of Google, Meta, LinkedIn, TikTok, Reddit, and Microsoft sit in the marketing section of their respective policies.
OpenAI's cookie policy describes analytics cookies as helping OpenAI understand how its services perform and are used. OpenAI runs analytics and marketing as two separate consent categories. Buchodi found that every sync token decoded during the research carried a consent decision of `analytics_allowed`, meaning users who accepted analytics but declined marketing cookies still received the identifier.
The classification matters because site banners typically split consent into categories, necessary, analytics, and marketing, and anyone who rejects the last one still receives the others. A user who declines marketing consent under that system would not expect that decision to leave the cross-site attribution mechanism active.
On September 14, Buchodi wrote to `press@` and `privacy@` at OpenAI asking why a cookie that feeds an advertising pixel is treated as analytics, and how consent is handled. An acknowledgment and promise of internal review came back, with no answer to either question.
The Scope of the Mechanism and Its Limits
The research does not establish that OpenAI completed a full server-side join between the `__obi` identifier and named ChatGPT user accounts. The published testing does not directly prove that OpenAI joined every visit to a named ChatGPT account. What the research does show is that the identifier travels from ChatGPT to participating advertiser sites and back to OpenAI's infrastructure in a form that would make such a join technically feasible.
The analysis also confirmed the mechanism works for users who are not logged in. Of 932 decoded sync tokens in the dataset, 736 carried a subject type of `account_user` and 196 carried `anonymous`. The anonymous subject proved as stable as the account-linked subject, persisting for at least 27 days on a single device.
Safari and other WebKit browsers block the third-party-cookie route described in the tests, limiting the mechanism to Chrome and browsers that permit third-party cookies by default.
Context Within OpenAI's Advertising Expansion
OpenAI is expanding its ads pilot with a beta self-serve Ads Manager for businesses in the U.S. Through Ads Manager, advertisers can set budgets, upload ads, launch and manage campaigns, and view performance through a portal. The platform also introduced cost-per-click bidding and expanded measurement tools. OpenAI launched the JavaScript Measurement Pixel on May 5, 2026, the same day the Ads Manager opened to every U.S. advertiser with no account minimum.
For marketers operating ChatGPT ad campaigns, the research raises a practical distinction: the platform's measurement infrastructure may be more expansive than the consent labels presented to end users suggest. Advertisers deploying OpenAI's pixel inherit the data practices embedded in the SDK, including automatic advanced matching and the `__obi` cross-site identifier, irrespective of whether those practices are visible in the user-facing consent flow. Standard advertiser due diligence, reviewing vendor data handling documentation and aligning pixel deployment with applicable privacy law, applies here as it does with any third-party measurement tag.
Contacted on September 14, OpenAI did not respond on the substance of the findings. As of the date of the researcher's publication on September 20, 2026, the `__obi` cookie remained classified as an analytics cookie in OpenAI's published cookie policy.


