Technical audit · 13.09.2026

peetripizza.ee

A pizza-delivery chain's site

The site of the pizza chain Peetri Pizza — a single capture of an order page, 43 requests, 8 nodes. The case is close to exemplary: the CookieYes consent management platform loads first, the banner offers refusal on the first screen («Keeldu kõigist») alongside «Nõustun kõigiga», and the categories in the settings are off by default. Google analytics respect the denial — the GA4 events carry status gcs=G100, cookieless; Facebook loads only the SDK without pixel events. The policy is detailed and names all recipients individually, including the Facebook Pixel. The only caveat is that the Facebook SDK and the GA requests load before the choice is recorded (but under denial).

Request timeline

+188…+222 ms · CMP first, container, SDK
cdn-cookieyes.com/client_data/… (consent platform, +188 ms) — loads first; www.googletagmanager.com/gtm.js (+188 ms), connect.facebook.net/fbevents.js (Facebook SDK, +189 ms), gtag (+222 ms).
+869…+876 ms · analytics (cookieless)
region1.google-analytics.com — the GA4 events page_view, first_visit, session_start and measurement/conversion with status gcs=G100 (both storages denied), cookieless. One event carries dl=/pizzeria/aardla, but under denial.

Declared versus actual

✓ Controller — PP Trading OÜ (Peetri Pizza); contact paula@peetripizza.ee — declared
✓ A detailed policy and cookie declaration (CookieYes engine): categories necessary, functional, analytics, performance — declared
✓ Recipients named individually: CookieYes, Google reCAPTCHA, Google Analytics, Facebook (Facebook Pixel _fbp), Wix, Laravel, Cloudflare — declared
✓ A banner with three buttons («Kohanda» / «Keeldu kõigist» / «Nõustun kõigiga»), categories off by default — declared
✓ Supervisory authority — Andmekaitse Inspektsioon — declared
+ The Facebook SDK and the GA requests load before the choice is recorded (but under the gcs=G100 denial) — not declared

Transfer timings

+188 ms cdn-cookieyes.com

Consent platform; a banner with «Keeldu kõigist» on the first screen.

+189 ms connect.facebook.net

fbevents.js; the _fbp cookie is named in the policy.

+876 ms region1.google-analytics.com

GA4 page_view, gcs=G100.

Detected trackers

Context

peetripizza.ee is the site of the pizza-delivery chain Peetri Pizza (controller — PP Trading OÜ, contact paula@peetripizza.ee). The site runs on Laravel and is served via Cloudflare. The processing is described by a detailed policy and cookie declaration running on the CookieYes engine; consent is managed by CookieYes.

The capture is a single recording of an order page (/telli/…, adding a combo): 43 requests, 8 nodes.

Who data goes to directly

Analytics — Google Analytics 4 (under denial, gcs=G100, cookieless). Consent management — CookieYes. Facebook loads only the SDK, without events. Functionally — reCAPTCHA (form protection), fonts. The first party is the Laravel site behind Cloudflare.

Declared versus actual

Here the declared and the actual agree — a tidy case.

The consent mechanism is exemplary. The CookieYes platform loads first (+188 ms), the banner «Hindame teie privaatsust» offers three buttons — «Kohanda», «Keeldu kõigist» (reject all), «Nõustun kõigiga» — with refusal on the first screen equivalent to consent. In the settings the Funktsionaalsed, Analüütilised, Tulemuslikkus categories are off by default (not pre-ticked). As for the consent mechanism there is no complaint.

Google analytics respect the denial. The GA4 events — page_view, first_visit, session_start, measurement/conversion — carry status gcs=G100: both storages denied, pings cookieless. One event carries the address of a pizzeria page (dl=/pizzeria/aardla), but without a cookie binding. This is correct behaviour when consent has not been given.

Facebook is present only as an SDK. connect.facebook.net/fbevents.js loads at +189 ms, but there are no pixel /tr events in the capture — the pixel is initialised but transferred no data.

Recipients are disclosed individually. The policy and cookie declaration name them all: CookieYes, Google reCAPTCHA, Google Analytics, Facebook (with the _fbp cookie — Facebook Pixel, «showing advertising»), Wix, Laravel, Cloudflare — with categories and retention periods. Disclosure at a good level.

The only caveat is the load order. The Facebook SDK (+189 ms) and the GA requests (+869 ms) load before the user’s choice is recorded in the banner. No actual transfer was recorded, however: GA runs under denial (gcs=G100, cookieless), and the Facebook SDK sent no events. This is a caveat about initialisation order, not a transfer of data before consent; the clean fix is to gate the loading of the SDK and the GA requests until the choice.

Proven: the CMP loads first. CookieYes — +188 ms, before the rest of the stack.

Proven: the banner offers refusal on the first screen. The screenshots record «Keeldu kõigist» and the categories off by default.

Proven: analytics respect the denial. All GA4 requests carry gcs=G100, cookielessly.

Proven: Facebook is only the SDK, without events. In the capture there is only fbevents.js, no /tr requests.

Proven: recipients are named. The policy lists CookieYes, Google, Facebook, Wix, Laravel, Cloudflare individually.

Not established: the consent decision. The choice is not recorded in the capture; gcs=G100 indicates a denied state (by default or by refusal).

Observation boundaries

The capture covers the order page and records browser behaviour, not server-side processing: what Google does with the received (storage-denied) signals is not verified by a browser capture. Facebook is named in the policy, but in the capture it only loaded the SDK without events — the pixel’s actual activity in this session was not observed. reCAPTCHA and fonts are attributed to the functional part.

The file is published cleaned of personal data (39 redactions, self-check clean; the URL parameters of the order page redacted); the load order (CookieYes first), the gcs=G100 status of GA and the absence of Facebook /tr events can be verified directly against the published file and the screenshots. The banner and the settings are from the screenshots (live UI).

The legal assessment is made by the competent authority — Andmekaitse Inspektsioon.

Conclusion

The pizza chain leaves a tidy impression, close to exemplary. The CookieYes consent management platform loads first, the banner offers refusal on the first screen alongside consent, and the categories in the settings are off by default. Google analytics run under denial (gcs=G100, cookieless), Facebook is limited to loading the SDK without events, and the policy is detailed and names all recipients individually, including the Facebook Pixel with its cookie.

The only observation is the initialisation order: the Facebook SDK and the GA requests load before the choice is recorded in the banner. No actual transfer of data before consent was recorded — GA is under denial, Facebook without events — so this is a minor caveat about order, not a violation, and the severity here is zero.

Remediation (optional, for cleanliness): gate the loading of the Facebook SDK and the GA requests until the actual choice in the banner, so that the «consent → loading» order is observed strictly; otherwise the current configuration — CookieYes first, refusal on the first screen, unticked categories, the analytics denial respected and the individual disclosure of recipients — can serve as a reference.

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/peetripizza-ee-2026-09-13.har
SHA-256: 3ff0c18df88c9b03cea6d54134a3236a30e5daf3d97efe6b13f626eabc9dd1f3
Screenshot
Скриншот интерфейса
Cookie banner: «Kohanda» / «Keeldu kõigist» / «Nõustun kõigiga» — refusal on the first screen · 13.09.2026
Скриншот интерфейса
Settings: functional, analytics, performance off by default · 13.09.2026
Скриншот интерфейса
Cookie declaration: necessary cookies (XSRF-TOKEN, laravel_session, __cf_bm) with descriptions · 13.09.2026
HAR files are stored on EU infrastructure (Proton Drive). SHA-256 is published for integrity verification.