150 million euros in 2025 for a similar pattern: tracking before consent, and after it was refused. Loaded in a clean browser, no consent given, 22 October 2026.
OpenAI's advertising business expanded to more than 60 countries in late September 2026. Its ad-measurement pixel is already turning up on the European sites we track. (OpenAI)
We found OpenAI's ChatGPT advertising pixel in the markup of 341 retail sites, most of them European. To see what each one actually does, we loaded every site in a headless browser with no stored cookies, left any consent banner untouched, and recorded the requests. The 13 sites not counted in the figures above loaded the code without a clear event, or could not be tested.
Most of the firing sites are in the EU: nearly three-quarters are on continental-European domains, with Poland the largest single share, followed by Germany, the Netherlands, France, Italy and Spain.
Germany is the one that stands out in the data. Barely a third of German sites fire the pixel before consent, against three-quarters in Poland and the UK; the rest hold it back.
The common cause is the pixel's default. It ships with tracking switched on, and most of these shops never switched it off.
Why the pixel fires before you choose #
The pixel is a JavaScript called oaiq. A site loads it from bzrcdn.openai.com/sdk/oaiq.min.js and calls oaiq("init", { pixelId: "..." }). OpenAI's documentation says the pixel "initializes consent to true by default unless you set it to false or the Pixel finds a stored denial." So a shop that installs the pixel and sends a page-view event is tracking from the first load.
Turning that off is a separate, easily-missed step. The copy-paste snippet under "Install the Measurement Pixel" has no consent call in it. Holding the pixel back for European visitors means adding oaiq("consent", false) before init and granting consent only after the visitor accepts, which OpenAI documents under a different heading, "Control measurement consent", lower down the page. Most people never go past that first snippet: it looks complete, so they copy it, paste it, and assume it includes everything they need.
The documented install ends here, before any consent call:
// OpenAI's documented install snippet: init only, no consent call
oaiq("init", { pixelId: "<YOUR-PIXEL-ID>" });
We tested the SDK ourselves to be sure the fault is the default and not a broken control. In a controlled harness, calling oaiq("consent", false) before init suppressed every measurement event across repeated runs, in both headless and normal Chrome; it also stopped the pixel-config fetch and wrote no attribution cookie. The consent control works. One small request still goes out even when consent is false: a diagnostic ping carrying "consent": false and no identifiers, which tells OpenAI a consent-denied visit happened but sends no measurement.
Watch it happen on one site #
One of the affected sites is a Dutch travel retailer running Cookiebot. We are not naming it here because it is still inside our disclosure window: we reported what we found to the site before publishing and gave it 3 working days to respond before we attach its name to it.
The example below is anonymised for that reason. The site may be named in a later update, once that window closes.
The behaviour is reproducible in a few seconds, in a fresh browser with no prior visit. Load the homepage and the Cookiebot banner appears, offering a real choice: accept all cookies, or only necessary ones.
Do not touch the banner. Open the browser's developer tools, filter the network panel to openai, and the requests are already there. The pixel has loaded and sent a measurement request to bzr.openai.com/v1/sdk/events, while the consent choice is still on screen.
Cookies have been set too, before the visitor has agreed to anything: an __obref attribution cookie on the site's own domain, and a set of cookies on OpenAI's domains (openai.com, bzr.openai.com, bzrcdn.openai.com), shown below.
Now click "Only necessary cookies", declining marketing, and move to another page on the site. A fresh measurement request goes out to OpenAI again. The decline changed nothing for this pixel.
You can confirm the same thing in the console: Cookiebot reports marketing consent as false throughout, while the page's own request log shows the OpenAI measurement endpoint has been hit.
Cookiebot.consent.marketing // => false
performance.getEntriesByType('resource')
.filter(e => e.name.includes('openai.com'))
// => bzrcdn.openai.com/sdk/oaiq.min.js
// bzrcdn.openai.com/pixel-config/v1/<pixelId>.json
// bzr.openai.com/v1/sdk/events
The two systems do not agree because they are not connected. Cookiebot manages the site's other marketing tags, but the OpenAI pixel sits outside it as a plain script with no oaiq("consent", ...) call, its default left on. The banner records the visitor's choice, and the pixel measures regardless.
Check it yourself #
The test is reproducible in any browser. Open a site's developer tools, go to the network tab, filter for openai, and load the page without clicking the banner. A site that holds the pixel back shows no request to OpenAI. On weck.de, a German houseware shop that does gate it, the oaiq block is served as a non-executing script:
<script type='text/plain' data-cookieconsent='marketing'>
oaiq('init', { pixelId: "8j2TfLDjxCc7Npt5WuwjjV" })
Cookiebot rewrites that into live JavaScript only after the visitor accepts marketing cookies, so nothing reaches OpenAI until then. On the 224, the request goes out on load.
One pixel ID across several countries #
Some of the adopters are multi-country retail operators running one OpenAI pixel ID across their localised domains. One cycling retailer serves the same pixel ID across its French, German and Italian sites. Its init call still carries debug:true, a flag developers usually remove once setup is finished.
What the law requires, and what it costs to ignore #
These shops are not new to ad tracking: three-quarters already run Google Analytics and a third run Meta's pixel. OpenAI's pixel needs the same consent gate as those tags, and on 224 of these sites it sends a request to a US company's advertising platform before anyone has consented.
In the EU and UK, the general rule is settled: storing or reading non-essential information on a visitor's device, and the advertising and measurement that rely on it, require prior consent under the ePrivacy rules, with GDPR setting the standard for what valid consent looks like. Advertising conversion tracking is squarely within that; the UK ICO and the Irish Data Protection Commission both name it as a use that needs consent. Whether any particular site has met that obligation is a separate question we do not answer here.
The rule comes from the same EU ePrivacy Directive (2002/58/EC, Article 5(3)) in every member state, implemented through national law and enforced by each country's data-protection authority. For the countries in this dataset:
| Country | Implementing law | Authority |
|---|---|---|
| Germany | § 25 TDDDG (formerly TTDSG) | Federal and state DPAs |
| France | Article 82, Loi Informatique et Libertés | CNIL |
| Netherlands | Telecommunicatiewet, Article 11.7a | Autoriteit Persoonsgegevens |
| Poland | Telecommunications / Electronic Communications law | UODO |
| Italy | Codice Privacy + Garante cookie guidelines | Garante |
| Spain | LSSI-CE, Article 22.2 | AEPD |
| Ireland | ePrivacy Regulations 2011 (SI 336) | Data Protection Commission |
| United Kingdom | PECR, Regulation 6, with UK GDPR | ICO |
The implementations differ in detail and in how firmly they are enforced. Spain allows a narrow carve-out for privacy-configured first-party analytics; the core requirement, consent before non-essential tracking, is common to all of them.
The consequences here are real, and the recent fines are for this exact pattern.
In September 2025, France's data-protection regulator, the CNIL, fined the operator of the fast-fashion site shein.com 150 million euros. The reason: advertising cookies were placed on visitors' devices the moment they arrived, before any interaction with the consent banner, and were still read after users clicked "Refuse all". That is the same sequence we recorded: fire before the choice, and keep firing after a decline. (CNIL decision)
In November 2025 the same regulator fined American Express 1.5 million euros for three failures that read like a checklist of what we observed: cookies placed before any choice, cookies placed despite an explicit refusal, and cookies that kept being read after consent was withdrawn. (CNIL decision)
And in September 2025 the CNIL fined Google 325 million euros over how it steered people into advertising cookies. (CNIL decision)
Under the French rules a cookie fine can reach 10 million euros or 2% of worldwide turnover. In the UK the ICO's cookie-penalty ceiling is rising from 500,000 pounds to 17.5 million pounds, or 4% of global turnover, under the Data Use and Access Act 2025. (ICO) A pixel that fires before the banner is answered sits in exactly the territory these fines came from.
Method note
Starting set: 341 sites confirmed serving OpenAI's measurement-pixel (bzrcdn.openai.com/sdk/oaiq.min.js) in their markup, drawn from about 112,000 sites for which we hold a served-markup read, read on 20 October 2026. On 22 October 2026 we loaded each of the 341 in a headless Chrome instance with a fresh profile (no stored cookies or local storage), left any consent banner untouched, and captured all network requests. A site is counted as sending a measurement event when the capture contains a request to bzr.openai.com/v1/sdk/events; as blocked when it contains no request to any OpenAI host; as SDK-only when the SDK downloaded but no event request appeared; otherwise indeterminate. On a sample of event-sending sites we confirmed the request carried the site's own pixel ID, the oaiq-web source tag and an event count (for example ?pid=...&st=oaiq-web&sv=0.1.93&ec=2); we did not decode the request body, so we do not report the specific event type. Result: 224 send a measurement event, 104 blocked, 3 SDK-only, 10 indeterminate. In the same loads we recorded whether a recognised consent-management platform was present in the page; of the 224 event-senders, 95 showed one and 129 did not. "Showing a consent banner" means the platform's code was present on load; on the sites we opened by hand it rendered a visible Accept and Reject choice. The product description and the default-consent behaviour are quoted from OpenAI's own developer documentation. Country attribution is the entity's registered country in our dataset, which may differ from where a site operates. Of the 224 sites that fire before consent, the rest beyond the continental-European domains are on .uk, .com and a small non-European tail. Country figures use the domain and registered country, not the site's operating location, so they are indicative rather than exact.
Separately, to establish that the pixel's default is the cause rather than a broken consent control, we loaded the real oaiq SDK (version 0.1.93) in a controlled local harness and counted distinct network requests to bzr.openai.com/v1/sdk/events under several consent sequences, in headless and normal Chrome, three runs each, parsing each request body to separate a measurement event from the SDK's own lifecycle and diagnostic events. With oaiq("consent", false) before init, zero measurement events were sent in every run, the pixel-config fetch was suppressed, and no attribution cookie was written; a stored denial carried across a fresh session. One diagnostic request (carrying "consent": false and no identifiers) is still sent per session. The consent control behaves as documented; the pre-consent measurement on live sites comes from the default being left on, not from the SDK ignoring a consent call.
Disclosure
Before publishing we notified the operator of the example site of what we observed. While that disclosure window is open, sites that fire the pixel before consent are reported here only in aggregate and the example site is anonymised. Affected sites may be named in a later update once the window has closed. We name weck.de as a site that gates the pixel correctly.
Limits
This measures one load of each homepage from one location on one day, with no consent given. It establishes that a measurement request leaves the browser before consent; it does not measure what OpenAI does with the event, whether the shop later obtains consent, or behaviour on other pages. The 341-site scan did not interact with the banner; the after-decline behaviour shown above comes from the one site we tested by hand. Headless Chrome can be treated differently from a normal visitor by some sites, and 10 sites gave an indeterminate capture; both are counted conservatively, not as measurement. Five shared pixel IDs mean a few multi-country operators appear as more than one site in the 341. Co-occurrence shares (Google, Meta) are over the technology-fingerprint reads we hold for 339 of the 341.
Legal sources
The consent requirement derives from the EU ePrivacy Directive (2002/58/EC, Article 5(3)) and GDPR, implemented in national law as listed above. Enforcement examples (all French CNIL, 2025): the 150-million-euro sanction of Infinite Styles Services Co. Limited, the Irish operator of shein.com, for advertising cookies set before any banner interaction and still read after "Refuse all"; the 1.5-million-euro sanction of American Express Carte France (November 2025) for cookies before choice, after refusal, and after withdrawal; and the 325-million-euro Google decision. The UK ICO's cookie-penalty ceiling rises to 17.5 million pounds or 4% of global turnover under the Data Use and Access Act 2025. Advertising and analytics consent guidance: UK ICO, "How do the rules apply to online advertising?"; Irish Data Protection Commission cookies guidance; CNIL cookies and trackers guidelines. We cite these as context for the general rule; we make no finding about any specific site.