Technical audit · 06.06.2026

ohtuleht.ee

Estonia's Largest Tabloid Newspaper — Part of the Ekspress Media Group

883 requests, 149 domains. An InMobi CMP with TCF 2.0 — yet cookie-sync requests fire with gdpr=0, the same pattern found at Temu. The partner list includes Baidu USA and IFLYTEK (Hong Kong). GPT loads before the banner, and no consent decision was ever recorded across the entire session.

Request timeline

+162 ms · before the banner
Cloudflare Insights — before consent.
+186 ms · before the banner
npttech.com/advertising.js — an advertising script before consent.
+314 ms · before the banner
Google Fonts — the first request. 19 CSS requests plus 19 more font-file loads per session (38 requests total). IP address to Google, USA.
+1045 ms · before the banner
Setupad (stpd.cloud) — Prebid header bidding initializes.
+1729 ms · before the banner
Google Publisher Tag (securepubads.g.doubleclick.net/gpt.js) — Google's advertising infrastructure.
+2161 ms
A Google tag (gtag.js, GA4) — loads almost simultaneously with the banner's first script.
+2166 ms · banner
InMobi CMP choice.js — the TCF 2.0 banner begins loading.
+4364 ms · banner ready
The InMobi CMP fully loads: the vendor list, purposes in Estonian.
+4499–12935 ms
Cookie-sync chains: OpenX, Onetag, Adform, Criteo, SmileWanted, SmartAdserver, InMobi — with gdpr=0.
+5910 ms
Google Tag Manager (container GTM-NJBX26) — loads almost 4 seconds after the banner, with the user's decision still not made.
+6150–6788 ms
Meta Pixel — the script loads and immediately sends page-view events.
+6156 ms
TikTok Pixel (CVMGS93C77UDNRMCC2SG) — data to ByteDance.
+12870–12933 ms
Temu pixel — fires carrying the same gdpr=0 flag as InMobi.
~65 sec · end of session
Across the entire session, the CMP logs record no consent-acceptance or -rejection event. No decision was made — the banner remains open.

Declared versus actual

✓ Hundreds of IAB TCF 2.0 vendors — via the InMobi CMP — declared
+ npttech.com — before the banner — not declared
+ Cloudflare Insights — before the banner — not declared
+ Meta Pixel — after the banner, with no recorded consent — not declared
+ Temu pixel — gdpr=0, with no recorded consent — not declared

Transfer timings

+186 ms www.npttech.com

advertising.js — before consent

+1729 ms securepubads.g.doubleclick.net

GPT — advertising infrastructure

+2166 ms cmp.inmobi.com

TCF 2.0 banner

+6150 ms connect.facebook.net

fbevents.js — the Pixel fires

+11680 ms sync.inmobi.com

Cookie sync with gdpr=0&gdpr_consent=

+12870 ms www.temu.com

The same pattern as InMobi

Detected trackers

Show data recipients (17)
  • InMobi CMP with TCF 2.0 (cmp.inmobi.com)
  • Google Publisher Tag / GPT (securepubads.g.doubleclick.net)
  • Google Tag Manager (GTM-NJBX26)
  • Google Analytics GA4 (G-4VJVM198JT)
  • Google Ads (AW-950017448, AW-944384132)
  • TikTok Pixel (analytics.tiktok.com)
  • Meta Pixel (connect.facebook.net, www.facebook.com)
  • Temu / PDD Holdings (www.temu.com)
  • Gemius (gaee.hit.gemius.pl)
  • Cxense (cdn.cxense.com)
  • NPTTech (www.npttech.com)
  • JW Player (jwplatform.com, jwplayer.com)
  • Setupad (wb.setupad.com, prebid-stag.setupad.net)
  • Criteo (gum.criteo.com, ssp-sync.criteo.com)
  • OneSignal (onesignal.com)
  • Prebid header bidding (numerous SSP partners)
  • Cookie sync: Sparteo, SmileWanted, OpenX, Adform, Onetag, Lijit, BetweenDigital, 1rx, RichAudience, FreeWheel, and others

Indicators of GDPR non-compliance

Context

Õhtuleht is Estonia’s largest tabloid. Publisher: AS Õhtuleht Kirjastus, jointly owned in equal shares by Ekspress Grupp and AVH Grupp until 2026; in April 2026, Estonia’s Competition Authority approved Ekspress Grupp’s buyout of the remaining stake. One of the country’s most-visited news sites. HAR: 883 requests, 149 unique domains. Session on an article page.

149 domains — a full-cycle advertising ecosystem

A full-fledged programmatic infrastructure: Google Publisher Tag, Prebid header bidding via Setupad, cookie sync with dozens of SSPs, analytics via Gemius and Cxense. The homepage carries no Content-Security-Policy header whatsoever, but a CSP header on one of the site’s internal backend domains reveals staging environments pointing to use of the Piano platform (paid access) — a service not directly visible through ordinary third-party requests.

The InMobi CMP starts at the two-second mark and fully loads by the four-second mark. But the CMP’s own logs, across the entire session (roughly 65 seconds), record only system events for the banner opening — not a single acceptance or rejection event. The user never made a decision. Despite this, throughout the entire session, the following run without pause: the Google tag and the GTM container itself, Meta Pixel, TikTok Pixel, the Temu pixel, and the cookie-sync chain across dozens of SSPs. The banner’s appearance had no effect on their operation — they don’t wait for a decision, because a decision isn’t actively requested.

gdpr=0 — not an isolated case

The InMobi CMP implements TCF 2.0 and loads a vendor list in Estonian. But cookie-sync requests fire with the parameter gdpr=0&gdpr_consent= (an empty string) — identifier synchronization proceeds as if the user were physically located outside GDPR’s scope. The same pattern is independently found in Temu’s pixel requests: this match across two unrelated vendors points to a systemic CMP configuration issue, not an isolated error.

Before the banner: Cloudflare, NPTTech, Google (Fonts). After the banner, but with no decision recorded: Google (Ads, Analytics, Publisher Tag, GTM), Meta, TikTok, Temu, InMobi, OpenX, Criteo, SmileWanted, SmartAdserver, Adform, Onetag, Setupad — and roughly forty more SSP partners via cookie sync.

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/ohtuleht-ee-2026-06-06.har
SHA-256: e0a0c71a3634c90996d27e2eb72f50aaa0961c238f77a827592aca66f513556e
Re-check snapshot
Awaiting changes
HAR files are stored on EU infrastructure (Proton Drive). SHA-256 is published for integrity verification.