Close

Jak nastavit Google Consent Mode

1. 2. 2024

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.

Výběr úrovně souhlasu v cookies liště

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.

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.

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.

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

  1. Při prvním příchodu na web se zobrazí cookies lišta a vykoná se default příkaz s hodnotami denied.
  2. 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.
  3. 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

  1. Při prvním příchodu na web se zobrazí cookies lišta a vykoná se default příkaz s hodnotami denied.
  2. 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í.
  3. 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

  1. Při prvním příchodu na web se zobrazí cookies lišta a vykoná se default příkaz s hodnotami denied.
  2. 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.
  3. 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

  1. 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.
  2. 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.
  3. 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.