Jak nastavit Google Consent Mode
Google Consent Mode je způsob, jak měřícím kódům od Googlu předat informaci o uděleném souhlasu v cookies liště. S jeho pomocí se tak měřící značky pro Google Ads či Google Analytics 4 dozví, v jakém režimu mohou měřit a zpracovávat data a zda mohou v prohlížeči návštěvníka ukládat cookies.
Implementace Google Consent Mode je nezbytným předpokladem pro správnou funkci cookieless měření v GA4 či Google Ads.
Jeho příkazy umí číst i Google Tag Manager a dle nich pak při správném nastavení řídit i spouštění ostatních značek nejen od Googlu.
Jeho obdobou je consent proměnné v Sklik měřících kódech.
Princip fungování
Samotný Google Consent Mode žádné měření nespouští ani nevyvolává cookies lištu, která se návštěvníkovi zobrazuje. Je pouze komunikačním prostředkem mezi cookies lištou a měřícími kódy.
Příkazy Google Consent Modu vyvolává buď přímo zdrojový kód webu, nebo cookies lišta.
Google Consent Mode využívá proměnné zvané storage k rozlišení jednotlivých úrovní souhlasu. Nejčastěji se v oblasti online marketingu setkáš s těmito, byť jich existuje více.
- analytics_storage = souhlas s analytickými cookies
- ad_storage = souhlas s marketingovými cookies
- ad_user_data = souhlas s využitím first-party dat
- ad_personalization = souhlas s personalizací reklamy a remarketingem
Tyto jednotlivé storages nabývají hodnot denied, pokud souhlas nemáme a granted pro souhlas udělený.
Pokud tak například na tomto blogu v nastavení cookies lišty zaškrtnu, že s analytickými cookies souhlasím, ale s marketingovými ne, nastaví se analytics_storage na granted a ad_storage na denied.
A podle hodnot v jednotlivých storages se pak řídí spouštění měřících značek. Například měření pro Google Ads se spustí jen v případě, že ad_storage je granted.
Příkazy default a update
Google Consent Mode se skládá ze dvou základních částí. Z příkazů default a update.
Default consent
Příkaz default slouží k úvodnímu nastavení souhlasů při každém načtení stránky. Kód vypadá takto.
1 2 3 4 5 6 7 8 9 10 11 |
<script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('consent', 'default', { 'ad_storage': 'denied', 'analytics_storage': 'denied', 'ad_user_data': 'denied', 'ad_personalization': 'denied' }); </script> |
V jednotlivých storage proměnných jsou hodnoty denied nebo granted dle toho, zda již návštěvník souhlas s touto třídou cookies udělil. Denied znamená odmítnutí, granted udělení souhlasu.
Důležité je, aby tento kód a nastavení storage proměnných proběhlo ještě před načtením Google Tag Manageru resp. měřících značek. Aby v okamžiku spuštění značek už bylo možné stavy číst. Pokud to nejde, tak i to jde řešit. Ozvi se mi.
Update consent
Příkaz update se spouští v momentě, kdy uživatel změní úroveň souhlasu. To může být při prvním vyjádření se v liště či později když chce souhlas změnit.
V takovém případě se spouští tento kód.
1 2 3 4 5 6 7 8 |
<script> gtag('consent', 'update', { 'ad_storage': 'granted', 'analytics_storage': 'granted', 'ad_user_data': 'granted', 'ad_personalization': 'granted' }); </script> |
U příkazu update je vhodné ještě doplnit dataLayer event update_consent. Ten pak bude sloužit ke spouštění neGooglích značek v GTM.
Výsledný kód při vyjádření se v liště tak bude vypadat.
1 2 3 4 5 6 7 8 9 10 11 |
<script> gtag('consent', 'update', { 'ad_storage': 'granted', 'analytics_storage': 'granted', 'ad_user_data': 'granted', 'ad_personalization': 'granted' }); window.dataLayer.push({ event: "update_consent" }); </script> |
Příklad
Správně nasazený Google Consent Mode bude fungovat takto. Pro jednoduchost bereme do úvahy práci jen s proměnnými ad_storage a analytics_storage.
Příchod na web a udělení souhlasu
- Při prvním příchodu na web se zobrazí cookies lišta a vykoná se default příkaz s hodnotami denied.
- Následně návštěvník v liště udělí souhlas se všemi cookies. V ten okamžik se vykoná update příkaz s hodnotami granted.
- Návštěvník pak přejde na jinou stránku webu. Tam se vykoná default příkaz s hodnotami granted. Stejně tak i na každé další stránce webu.
Příchod na web a odmítnutí souhlasu
- Při prvním příchodu na web se zobrazí cookies lišta a vykoná se default příkaz s hodnotami denied.
- Následně návštěvník v liště odmítne souhlas se všemi cookies. Stav se nezměnil, update příkaz se tedy nespouští.
- Návštěvník pak přejde na jinou stránku webu. Tam se vykoná default příkaz s hodnotami denied. Stejně tak i na každé další stránce webu.
Příchod na web a povolení jen některých cookies
- Při prvním příchodu na web se zobrazí cookies lišta a vykoná se default příkaz s hodnotami denied.
- Následně návštěvník v liště udělí souhlas jen s analytickými cookies. V ten okamžik se vykoná update příkaz s hodnotou granted pro analytics_storage a hodnotou denied pro ad_storage.
- Návštěvník pak přejde na jinou stránku webu. Vykoná se default příkaz s hodnotou granted pro analytics_storage a hodnotou denied pro ad_storage.
Návrat na web a změna souhlasu
- Návštěvník se vrací na web a minule udělil souhlas se všemi cookies. Cookies lišta se tak nezobrazuje a vykoná se default příkaz s hodnotami granted.
- Následně návštěvník kliká na možnost upravit souhlas a odmítá jej. V ten okamžik se vykoná update příkaz s hodnotami denied.
- Návštěvník pak přejde na jinou stránku webu a tam se vykoná default příkaz s hodnotami denied.
Co je potřeba ohlídat
V implementaci Google Consent Mode vídám často chyby. Ty pak způsobují, že celé měření nefunguje či nefunguje správně. Proto si raději ohlídej, že:
- Default příkaz je ještě před kódem GTM či Google značek.
- Update příkaz se spouští i při pozdější změně souhlasu uživatelem.
- GTM je donastavený, aby Google Consent Mode respektoval a využíval.
- Cookies lišta neblokuje žádné měřící skripty ani GTM.
- Při udělení či změně souhlasu nedochází ke znovunačtení stránky. Jinak se ztratí informace o zdroji návštěvy.
Pro kontrolu správné funkce cookies lišty ti poslouží tento návod Kontrola fungování cookies lišty.
Způsob implementace
Většina pokročilejších cookies lišt jako např. Cookies-Script či Cookiebot podporuje Google Consent Mode a tak jej jen stačí v nastavení lišty aktivovat.
U vlastních či open-source řešení pak nebývá tak těžké jej s pomocí programátora dodělat.
Kdy Google Consent Mode použít
Google Consent Mode má smysl implementovat, pokud se chystáš využít možnosti cookieless měření do Googlích nástrojů.
Vyplatí se ale též i při nové implementaci měření. Pro zkušeného analytika není tak těžké jej rozchodit a řízení spouštění měření v GTM je pak díky němu jednoduché.
Pokud s Google Consent Mode bojuješ či jej chceš na svůj web, nestyď se mě kontaktovat.