Výzkum
80% of Cookie Reject Buttons Don't Actually Work — Here's the Proof
GDPR Privacy Monitor Research · 2026-04-11 · 6 min čtení
Každý cookie banner dává stejný implicitní slib: klikněte na "Odmítnout" a sledování přestane. Banner zmizí a vy prohlížíte v klidu. To je dohoda, na které je model souhlasu postaven -- myšlenka, že uživatelé mají smysluplnou, vynutitelnou volbu.
Tento slib jsme otestovali na 28 891 webových stránkách EU. Na 80,4 % z nich je slib porušen. Sledování pokračuje poté, co uživatel výslovně klikne na odmítnutí. Cookies přetrvávají. Reklamní pixely se stále spouštějí. A na 1 642 stránkách se cookies, které akce odmítnutí původně vymazala, vrátí při dalším načtení stránky -- tento vzorec nazýváme consent respawn.
Toto není okrajové zjištění o pár špatně nakonfigurovaných stránkách. Poukazuje to na systémový problém v mechanismu, na který se stovky milionů obyvatel EU spoléhají při ochraně svých práv na soukromí.
Co má "Odmítnout" dělat -- z právního hlediska
Právní rámec je jasný. Podle článku 5 odst. 3 směrnice ePrivacy vyžaduje ukládání informací do zařízení uživatele nebo přístup k nim předchozí souhlas, s úzkou výjimkou pro cookies nezbytně nutné pro službu, kterou uživatel výslovně požadoval. Článek 7 odst. 3 GDPR doplňuje, že odvolání souhlasu musí být stejně snadné jako jeho udělení a správce údajů musí na toto odvolání reagovat.
Pokyny EDPB 05/2020 k souhlasu podle GDPR upřesňují, co to znamená pro tlačítka odmítnutí: pokud webová stránka nabízí možnost "Přijmout vše", musí rovněž nabízet stejně viditelnou a stejně dostupnou možnost odmítnutí. A toto odmítnutí musí být účinné -- musí skutečně zabránit zpracování, které by souhlas autorizoval.
SDEU to potvrdil v rozhodnutí Planet49 (C-673/17): souhlas vyžaduje jasný potvrzující úkon a předem zaškrtnutá políčka nepředstavují platný souhlas. Logickým důsledkem je, že odmítnutí -- výslovný negativní úkon -- musí být respektováno stejně definitivně jako přijetí. Pokud kliknutí na "Přijmout" zapne sledování, kliknutí na "Odmítnout" jej musí vypnout. Ne částečně. Ne dočasně. Úplně a trvale.
To říká zákon. Naše data ukazují, co se skutečně děje.
Jak testujeme tok odmítnutí
Náš test toku odmítnutí je navržen tak, aby co nejvěrněji odpovídal zkušenosti skutečného lidského uživatele, který klikne na odmítnutí, s přidáním komplexní instrumentace. Zde je proces krok za krokem:
Krok 1: Čistá relace prohlížeče. Skener spustí čistou instanci Chromium -- bez cookies, bez local storage, bez cachovaných zdrojů, bez historie prohlížení. Jedná se o skutečného prvního návštěvníka bez předchozího stavu souhlasu. Krok 2: Navigace a záznam stavu před souhlasem. Skener načte cílovou URL a počká, až se stránka stabilizuje. Před jakoukoli interakcí zaznamená každý cookie přítomný v prohlížeči, každý síťový požadavek a každou kontaktovanou doménu třetí strany. Toto je výchozí stav před souhlasem -- co stránka dělá, než má uživatel jakoukoli možnost učinit volbu. Krok 3: Detekce consent banneru. Pomocí naší detekční knihovny pokrývající 45 známých CMP a generických heuristik skener identifikuje mechanismus souhlasu a lokalizuje tlačítko odmítnutí. Tento krok využívá vrstvený přístup: nejprve kontroluje známé podpisy CMP skriptů a jejich přidružené DOM struktury, poté se vrací ke generické detekci fixně pozicovaných elementů s textem souvisejícím se souhlasem a popisky tlačítek jako "Odmítnout vše", "Decline", "Refuse" nebo ekvivalentních překladů. Krok 4: Kliknutí na odmítnutí. Skener klikne na tlačítko odmítnutí a počká, až se stránka ustálí. "Ustálení" znamená čekání na dokončení nevyřízených síťových požadavků, zastavení DOM mutací a dokončení animací či přechodů. Používáme velkorysé časové limity, abychom se vyhnuli falešně pozitivním výsledkům u pomalých implementací CMP. Krok 5: Snímek po odmítnutí. Skener znovu zaznamená kompletní stav: všechny cookies, veškerou síťovou aktivitu, všechny domény třetích stran. Tento snímek se porovná s výchozím stavem před souhlasem, aby se zjistilo, co se změnilo. Krok 6: Opětovné načtení a kontrola respawnu. Skener znovu načte stránku a počká na její stabilizaci. Poté pořídí poslední snímek. Tento krok je zásadní: odhalí, zda je akce odmítnutí trvalá (respektovaná napříč načteními stránky), nebo zda se cookies a sledování znovu aktivují při novém načtení stránky. Pokud se cookies odstraněné v kroku 5 znovu objeví v kroku 6, jedná se o consent respawn.Každý krok vytváří důkazy s časovým razítkem: kompletní inventáře cookies s názvy, hodnotami, doménami, daty expirace a příznaky; kompletní záznamy síťových požadavků s URL, metodami, kódy odpovědí a časováním; a snímky celé stránky. Tento řetězec důkazů umožňuje ověření a napadení jakéhokoli jednotlivého zjištění.
Výsledky: 80,4 % selhání
Z 28 891 webových stránek, kde jsme úspěšně dokončili kompletní test toku odmítnutí:
- 5 650 (19,6 %) prošlo. Po kliknutí na odmítnutí byly nepodstatné cookies odstraněny, sledovací požadavky přestaly a odmítnutí přetrvalo i po opětovném načtení stránky.
- 23 241 (80,4 %) neprošlo. Sledování v nějaké formě pokračovalo poté, co uživatel výslovně klikl na odmítnutí.
Selhání nejsou jednotvárná. Spadají do odlišných kategorií, které se překrývají -- jedna stránka může vykazovat více režimů selhání současně.
Přetrvávající cookies: 10 848 stránek
Na 10 848 stránkách (37,5 % testovaných) zůstaly nepodstatné cookies v prohlížeči po dokončení toku odmítnutí. Jedná se o cookies klasifikované jako analytické, marketingové nebo sledovací, které měly být po akci odmítnutí odstraněny nebo jim mělo být zabráněno v nastavení.
Nejčastější přetrvávající cookies patří Google Analytics (`_ga`, `_gid`, `_gat`), Meta/Facebook (`_fbp`, `fr`) a různým reklamním platformám. V mnoha případech CMP úspěšně odstraní některé cookies, ale nezachytí všechny -- což naznačuje neúplnou integraci mezi platformou pro správu souhlasu a kompletním seznamem skriptů třetích stran na stránce.
Přítomnost těchto cookies po odmítnutí není pouze estetický problém. Každý z nich je trvalý identifikátor, který propojuje aktuální relaci uživatele s minulými a budoucími návštěvami. Cookie `_ga` je například jedinečný identifikátor klienta, který Google Analytics používá k vytváření longitudinálního profilu chování uživatele napříč relacemi. Pokud přetrvá po odmítnutí, prohlížení uživatele je nadále sledováno a agregováno bez ohledu na jeho vyjádřené odmítnutí.
Přetrvávající trackery: 14 547 stránek
Na 14 547 stránkách (50,3 % testovaných) zůstaly sledovací služby aktivní po odmítnutí -- což znamená, že prohlížeč pokračoval v odesílání požadavků na známé sledovací domény i po kliknutí uživatele na tlačítko odmítnutí.
Jde o odlišný režim selhání oproti přetrvávání cookies. Tracker může být aktivní bez nastavení cookie: požadavky na pixely, volání beaconů a načítání skriptů přenášejí informace (minimálně IP adresu uživatele, odkazující stránku a časové údaje) na servery třetích stran bez ohledu na to, zda je cookie uložen. Tomu se někdy říká "sledování bez cookies" a je to stále běžnější, jak prohlížeče zpřísňují omezení cookies třetích stran.
Rozdíl mezi hodnotou cookies (10 848) a hodnotou trackerů (14 547) je významný. Znamená to, že na přibližně 3 700 stránkách akce odmítnutí úspěšně vymazala cookies, ale nezabránila pokračování sledovacích požadavků. CMP zvládlo čištění cookies, ale nezablokovalo skripty, které generují sledovací provoz. To poukazuje na běžný architektonický problém: CMP je nakonfigurováno pro správu cookies (mazání při odmítnutí, prevence při načtení), ale ne pro správu spouštění skriptů.
Consent respawn: 1 642 stránek, 4 932 cookies
Consent respawn je nejznepokojivější vzorec, který jsme identifikovali. Na 1 642 webových stránkách se cookies, které byly úspěšně odstraněny akcí odmítnutí, znovu objevily po opětovném načtení stránky. Na těchto stránkách vykazovalo toto chování respawnu 4 932 jednotlivých cookies.
Consent respawn se nejedná o chybu v jednom CMP nebo jedné konfiguraci. Jde o strukturální problém ve způsobu, jakým je souhlas implementován napříč webovým stackem.
Jak se cookie vrátí po smazání. Když uživatel klikne na odmítnutí, správně nakonfigurované CMP udělá dvě věci: smaže existující nepodstatné cookies (nastavením data expirace do minulosti) a aktualizuje záznam o souhlasu (obvykle samotný cookie nebo záznam v localStorage), který říká blokovací logice CMP, aby zabránila spouštění nepodstatných skriptů při budoucích načteních stránky. Pokud obojí funguje, uživatel je čistý: žádné sledovací cookies, žádné sledovací skripty.Consent respawn nastane, když mazání uspěje, ale blokování selže. Nejčastější scénář:
1. CMP smaže cookie `_ga`, když uživatel klikne na odmítnutí.
2. CMP nastaví cookie se stavem souhlasu zaznamenávající, že uživatel odmítl analytiku.
3. Při dalším načtení stránky CMP zkontroluje svůj stav souhlasu a ví, že uživatel odmítl.
4. Ale: script tag Google Analytics je vložen přímo v šabloně stránky (mimo tag manager) nebo je načítán pravidlem tag manageru, které nekontroluje stav souhlasu.
5. GA skript se načte, nevidí žádný cookie `_ga` a vytvoří nový.
6. Rozhodnutí uživatele o odmítnutí bylo přepsáno.
Varianty tohoto vzorce zahrnují: skripty třetích stran načítané přes pevně zakódované `