Cookie consent – nejčastější chyby a jak se jich vyvarovat!

Dominik Jirotka   22. 12. 2023


Odvětví webové analytiky zažívá v poslední době turbulentní časy. Začalo to Obecným nařízením o ochraně osobních údajů (GDPR), změnou v přístupu ke cookies, vyžadujícím aktivní souhlas (tzv. opt‑in), či koncem mnohými oblíbeného nástroje Universal Analytics a nuceným přechodem na Google Analytics 4 (GA4).

Všechny tyto změny mohou poplést hlavu i zkušeným analytikům a marketérům. Ti si teď nemusí být jisti, jak pracovat s consentem ve svých nástrojích tak, aby neporušovali zákon a zároveň se dostali k všem námi oblíbeným datům. Pokud v oblasti consentu jenom trochu váháte, nepřestávejte číst, protože si ukážeme nejčastější chyby, kterých se dopouští nejen začátečníci v oboru.

Vše je o cookie lištách

Od roku 2022 nastaly velké změny v oblasti cookie lišt a ve sbírání dat od návštěvníků naší stránky. Před rokem 2022 byl tento proces poměrně jednoduchý, protože jsme od uživatele museli dostat výslovný nesouhlas se sbíráním jejich dat (tzv. opt‑out), bez něhož jsme mohli data sbírat. Nyní už potřebujeme výslovný souhlas (opt‑in), jinak data sbírat nemůžeme. Pokud vás tyto změny úplně minuly, přečtěte si článek od Adama, který je pro vás shrnul. Text je průběžně aktualizován.

V souvislosti s cookie lištami by se na tomto místě hodilo zmínit nepěkný fenomén, kterého se dopouští někteří provozovatelé webových stránek. Tím je Potěmkinova cookie lišta – je úplně jedno, zda uživatel dá souhlas, či ne, protože tato lišta je tam pouze na oko a data se sbírají tak jako tak.

💡 Název odkazuje k ruskému politikovi Grigoriji Alexandroviči Potěmkinovi, který nechal postavit podél Dněpru kulisy malebných vesnic, aby ukázal Kateřině II. Veliké a jejímu doprovodu, že je Krym bohatá a vzkvétající oblast. Samozřejmě to byla lež a za kulisami se skrývala bída. Podobné je to i v případě těchto lišt, které při návštěvě stránky na uživatele sice vyskočí, ale reálně nic nedělají.

Popsaná praktika se dá ale velmi snadno a rychle odhalit, podobně jako další problémy se špatně nastavenou cookie lištou či s tagy, které sbírají data, i když k tomu nemají od návštěvníka souhlas. Věnujte proto tomuto kroku velkou pozornost, protože Úřad pro ochranu osobních údajů (ÚOOÚ) již začal rozdávat první pokuty, přičemž nejvyšší se vyšplhala téměř k milionu českých korun. Odhalené nedostatky se řešily převážně upozorněním, po jehož nerespektování mohla přijít subjektu pokuta. Úřad nyní posílá pokuty automaticky, rovněž automaticky kontroluje to, jaké cookies subjekt využívá a jestli na to má od uživatele souhlas.

Skoro vše se dá nastavit v GTM

S pomocí GTM nastavujeme většinu věcí, které chceme na webu měřit. Kromě zadávání konverzních kódů či upravování parametrů jednotlivých eventů máme samozřejmě možnost určit tagům, za jakých podmínek se mohou spustit. V kontextu consentu nás nyní zajímá právě Consent Settings, který se nachází ve spodní části samotného tagu. Toto nastavení může mít dvě podoby v závislosti na tom, zda daný tag podporuje Consent Mode či ne (viz níže).

Tag s Built-In Consent Checks

 

Tag bez Built-In Consent Checks

 

Pokud tag nepodporuje Consent Mode (těch je většina), je nutné nastavit consent ručně přes Require additional consent. Pokud však Consent Modem disponuje, další nastavování není nutné, pokud si nechceme vynutit zákaz Consent Modu.

Jak vlastně funguje Consent Mode?

Když máme od uživatele souhlas, tak měříme. Když ho nemáme, neměříme. To ovšem neplatí pro Consent mode u Google nástrojů (GA4, GAds, Floodlight). Tyto nástroje totiž měří, i když uživatel neudělí souhlas, a to konkrétně přes tzv. cookieless pings. K tomu co a za jakých podmínek se měří, poslouží následující tabulka:

Zdroj: Mesurelab

Data získaná tímto způsobem využívají nástroje především k modelování. K tomu musíme mít Reporting identity nastavené na Blended. Sami se k těmto datům můžeme dostat např. přes Big Query, nicméně musíme počítat s jejich nekompletností viz tabulka výše. Pokud z nějakého důvodu nechceme tato data sbírat, můžeme tag omezit přes nastavení vlastního consentu, čímž přepíšeme nativní používání Consent Mode a tag bude sbírat data pouze v případě, že získá všechny souhlasy.

Vynucení consentů a omezení Consent Mode

Consent update je náš kámoš

Oklikou přes GTM se dostáváme zpět ke cookie lištám, protože musíme zajistit, aby lišta spolupracovala s GTM a zaregistrovala consenty, které byly (či nebyly) uděleny. Pro zajištění této funkčnosti potřebujeme CMP (Consent management platform) - např. Cookiebot, který zajistí bezproblémové propojení cookie lišty s GTM, uchování hodnot souhlasů či zaznamenání jejich aktualizace (povolení nebo zamítnutí). CMP si můžeme představit jako řídící jednotku, propojující uživatelský vstup (přijetí či odmítnutí cookies) s prostředím GTM. Tagům pak CMP povoluje, či zamítá jejich žádosti o spouštění.

V souvislosti se změnou souhlasů je důležité zmínit consent update, což je event, který by měl při správném fungování CMP vyskakovat pokaždé, když dojde ke změně souhlasů ze strany uživatele. Na tento event poté navazujeme znovuspuštění tagů, abychom mohli měřit interakce hned na první stránce. Není přitom nutné spouštět update u všech tagů. Některé dokáží změnu consentu poznat samy a znovu se spustit. U GA4 je to dokonce na škodu, protože si dokáží akce bez consentu spojit s akcemi po udělení souhlasu - aplikace consent update by nám tedy zdvojila posílané eventy. Je proto důležité věnovat pozornost správnému nastavení, aby se eventy neposílaly víckrát, než chceme.

Správné nastavení by mělo fungovat tak, že návštěvník přijde na stránku, v té chvíli se příchod zaregistruje do GTM a nastaví se consent na default. Jakmile návštěvník odsouhlasí některé z cookies na liště, GTM tuto akci zaregistruje a spustí event consent update, čímž řekne tagům, že nastala změna v consentu. Tagy si následně ověří, zda se mohou, či nemohou spustit. Návštěvník stránky však může kdykoliv svůj souhlas odvolat či jinak upravit. Pokud tuto akci provede, musí se nám opět spustit consent update a tagy si tak musí ověřit, jak se po této změně mají chovat.

Příklad správného chování consent update v prostředí GTM

Správně fungující consent update je krásná a potřebná věc, nicméně tuto funkčnost musíme nějak zajistit. Toho docílíme skrze správně fungující GTM. Možností navázání tagů na CMP máme více – opět se nabízí řešení skrze předpřipravenou šablonu nebo vlastní custom řešení. Každé má své výhody a nevýhody.

Nejrozšířenější a nejvíce používané jsou služby třetích stran. Po povinném zavedení cookie lišt a přechodu na opt‑in se těchto možností vyskytlo poměrně dost. Mezi nejznámější patří např. Cookiebot či Cookie Script, poskytující komplexní řešení správy consentů. Práce s nimi je poměrně intuitivní a uživatelsky přívětivá. Za jejich používání se ale platí (zadarmo fungují pouze v malé a velmi omezené míře). Další nevýhodou těchto nástrojů je nízká míra customizace.

Chyby při řešení consentu a co to může znamenat pro sběr dat

Jak už jsem několikrát zmínil, správné nastavení consentu je klíč k úspěchu. Chceme sbírat co nejvíce pro nás relevantních dat a zároveň to chceme dělat legálně. Níže si proto představíme několik chyb, kterých se můžeme při nastavování dopustit.

Potěmkinova lišta aneb sbíráme všechno

Koncept Potěmkinovy lišty jsme vysvětlili v úvodu. Ve zkratce se dá říct, že si s nějakým consentem nelámeme hlavu a sbíráme všechna data, i když nám třeba uživatel nedal souhlas, což se nedozvíme, protože naše cookie lišta jednoduše nefunguje. Tento postup rozhodně nedoporučujeme. Jde přímo proti legislativě a soukromí návštěvníků našich stránek, což může mít velký dopad na celý váš byznys - finanční (pokuty od příslušných orgánů) či reputační.

Může se však stát, že máte na webu Potěmkinovu lištu omylem, např. když ji špatně propojíte s prostředím GTM, a ona tak nezapisuje udělené consenty (nebo je zapisuje špatně).

Consent update, který neupdatuje

Co se stane, když consent update funguje špatně? Ve většině případů nastane situace, kdy uživatel po příchodu na stránku nějakým způsobem interaguje s cookie lištou. Ať už nám dá, či nedá souhlas, my tuto informaci uložíme, ale nedáme vědět tagům, že došlo ke změně. Informaci tak tagy zaregistrují většinou až při načtení nové stránky. V tu chvíli by se měl (při správně fungujícím CMP) načíst nový consent, který už bude obsahovat upravené souhlasy, na základě nichž se vše znovu spustí.

Znovu se dostáváme k tomu, že je consent update důležitý. Našim cílem je sesbírat co nejvíce relevantních dat, což chceme dělat co nejdříve po tom, kdy uživatel udělil souhlas. Návštěvníkovo chování na první stránce (landing page) je velmi cenné. Pokud fungují GA4 tagy v Consent Mode, nemusíme se tím trápit, ale u dalších vendorů je absence consent update velký problém. Chceme mít co nejpřesnější a kompletní data.

Pomoc, nespouští se mi tagy

Důvodů k nespuštění tagů či jejich spouštění v místech, kde se spouštět nemají, může být mnoho. Kromě výše zmíněného consent update může být problém ve špatném nastavení triggerů nebo v přiřazení souhlasů k tagům.

Kontrolu consentů můžeme provést několika způsoby. Rozklikneme si tag, se kterým máme problém, a zkontrolujeme, jaký consent u něj máme nastavený. Existuje ale mnohem efektivnější metoda a tou je Consent Overview, což je funkce v GTM, která nám pomůže se spravováním souhlasů. Díky ní vidíme všechny tagy a jejich nastavení na jednom místě. Kromě samotné informace o consentech můžeme díky Consent Overview upravovat souhlasy hromadně, což nám při velkém množství nástrojů může ušetřit spoustu času. Rovněž tím docílíme toho, že bude nastavení jednotné.

Consent u tagu funguje jako druhá vrstva triggeru – nespustí se, když k tomu nemá povolení. Těchto podmínek ke spouštění nechceme dávat příliš mnoho, protože pak by se mohlo stát, že se nám nespustí nikdy. Je například zbytečné dávat jako podmínku spuštění ad_storage (reklamní cookies), když od uživatelů nesbíráme žádná data spojená s reklamou, nebo naopak přidávat analytics_storage, když je nástroj pouze reklamní a nemá analytické možnosti.

Jeden tag za druhým – na pořadí záleží

Čím více máme tagů, tím více se musíme věnovat jejich správě. Správně nastavovat chování, aby se vzájemně neblokovaly či se nespouštěly dvakrát. Často nastává situace, kdy jich je více navázaných na jeden event (událost v rámci GTM), v rámci něhož se jich tak spustí třeba i více jak deset. Pro tuto správu není vůbec na škodu vypsat si schéma toho, co, kdy a jak se nám spouští. Pomůže nám to k lepšímu pochopení našeho vlastního systému a k odhalení případných chyb.

V souvislosti s consenty má sekvencování rovněž své místo. Může třeba nastat situace, kdy tagy spustíme společně se změnou consentu, což může zapříčinit to, že se nám nenačte aktualizovaný souhlas. Příkladem může být navázání jejich spouštění při kliknutí na cookie lištu. Toto kliknutí v ideálním případě aktualizuje udělené consenty a spustí consent update, na základě čehož se nám tagy spustí. Pokud však spouštění navážeme na samotné odsouhlasení, tagy se nám mohou spustit dříve, než GTM zaregistruje informaci o změně consentů. Výsledkem bude, že se pokusí o spuštění, zjistí ale, že stále nemají souhlas, a následně se nespustí.

Pomalá cookie lišta (nebo rychlý web?)

Ve své podstatě není cookie lišta nic jiného, než část kódu (snippet), který umístíme do zdrojového kódu stránky. Právě toto umístění má na fungování lišty velký vliv. Zpravidla by měl být snippet umístěn na úplném začátku stránky, aby se nám nestalo, že budeme mít téměř načtený web, ale lišta se nám nebude zobrazovat. Pokud umístíme kód lišty až na konec celého zdrojového kódu, může se nám lišta načíst klidně až za vyšší jednotky sekund.

Při pomalém načtení lišty může nastat situace, kdy návštěvník přijde na stránku a provede další krok dříve, než ho budeme moci konfrontovat s potřebou udělení souhlasu. Přijdeme tak o cenná data z landing page. A co hůř, zákazníkův pohyb na webu může být tak rychlý, že jeho přítomnost nedokážeme sledovat ani na dalších stránkách. V datech se nám pak tito lidé mohou propisovat různě - například začneme měření v polovině nákupního procesu, případně uvidíme konverzní událost, ke které ale nebudeme mít kontext atd.

Pomalá cookie lišta způsobuje systematické problémy a dělá nám nepořádek v datech, která jsou už mnohdy tak zkreslená určitou neúplností měření.

Závěr

Oblast consentů je jako chůze po tenkém ledě – stačí jeden špatný krok a může to mít katastrofální dopad na naše data. Věnujte tedy správnému nastavení velkou pozornost. Opravdu doporučuji si vypsat všechny tagy, zjistit, s jakými consenty pracují, jak je nastavené jejich spouštění a v neposlední řadě zkoušet a experimentovat. Každý web je jedinečný, každý byznys má své vlastní priority a dle toho bude i nastavení sběru dat pokaždé jiné. V prvé řadě se ujistěte, že máte správně nastavenou cookie lištu, která svým vzhledem a chováním neporušuje legislativu. Potvrďte si, že lišta správně funguje (odesílá správná data do GTM). To je první krok k úspěchu, zbytek už je jen pečlivé a promyšlené nastavování v GTM.