66% of 341 shops running OpenAI's ChatGPT ad pixel, most of them European, send a measurement event to OpenAI before any consent (224 sites). Only 30% hold it back (104 sites). And 95 fire the pixel while a cookie banner is still on screen asking the visitor to choose. France's regulator fined the operator of shein.com 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 loader 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.

OpenAI's measurement-pixel documentation. The 'Install the Measurement Pixel' snippet calls oaiq('init', ...) with no consent call; 'Control measurement consent' is a separate entry listed below it in the page navigation.
OpenAI's measurement-pixel docs (developers.openai.com/ads/measurement-pixel), read 23 October 2026. The documented install snippet ends at oaiq("init", ...) with no consent call; "Control measurement consent" is a separate section, listed below "Install the Measurement Pixel" in the page navigation on the right.

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.

The site's Cookiebot consent banner on first load, offering 'Accept all cookies' and 'Only necessary cookies'. The site's name and logo are redacted.
The consent banner on first load. The visitor has not yet chosen. Site name and logo redacted.

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.

Browser network panel filtered to openai, showing requests to bzrcdn.openai.com/sdk/oaiq.min.js, the pixel-config endpoint, and bzr.openai.com/v1/sdk/events, with the consent banner still visible on the page.
Network panel, banner still untouched. The OpenAI SDK, its pixel config, and the measurement event at bzr.openai.com/v1/sdk/events have all been requested before any consent.

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.

Browser application panel showing OpenAI cookies set while the consent banner is still showing.
Cookies on OpenAI's domains (openai.com, bzr.openai.com, bzrcdn.openai.com), set before a consent choice is made. Values redacted. The site also sets a first-party __obref attribution cookie.

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.

Network panel showing a new bzr.openai.com/v1/sdk/events request after the visitor clicked 'Only necessary cookies' and navigated to another page.
After clicking "Only necessary cookies" and navigating, a new v1/sdk/events request to OpenAI. Declining did not stop it.

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:

CountryImplementing lawAuthority
Germany§ 25 TDDDG (formerly TTDSG)Federal and state DPAs
FranceArticle 82, Loi Informatique et LibertésCNIL
NetherlandsTelecommunicatiewet, Article 11.7aAutoriteit Persoonsgegevens
PolandTelecommunications / Electronic Communications lawUODO
ItalyCodice Privacy + Garante cookie guidelinesGarante
SpainLSSI-CE, Article 22.2AEPD
IrelandePrivacy Regulations 2011 (SI 336)Data Protection Commission
United KingdomPECR, Regulation 6, with UK GDPRICO

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 loader (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.