Technical audit · 13.09.2026

circlek.ee

Website of the Circle K petrol station network

Circle K petrol station network website — one cookie-page recording, 29 requests, 9 domains. The technical implementation is careful: the Cookiebot CMP loads early and is configured for Google Consent Mode, analytics and advertising run with gcs=G100 (denial respected, cookieless), and recipients are disclosed exhaustively — in both a detailed privacy notice and a cookie declaration (Cookiebot, Google, Adobe, Cognigy, Facebook, Microsoft, LinkedIn, Salesforce). However, the consent mechanism is incomplete: the banner's first screen has no equivalent 'reject all' button — accepting is one click, while rejecting requires navigating unchecked categories and clicking 'Luba valik'. Per the EDPB position, rejection must be as easy as consent.

Request timeline

+181–+198 ms · CMP and tag managers load early
assets.adobedtm.com/launch-… (Adobe DTM, +181 ms), consent.cookiebot.com/… (consent platform, +182 ms), www.googletagmanager.com/gtm.js (+198 ms). Cookiebot loads almost first, together with the tag managers.
+563–+5677 ms · analytics and advertising (cookieless)
pagead2.googlesyndication.com/ccm/collect (Google Ads, +563 ms, gcs=G100); region1.google-analytics.com/g/collect — GA4 page_view and scroll with gcs=G100 (both storage types denied), cookieless.

Declared versus actual

✓ Controller — Circle K (privaatsusteade — detailed privacy notice) — declared
✓ Consent management — Cookiebot; detailed cookie declaration with categories, providers, and retention periods — declared
✓ Recipients named explicitly: Cookiebot, Google (Analytics, reCaptcha), Adobe Inc., Cognigy, Facebook, Microsoft, LinkedIn, Salesforce — declared
✓ Banner with categories (Vajalik / Eelistused / Statistilised / Turundus), optional categories off by default — declared
✓ Banner text explicitly names targeted advertising recipients: Microsoft, Google, Facebook, LinkedIn — declared
✓ Supervisory authority — Andmekaitse Inspektsioon — declared
+ No equivalent 'reject all' button on the banner's first screen (rejection only possible indirectly, via unchecked categories and 'Luba valik') — not declared
+ Adobe DTM and GA/Ads requests load before the consent decision is recorded (but under gcs=G100 denial) — not declared

Transfer timings

+182 ms consent.cookiebot.com

Consent platform; configured for Google Consent Mode.

+563 ms pagead2.googlesyndication.com

ccm/collect, gcs=G100.

+651 ms region1.google-analytics.com

GA4 page_view, gcs=G100.

Detected trackers

Indicators of GDPR non-compliance

Context

circlek.ee is the website of the Circle K petrol station network (fuel, convenience stores, Extra loyalty programme). Data processing is described in a detailed privacy notice (privaatsusteade) and a Cookiebot-powered cookie declaration; consent management is handled by Cookiebot.

Recording: one cookie-page (/cookie) session — 29 requests, 9 domains.

Who receives data directly

Analytics — Google Analytics 4 and Google Ads (both under denial, gcs=G100, cookieless). Consent management — Cookiebot. Tag manager — Adobe DTM (orchestrates; does not itself transmit data). Chatbot — Cognigy (functional). First party — Circle K Europe website and fonts.

Declared versus actual

The technical implementation is careful, but the consent mechanism is incomplete.

The technical layer is configured correctly. The Cookiebot platform loads early (+182 ms) and is configured for Google Consent Mode. The Eelistused, Statistilised, and Turundus categories are off by default (not pre-selected). Google Analytics and Ads respect the denial: GA4 events (page_view, scroll) and Google Ads (ccm/collect) carry gcs=G100 — both storage types denied, cookieless. No actual data transmission before consent was recorded.

Recipients are disclosed exhaustively. The privacy notice is very detailed, and the cookie declaration names all recipients explicitly: Cookiebot, Google (Analytics, reCaptcha), Adobe Inc., Cognigy, Facebook, Microsoft, LinkedIn, Salesforce — with categories, purposes, and retention periods. The banner text itself names the targeted advertising recipients: Microsoft, Google, Facebook, LinkedIn. The level of disclosure is high.

However, there is no equivalent rejection option on the first screen. The banner shows two buttons: “Luba valik” (allow selection) and “Luba kõik küpsised” (allow all, highlighted). There is no direct one-click “reject all” button. Rejection is possible, but only indirectly: leave the optional categories unchecked (they are off by default) and click “Luba valik”. Per the EDPB position, rejection must be as easy as consent: if “accept all” is available in one click, “reject all” must also be on the same screen in one click. That symmetry is absent, and this is a violation of the consent mechanism itself — independent of the fact that data in this recording travels under denial. The technical denial (gcs=G100) counts in the site’s favour, but it does not substitute for an equivalent rejection button: a user who wishes to decline is not given an interface that makes doing so as easy as accepting.

A note on loading order. Adobe DTM (+181 ms) and GA/Ads requests (+563–+651 ms) load before the consent decision is recorded. No actual transmission occurs: GA and Ads are under denial (gcs=G100, cookieless), and Adobe DTM is a tag manager. This is a note on ordering, not a separate data transmission violation.

Established: no equivalent reject button on the first screen. The banner screenshot shows only “Luba valik” and “Luba kõik küpsised”.

Established: categories are off by default. The screenshot shows unchecked Eelistused/Statistilised/Turundus boxes.

Established: Cookiebot loads early and is configured for consent mode. consent.cookiebot.com — +182 ms, uc.js — +532 ms.

Established: analytics and advertising respect the denial. All GA4 and Google Ads requests carry gcs=G100, cookieless.

Established: recipients are disclosed. The cookie declaration and privacy notice name Cookiebot, Google, Adobe, Cognigy, Facebook, Microsoft, LinkedIn, and Salesforce explicitly.

Not established: the consent decision. No choice was recorded in this session; gcs=G100 indicates a denied state (default or explicit refusal).

Scope of observation

The recording covers the cookie page and captures browser behaviour, not server-side processing: what Google and Adobe do with the received (storage-denied) signals is not verifiable through a browser recording. Facebook, Microsoft, and LinkedIn are named in the policy and banner text as targeted advertising recipients, but no requests to them were observed in this recording (the /cookie page, no consent given) — they are likely gated until consent. Adobe DTM is treated as a tag manager; Cognigy as functional (chatbot). The rejection asymmetry is established from the banner screenshot (live UI); the gcs=G100 status from the HAR.

The file was published sanitised of personal data (27 edits, self-check clean); early Cookiebot loading, gcs=G100 status on GA/Ads, and the absence of active transmission before consent are verifiable directly from the published file and screenshots. The banner and cookie declaration are from screenshots (live UI).

Legal assessment is a matter for the competent authority — the Andmekaitse Inspektsioon.

Conclusion

The Circle K petrol station network has handled the technical layer carefully: the Cookiebot CMP loads early and is configured for Google Consent Mode, analytics and advertising operate under denial (gcs=G100, cookieless), and recipient disclosure is at a high level — both the detailed privacy notice and the cookie declaration name all parties explicitly, with targeted advertising recipients even named in the banner text itself.

However, the consent mechanism is incomplete at a key point: the banner’s first screen has no equivalent “reject all” button. Accepting all cookies takes one click; rejecting requires leaving optional categories unchecked and clicking “Luba valik” — an indirect and less obvious path. Per the EDPB position, rejection must be as easy as consent, and that requirement is not met here. The fact that data travels under technical denial is a point in the site’s favour, but it does not resolve the asymmetry: the interface nudges users towards acceptance by making rejection less visible. Separately, Adobe DTM and GA/Ads requests load before the consent decision is recorded, though under denial and without actual data transmission.

Remediation: add a direct “reject all” button to the banner’s first screen, equivalent in prominence to “Luba kõik küpsised” and at the same level of visibility, so that rejection is as easy as acceptance; gate the loading of Adobe DTM and GA/Ads requests until an actual consent decision is made; retain the correct Google Consent Mode configuration (gcs=G100), categories off by default, and exhaustive recipient disclosure — those parts are correctly implemented.

Evidence

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.

Original (audit)
HAR file: ee/circlek-ee-2026-09-13.har
SHA-256: 6ff6f738b8c14d17125cb42968d81fc183cfceaf606f51b5e930979394cfb3e4
Screenshot
Скриншот интерфейса
Cookie banner: 'Luba valik' / 'Luba kõik küpsised' — no direct 'reject all' button; categories off by default · 13.09.2026
Скриншот интерфейса
Cookie declaration: providers (Cookiebot, Adobe, Salesforce) with purpose and retention period · 13.09.2026
Re-check snapshot
Awaiting changes
HAR files are stored on EU infrastructure (Proton Drive). SHA-256 is published for integrity verification.