Policy changed — see what exactly · 2026-10-07 →
Coolblue.nl is the website of a major Dutch electronics retailer. Homepage scan: 143 requests, 11 domains. In a clean session without consent, an analytics/behavioral layer deploys immediately: Google Analytics 4 sends events (session_start at 5232 ms, page_view at 5259 ms, later scroll and conversion), and the consent signal within the GA4 requests themselves marks analytics storage as granted (analytics_storage = granted), even though the user has made no choice. In parallel, Crazy Egg fires — session recording, heatmaps, and surveys (script at 839 ms, tracking beacon at 6781 ms) — along with Optimizely, an A/B-testing platform (client-side storage at 4452 ms, events to the log collector at 5924 ms). Analytics, session recording, and experiments are non-technical purposes requiring consent, and here all three fire before it is given.
Request timeline
Declared versus actual
Detected trackers
- Google Analytics 4 (events before consent, analytics_storage = granted)
- Crazy Egg (session recording, heatmaps, surveys — before consent)
- Optimizely (A/B experiments and event logging — before consent)
- Google Tag Manager
- mimir.coolblue.nl (first-party real-time, websocket)
Indicators of GDPR non-compliance
- Art. 6(1)(a) GDPR and art. 11.7a Telecommunicatiewet — analytics, session recording, and experiments fire before consentIn a clean session, without any user choice, a full analytics/behavioral layer deploys immediately. Google Analytics 4 sends session_start (5232 ms), page_view (5259 ms), and later scroll and conversion events; the consent signal within the GA4 requests themselves (gcs=G101) shows analytics storage marked as granted (analytics_storage = granted) — meaning analytics is treated as consented by default, even though the user has not made any choice. The advertising portion, meanwhile, is marked as non-personalized. In parallel, Crazy Egg loads and fires — a session recording, heatmap, and survey tool: its script loads at 839 ms, and a tracking beacon fires at 6781 ms. Optimizely, an A/B-testing platform, also fires: its client-side storage loads at 4452 ms, and events go to its log collector at 5924 ms. Analytics, session recording, and experiments are non-technical purposes requiring consent under art. 11.7a Telecommunicatiewet and Art. 6(1)(a) GDPR, and here all three fire before consent. Coolblue's policy describes Google Analytics as a 'low-impact' tool with IP masking, but the observed GA4 traffic sends full-fledged events, including conversion, in an 'analytics granted' mode; Crazy Egg and Optimizely are not named in the privacy policy at all.
Context
www.coolblue.nl is the site of Coolblue, one of the largest electronics and home-appliance retailers in the Netherlands and Belgium (catalog, account area, delivery and installation). The data controller is Coolblue B.V. (Rotterdam, Netherlands). The site is commercial.
Scan: 143 requests to 11 domains, homepage, captured in a clean browser without a VPN or ad blocker. Consent on the site is implemented via Consent Mode.
Who receives the data
Directly, before consent: Google (Analytics), Crazy Egg, Optimizely.
Google Analytics 4 sends events to region1.google-analytics.com — session_start, page_view, scroll, and conversion. Crazy Egg (script.crazyegg.com, tracking.crazyegg.com) runs session recording, heatmaps, and surveys. Optimizely (cdn.optimizely.com, eu.logx.optimizely.com) runs A/B experiments and sends events to its own log collector. On the first-party side, there’s a real-time connection to mimir.coolblue.nl on the site’s own domain (websocket).
Was there a consent banner
No separate third-party consent mechanism (CMP) is visible in the scan; consent is implemented via Consent Mode. The key issue: the consent signal within the GA4 requests themselves (gcs=G101) marks analytics storage as granted (analytics_storage = granted) by default — meaning analytics is treated as consented before the user has made any choice. The advertising portion, meanwhile, is marked as non-personalized, which works in the site’s favor — but analytics, session recording, and experiments had already fired by the time any choice could have been made.
What fires before consent
Before the user’s choice, the following fire:
- Google Analytics 4 — session_start, page_view, scroll, and conversion events (from 5232 ms), in “analytics granted” mode;
- Crazy Egg — session recording, heatmaps, surveys (script at 839 ms, beacon at 6781 ms);
- Optimizely — A/B experiments and event logging (from 4452 ms).
All three are non-technical purposes requiring consent. Session recording and heatmaps are especially sensitive: they capture the user’s on-page behavior. Here they fire before any choice is made.
Why “analytics granted by default” is a problem
This point matters for understanding the issue. Consent Mode itself is a proper mechanism: it allows tags to respect the user’s choice. But the default value here is set so that analytics storage is marked as granted (analytics_storage = granted) before any choice is made. As a result, GA4 sends full-fledged events, including conversion, rather than limited cookieless pings. Coolblue’s policy describes Google Analytics as a “low-impact” tool with partial IP masking — but the observed behavior is broader than exempted, privacy-friendly analytics: it is standard GA4 data collection in consent-granted mode. On top of this, Crazy Egg and Optimizely are not named in the privacy policy at all.
Conclusion
Coolblue.nl is a case where consent is respected for advertising but not for analytics and behavioral tools. In the site’s favor, the advertising portion is marked as non-personalized. But Google Analytics 4 sends full-fledged events marked “analytics granted” by default, Crazy Egg runs session recording, heatmaps, and surveys, and Optimizely runs experiments — and all three fire before consent. The key takeaway for the reader: the default Consent Mode value for analytics should be switched to “denied” until the user makes a choice, and session recording and experiments should be held pending consent. That would bring the configuration in line with the very legal basis (consent) the policy itself relies on.
How to verify: download the file and compute its checksum — sha256sum file.har (Linux, macOS) or certutil -hashfile file.har SHA256 (Windows); it must match the one shown. The conclusions apply to the scope of this measurement — see the limitations of the method.
5cc3828073813c2ca5e3f8051a254d9af5737272143304eca099cc265cf4690cWant a response from the company about this audit? → Open the tool
Fill in once — it will be inserted into every letter below:
All fields are required to print the document — this is a formal requirement of the letter itself (the particulars of an official submission), not data collection: nothing is sent or saved anywhere, it all stays in your browser and disappears when you close the page. See the methodology for details.
RIA DigiDoc — phone · Smart-ID / Mobile-ID
Send this letter directly to the company first — before contacting the regulator it has the right to respond (GDPR Art. 12(3) — 30 days).
Тема: Запрос доступа к персональным данным (ст. 15 GDPR) — coolblue.nl Кому: [укажите адрес компании — DPO / поддержка / юридический отдел] От: [Ваше имя], [контактный email] Прошу предоставить доступ к моим персональным данным, обрабатываемым в связи с использованием сайта coolblue.nl. 1. Категории данных и цели обработки (ст. 15(1)(a)-(c)) На основании независимого технического анализа сайта прошу подтвердить и подробно раскрыть следующие категории обработки: 1) В чистом сеансе без какого-либо выбора пользователя сразу разворачивается полноценный аналитико-поведенческий слой. Google Analytics 4 отправляет события session_start (5232 мс), page_view (5259 мс) и далее прокрутку и конверсию; при этом сигнал согласия в самих запросах GA4 (gcs=G101) показывает, что хранение для аналитики помечено как разрешённое (analytics_storage = granted) — то есть аналитика по умолчанию считается согласованной, хотя пользователь ничего не выбирал. Рекламная часть при этом помечена как неперсонализированная. Параллельно загружается и отрабатывает Crazy Egg — инструмент записи сессий, тепловых карт и опросов: на 839 мс грузится его скрипт, а на 6781 мс уходит трекинговый бикон. Также отрабатывает Optimizely — платформа A/B-экспериментов: на 4452 мс загружается её клиентское хранилище, а на 5924 мс на её лог-коллектор уходят события. Аналитика, запись сессий и эксперименты — это нетехнические цели, требующие согласия по art. 11.7a Telecommunicatiewet и Art. 6(1)(a) GDPR, и здесь все три отрабатывают до согласия. Политика Coolblue называет Google Analytics инструментом «низкого влияния» с маскировкой IP, но наблюдаемый GA4 шлёт полноценные события, включая конверсию, в режиме «аналитика разрешена»; Crazy Egg и Optimizely в политике конфиденциальности не названы вовсе. 2. Получатели, сроки хранения и передача за пределы ЕЭЗ (ст. 15(1)(c)-(d), 46) Прошу также указать полный список третьих лиц-получателей, применимые сроки хранения по каждой категории и правовые основания передачи данных за пределы ЕЭЗ, если таковая происходит. Полный технический разбор с доказательствами (сохранённый сетевой журнал, контрольная сумма SHA-256) опубликован по адресу: https://gdpru.eu/en/audits/nl-coolblue-nl/ 3. Автоматизированная обработка и профилирование (ст. 15(1)(h)) Прошу сообщить, применяется ли в отношении меня автоматизированное принятие решений или профилирование, и если да — раскрыть логику такой обработки. С уважением, [Ваше имя] [контактный email] [Страна] [Дата]
Subject: Data access request (GDPR Art. 15) — coolblue.nl To: [insert the company's address — DPO / support / legal department] From: [Your name], [contact email] I request access to my personal data processed in connection with the website coolblue.nl. 1. Categories of data and purposes of processing (Art. 15(1)(a)-(c)) Based on an independent technical analysis of the site, I request confirmation and detailed disclosure of the following categories of processing: 1) In a clean session, without any user choice, a full analytics/behavioral layer deploys immediately. Google Analytics 4 sends session_start (5232 ms), page_view (5259 ms), and later scroll and conversion events; the consent signal within the GA4 requests themselves (gcs=G101) shows analytics storage marked as granted (analytics_storage = granted) — meaning analytics is treated as consented by default, even though the user has not made any choice. The advertising portion, meanwhile, is marked as non-personalized. In parallel, Crazy Egg loads and fires — a session recording, heatmap, and survey tool: its script loads at 839 ms, and a tracking beacon fires at 6781 ms. Optimizely, an A/B-testing platform, also fires: its client-side storage loads at 4452 ms, and events go to its log collector at 5924 ms. Analytics, session recording, and experiments are non-technical purposes requiring consent under art. 11.7a Telecommunicatiewet and Art. 6(1)(a) GDPR, and here all three fire before consent. Coolblue's policy describes Google Analytics as a 'low-impact' tool with IP masking, but the observed GA4 traffic sends full-fledged events, including conversion, in an 'analytics granted' mode; Crazy Egg and Optimizely are not named in the privacy policy at all. 2. Recipients, retention periods, and transfers outside the EEA (Art. 15(1)(c)-(d), 46) I also request the full list of third-party recipients, the applicable retention period for each category, and the legal basis for any transfer of data outside the EEA. The full technical audit with evidence (saved network log, SHA-256 checksum) is published at: https://gdpru.eu/en/audits/nl-coolblue-nl/ 3. Automated processing and profiling (Art. 15(1)(h)) Please state whether I am subject to automated decision-making or profiling, and if so, disclose the logic involved. Sincerely, [Your name] [contact email] [Country] [Date]
RIA DigiDoc — phone · Smart-ID / Mobile-ID
Where to file: Dutch Data Protection Authority (AP) — autoriteitpersoonsgegevens.nl
The regulator reviews complaints in its national language. There is an officially translated template from the European Data Protection Board (EDPB) — you can use it instead of or alongside this letter: Official EDPB complaint form (PDF, your language)
Тема: Жалоба на обработку персональных данных — coolblue.nl 1. Предмет жалобы Я подаю жалобу в отношении обработки моих персональных данных сайтом coolblue.nl. 2. Обстоятельства Я посетил сайт coolblue.nl и обнаружил признаки несоответствия обработки моих персональных данных требованиям GDPR. Технический разбор, опубликованный на gdpru.eu 23.06.2026 (открытая методология, воспроизводимые измерения), документирует следующие признаки: 1) В чистом сеансе без какого-либо выбора пользователя сразу разворачивается полноценный аналитико-поведенческий слой. Google Analytics 4 отправляет события session_start (5232 мс), page_view (5259 мс) и далее прокрутку и конверсию; при этом сигнал согласия в самих запросах GA4 (gcs=G101) показывает, что хранение для аналитики помечено как разрешённое (analytics_storage = granted) — то есть аналитика по умолчанию считается согласованной, хотя пользователь ничего не выбирал. Рекламная часть при этом помечена как неперсонализированная. Параллельно загружается и отрабатывает Crazy Egg — инструмент записи сессий, тепловых карт и опросов: на 839 мс грузится его скрипт, а на 6781 мс уходит трекинговый бикон. Также отрабатывает Optimizely — платформа A/B-экспериментов: на 4452 мс загружается её клиентское хранилище, а на 5924 мс на её лог-коллектор уходят события. Аналитика, запись сессий и эксперименты — это нетехнические цели, требующие согласия по art. 11.7a Telecommunicatiewet и Art. 6(1)(a) GDPR, и здесь все три отрабатывают до согласия. Политика Coolblue называет Google Analytics инструментом «низкого влияния» с маскировкой IP, но наблюдаемый GA4 шлёт полноценные события, включая конверсию, в режиме «аналитика разрешена»; Crazy Egg и Optimizely в политике конфиденциальности не названы вовсе. Полная техническая документация опубликована по адресу: https://gdpru.eu/en/audits/nl-coolblue-nl/ 3. Положения GDPR, соблюдение которых прошу проверить Art. 6(1)(a) GDPR и art. 11.7a Telecommunicatiewet — аналитика, запись сессий и эксперименты срабатывают до согласия 4. Требование Прошу проверить изложенные обстоятельства и, если несоответствие подтвердится, принять меры, предусмотренные статьёй 58(2) GDPR. 5. Приложения Полная доказательная база — HAR-файл, контрольная сумма SHA-256 и цитата из политики конфиденциальности сайта, документирующая указанное противоречие — опубликована и проверяема по ссылке в пункте 2 выше. С уважением, [Ваше имя] [контактный email] [Страна] [Дата]
Subject: Complaint regarding personal data processing — coolblue.nl 1. Subject of the complaint I am filing a complaint regarding the processing of my personal data by the website coolblue.nl. 2. Circumstances I visited the website coolblue.nl and found indications that the processing of my personal data does not comply with the GDPR. The technical analysis published on gdpru.eu on 23 June 2026 (open methodology, reproducible measurements) documents the following indications: 1) In a clean session, without any user choice, a full analytics/behavioral layer deploys immediately. Google Analytics 4 sends session_start (5232 ms), page_view (5259 ms), and later scroll and conversion events; the consent signal within the GA4 requests themselves (gcs=G101) shows analytics storage marked as granted (analytics_storage = granted) — meaning analytics is treated as consented by default, even though the user has not made any choice. The advertising portion, meanwhile, is marked as non-personalized. In parallel, Crazy Egg loads and fires — a session recording, heatmap, and survey tool: its script loads at 839 ms, and a tracking beacon fires at 6781 ms. Optimizely, an A/B-testing platform, also fires: its client-side storage loads at 4452 ms, and events go to its log collector at 5924 ms. Analytics, session recording, and experiments are non-technical purposes requiring consent under art. 11.7a Telecommunicatiewet and Art. 6(1)(a) GDPR, and here all three fire before consent. Coolblue's policy describes Google Analytics as a 'low-impact' tool with IP masking, but the observed GA4 traffic sends full-fledged events, including conversion, in an 'analytics granted' mode; Crazy Egg and Optimizely are not named in the privacy policy at all. Full technical documentation is published at: https://gdpru.eu/en/audits/nl-coolblue-nl/ 3. GDPR provisions I ask you to examine Art. 6(1)(a) GDPR and art. 11.7a Telecommunicatiewet — analytics, session recording, and experiments fire before consent 4. Request I request that you examine the circumstances described and, if non-compliance is confirmed, apply the measures provided for in Article 58(2) GDPR. 5. Attachments The full evidence base — the HAR file, its SHA-256 checksum and the quotation from the site's privacy policy documenting the stated contradiction — is published and verifiable at the link in point 2 above. Sincerely, [Your name] [contact email] [Country] [Date]