Co je Consent Mode v2 a co řídí jeho čtyři parametry
Consent Mode (česky režim souhlasu) sám nic nezobrazuje a souhlas nesbírá. Je to rozhraní mezi vaší cookie lištou a značkami Googlu: lišta zjistí, co návštěvník povolil, a režim souhlasu podle toho řekne Google Analytics 4, Google Ads a dalším značkám Googlu, jestli smějí ukládat cookies a k čemu smějí data použít.
Souhlas se předává ve čtyřech parametrech. Každý má hodnotu „granted“ (povoleno) nebo „denied“ (zamítnuto). Původní verze měla jen první dva, verze 2 přidala dva parametry pro reklamu.
V praxi se parametry obvykle napojí na dvě kategorie v liště: analytické cookies řídí analytics_storage, marketingové cookies řídí zbylé tři. Kdo chce, může v liště nabídnout jemnější volbu, ale pro menší web dvě kategorie stačí a návštěvník jim rozumí.
- ad_storage: ukládání reklamních cookies a identifikátorů
- analytics_storage: ukládání analytických cookies, například pro délku návštěvy v GA4
- ad_user_data: souhlas s odesláním údajů o uživateli Googlu pro reklamní účely
- ad_personalization: souhlas s personalizovanou reklamou, tedy i s remarketingem
Proč ho Google vyžaduje a co se stane bez něj
Google má zásady souhlasu uživatelů z EU: kdo používá jeho reklamní a měřicí služby pro návštěvníky z Evropského hospodářského prostoru, musí od nich získat souhlas a předat Googlu signál, jak se rozhodli. Režim souhlasu je technická cesta, jak ten signál předat.
Na verzi 2 Google navázal konkrétní dopady. Od začátku března 2024 se do publik, která GA4 sdílí s propojenými reklamními službami, zařazují návštěvníci z EHP jen tehdy, když od nich přijde souhlas. Bez nového signálu tedy remarketingová publika z EHP přestanou růst.
Druhý dopad se týká měření. Podle dokumentace Google Ads je parametr ad_user_data potřeba pro měření konverzí značkou i pro rozšířené konverze, a personalizovanou reklamu Google povolí jen tehdy, když jsou udělené oba nové parametry, ad_user_data i ad_personalization. Při zamítnutém ad_personalization nedostává remarketing v Google Ads žádná data.
Povinnost se týká provozovatelů, kteří cílí na návštěvníky z EHP a data z webu používají v reklamě Googlu. Česká firma s Google Ads nebo s GA4 propojeným na Google Ads sem patří prakticky vždy.
Základní, nebo pokročilý režim
Google rozlišuje dva způsoby, jak režim souhlasu zapojit. Liší se tím, co Google dostane od návštěvníka, který souhlas nedal nebo zatím nerozhodl.
Základní režim
Značky Googlu se vůbec nenačtou, dokud návštěvník neklikne v liště. Pokud souhlas nedá, Google podle své dokumentace nedostane žádná data, ani informaci o tom, že návštěvník souhlas odmítl. Modelování konverzí v Google Ads pak pracuje jen s obecným modelem, ne s modelem postaveným na vašich datech.
Výhodou je jednoduchost a čistá odpověď na otázku, co odchází před souhlasem: nic. Nevýhodou je, že návštěvníci bez souhlasu jsou pro Google neviditelní.
Pokročilý režim
Značky se načtou hned s výchozím stavem „denied“. Dokud návštěvník nesouhlasí, neukládají cookies a posílají Googlu takzvané pingy bez cookies: čas, informace o prohlížeči, odkazující stránku, náhodné číslo pro dané zobrazení stránky a příznak, jestli adresa obsahovala údaj o prokliku z reklamy. Z nich Google modeluje část chybějících konverzí a návštěv.
Modelování ale potřebuje objem dat. Pro Google Ads Google orientačně uvádí zhruba 700 prokliků z reklam za 7 dní pro danou zemi a doménu, v různých částech dokumentace ale práh formuluje různě. Behaviorální modelování v GA4 vyžaduje aspoň 1 000 událostí denně se zamítnutým analytics_storage po dobu 7 dní a aspoň 1 000 uživatelů denně se souhlasem alespoň 7 dní z posledních 28. Ani po splnění prahů Google modelování nezaručuje.
Co zvolit
Menší web s malou reklamou prahy pro modelování často nesplní, takže z pokročilého režimu nic navíc nezíská, a přitom posílá Googlu údaje o návštěvě ještě před souhlasem. Jak takový přenos hodnotit z pohledu zákona, se mezi odborníky liší. Pro menší firmu je proto základní režim obvykle rozumný začátek. Pokročilý režim má smysl zvážit, až vám Google Ads v diagnostice konverzí ukazuje objem blízko prahu, a rozhodnutí je dobré konzultovat s právníkem.
Cookie lišta a český zákon: souhlas předem a rovnocenné Odmítnout
Od 1. ledna 2022 platí v Česku novela zákona o elektronických komunikacích (§ 89 odst. 3), která přešla na režim opt-in. Cookies, které nejsou nezbytné pro provoz webu, smíte ukládat jen se souhlasem návštěvníka, a to předem. Analytické a reklamní cookies mezi nezbytné nepatří. Pokud web používá jen technické cookies, lištu podle Úřadu pro ochranu osobních údajů nepotřebuje, informační povinnost ale zůstává.
Úřad pro ochranu osobních údajů k liště vydal praktické odpovědi. Odmítnutí musí být stejně jednoduché jako souhlas, proto má tlačítko pro odmítnutí být ve stejné vrstvě lišty jako tlačítko pro přijetí. Předem zaškrtnutá políčka nejsou platný souhlas. Zavření lišty není souhlas. Přístup na web nesmíte podmínit souhlasem s cookies.
Návštěvník musí vědět, že souhlas může kdykoli odvolat, a musí to umět udělat. Nejjednodušší je odkaz „Nastavení cookies“ v patičce každé stránky, který lištu znovu otevře. Správce zároveň musí umět prokázat, že souhlas dostal, a proto se vyplatí ukládat záznam o volbě: co návštěvník povolil a kdy.
Tento průvodce není právní rada. Popisuje běžné nastavení pro menší web; pokud zpracováváte citlivé údaje, předáváte data do mnoha nástrojů nebo provozujete několik propojených webů, nechte si řešení ověřit u právníka.
- Tlačítka „Přijmout vše“ a „Odmítnout vše“ vedle sebe, stejně výrazná
- Volitelně „Nastavení“ s kategoriemi, žádná předem zaškrtnutá
- Nic kromě nezbytného se nespustí, dokud návštěvník nevybere
- Odkaz pro změnu volby dostupný na každé stránce
- Záznam o volbě s datem a časem
Nastavení v Google Tag Manageru krok za krokem
Většina menších webů měří přes Google Tag Manager (GTM), a tam je i nejpřehlednější místo, kde režim souhlasu nastavit. Postup níže platí pro lištu, která se v GTM spouští jako šablona, i pro lištu, kterou máte přímo v kódu webu a která volbu předává do dataLayer. Kroky 1 a 2 jsou pro oba režimy stejné, ve třetím se základní a pokročilý režim liší.
1. Výchozí stav „denied“ dřív než cokoli jiného
Výchozí stav musí být nastavený dřív, než se spustí jakákoli značka, která cookies čte nebo zapisuje. V GTM k tomu slouží spouštěč „Consent Initialization – All Pages“, který se podle Googlu spouští před všemi ostatními, včetně inicializace. Na něj patří jen značka lišty nebo značka s výchozím souhlasem, nic jiného.
Google doporučuje nastavovat souhlas přes šablonu lišty nebo šablonu režimu souhlasu z galerie komunitních šablon, ne přes vlastní HTML značku s příkazem gtag. Pokud se lišta načítá asynchronně, přidejte k výchozímu stavu parametr wait_for_update, který značkám řekne, kolik milisekund mají počkat na volbu z lišty.
2. Aktualizace po volbě návštěvníka
Když návštěvník klikne, lišta pošle příkaz update s novými hodnotami. Použijte opravdu update, ne druhé volání default: Google upozorňuje, že nastavování všech hodnot přes default vede ke ztrátě úvodní události relace a v GA4 pak vznikají relace se zdrojem „(not set)“. Totéž platí při návratu návštěvníka: lišta má uloženou volbu přečíst a poslat ji jako update hned na začátku stránky.
Zároveň ať lišta po každé volbě, i po načtení uložené volby, vloží do dataLayer vlastní událost s tím, které kategorie jsou povolené. Na tuto událost se v GTM navážou spouštěče značek, které smějí běžet jen se souhlasem.
3. Spouštění značek Googlu podle zvoleného režimu
Pokročilý režim: Google tag pro GA4 spouštějte spouštěčem „Initialization – All Pages“, který Google pro Google tag doporučuje, protože se spustí před ostatními spouštěči. Značka se načte hned, s výchozím stavem „denied“ neukládá cookies a posílá jen pingy bez cookies, po udělení souhlasu měří naplno. Značky Googlu mají vestavěnou kontrolu souhlasu a dodatečnou kontrolu jim nepřidávejte: Google upozorňuje, že dodatečné kontroly souhlasu spolu s režimem souhlasu nefungují správně.
Základní režim: značky Googlu se nesmějí načíst, dokud návštěvník příslušný souhlas neudělí. Google tag proto nedávejte na inicializaci, ale na vlastní událost z lišty z kroku 2, kterou lišta vloží jen tehdy, když je analytický souhlas udělený. Spustí se pak hned po kliknutí na téže stránce, takže page_view odejde ihned po souhlasu, a u vracejícího se návštěvníka hned na začátku stránky. V nastavení značky nastavte, aby se na stránce spustila jen jednou (Once per page). Když návštěvník volbu na téže stránce znovu potvrdí nebo změní, lišta už jen pošle update souhlasu a druhý page_view neodejde. Události, které proběhly před souhlasem, v základním režimu nezměříte.
Pozor na nastavení „Require additional consent for tag to fire“. Značku jen zablokuje, nový spouštěč nevytvoří. Podle Googlu se zablokovaná značka nespustí ani po pozdějším udělení souhlasu, pokud souhlas nebyl udělený v okamžiku, kdy nastal její spouštěč. Samotná kontrola u značky navázané na načtení stránky tedy znamená, že při první návštěvě se značka po kliknutí v liště nespustí vůbec.
V obou režimech platí, že ostatní události GA4, třeba zobrazení zájezdu nebo produktu, mají odcházet až po Google tagu. Když se Google tag spustí později než jiná událost, GA4 ji přiřadí relaci bez úvodní události a v přehledech vidíte relace se zdrojem nebo vstupní stránkou „(not set)“.
4. Nastavení souhlasu u každé značky
Značky jiných firem režim souhlasu Googlu samy nečtou. Dejte jim spouštěč na událost z lišty, která potvrzuje udělený marketingový souhlas, aby se po souhlasu skutečně spustily. Jako pojistku jim v sekci Advanced Settings, Consent Settings můžete nastavit „Require additional consent for tag to fire“ s typem ad_storage; sama o sobě ale značku po souhlasu nespustí. V nastavení kontejneru si zapněte přehled souhlasu (Consent Overview), který ukáže, které značky souhlas nastavený nemají.
Sklik, Meta a další značky mimo Google
Režim souhlasu Googlu řídí jen značky Googlu. Ostatní nástroje mají vlastní pravidla a lišta s GTM je musí obsloužit zvlášť.
Seznam vyžaduje u retargetingového i konverzního kódu Skliku parametr consent s hodnotou 1 (souhlas) nebo 0 (bez souhlasu) a odvolává se přitom na zákon o elektronických komunikacích. S hodnotou 0 Seznam zpracuje data anonymně, bez ukládání a čtení informací v zařízení. Nové měření Seznam Event Measurement (SEM), které starší kódy nahrazuje, čte souhlas z rámce IAB TCF, pokud ho lišta podporuje, jinak přes metodu updateConsent se stejnými klíči jako Consent Mode. Výchozí stav se nastaví na začátku stránky a po volbě v liště se aktualizuje. Bez ad_storage nefungují cookies, se kterými SEM pracuje, a retargeting závisí na ad_personalization.
Meta pixel režim souhlasu Googlu nečte. Meta nabízí vlastní příkazy, kterými se odesílání z pixelu pozastaví (fbq('consent', 'revoke')) a po souhlasu povolí (fbq('consent', 'grant')). V GTM je jednodušší pixel bez souhlasu vůbec nespustit: dejte mu spouštěč na událost z lišty, která potvrzuje marketingový souhlas, a případně jako pojistku vyžadovaný souhlas ad_storage. Samotná dodatečná kontrola souhlasu nestačí, protože pixel na načtení stránky by se po kliknutí v liště už nespustil. Stejně postupujte u dalších reklamních a analytických nástrojů, například chatovacích widgetů nebo nahrávání relací, pokud ukládají netechnické cookies.
Jak ověřit, že režim souhlasu funguje
Ověření zabere pár minut a vyplatí se ho zopakovat po každé změně lišty nebo kontejneru. Testujte v anonymním okně, aby se nenačetla dřívější volba.
Náhled GTM a Tag Assistant
Spusťte náhled kontejneru (Preview) a otevřete web. V Tag Assistantu klikněte v levém sloupci na první událost Consent a zkontrolujte, že výchozí stav nastavil všechny čtyři parametry na „denied“. Potom v liště odmítněte, nebo přijměte, a u poslední události Consent ověřte, že se hodnoty změnily podle volby. Na kartě Consent u konkrétní značky vidíte sloupce s výchozím a aktualizovaným stavem. Prázdná karta Consent znamená, že režim souhlasu na stránce není.
Záložka Network v prohlížeči
Otevřete vývojářské nástroje, záložku Network, a do filtru napište „collect“. V základním režimu nesmí před kliknutím v liště odejít žádný požadavek na google-analytics.com. V pokročilém režimu požadavky odcházejí, ale v prohlížeči nevznikne cookie _ga. Po přijetí cookies se má objevit požadavek s událostí page_view a v záložce Application, Cookies cookie _ga.
Google Ads a GA4
V Google Ads otevřete v části Cíle souhrn konverzí, konkrétní konverzní akci a její kartu Diagnostika. Po zavedení tam uvidíte stav, že režim souhlasu je implementovaný, případně že je aktivní i modelování. Stav se podle Googlu zobrazí obvykle do 48 hodin, výjimečně až za dva týdny. V GA4 najdete ve Správci, v části o sběru a úpravě dat, nastavení souhlasu: ukazuje podíl návštěv z EHP a upozorní na chybějící signály.
Časté chyby
Většina problémů se opakuje. Projděte je i v případě, že lišta na první pohled funguje, protože řada z nich se projeví až v datech po několika týdnech.
- Lišta jako dekorace: zobrazí se, ale značky se spouštějí hned při načtení stránky bez ohledu na volbu. Ověříte to v záložce Network.
- Dvojí Google tag: gtag.js vložený přímo v kódu webu a zároveň Google tag v GTM. Události se pak měří dvakrát a jedna z kopií často souhlas nerespektuje.
- Meta pixel, Sklik a další značky bez nastaveného souhlasu, případně vložené napevno do šablony webu nebo pluginem mimo GTM.
- Výchozí stav nastavený pozdě, třeba spouštěčem na zobrazení stránky. Značky mezitím stihnou cookies zapsat.
- Content Security Policy webu blokuje GTM nebo adresy Googlu. Google popisuje, které domény je potřeba povolit; blokované zdroje ukáže Tag Assistant v sekci problémů stránky.
- Souhlas neplatí tam, kde ho čekáte. Cookie s volbou bez atributu Domain patří jen adrese, která ji zapsala, a subdomény ji nedostanou. Na subdoménách ji uvidíte jen tehdy, když ji lišta zapíše pro nadřazenou doménu. Rezervační systém nebo e-shop na jiné doméně ji nevidí nikdy a potřebuje vlastní lištu nebo předání volby. I tam, kde se volba přenese, musí text lišty pokrývat i služby a nástroje, které na dané adrese běží.
- Chybějící záznam o souhlasu: lišta volbu použije, ale nikde se neuloží, kdy a s čím návštěvník souhlasil.
- Odvolání souhlasu se neprojeví: návštěvník souhlas odebere, ale už uložené cookies v prohlížeči zůstanou a značky bez kontroly souhlasu dál odesílají data.
Jak se správné nastavení projeví na číslech
Po zapnutí správně nastavené lišty uvidí GA4 v základním režimu jen návštěvníky, kteří souhlasili. Počet návštěv a konverzí v GA4 proto klesne, i když se na webu nic nezměnilo. Není to chyba měření, ale jeho poctivější podoba. Kolik návštěvníků souhlasí, záleží na webu i na podobě lišty a obecné číslo neexistuje; svůj podíl zjistíte jen z vlastních dat.
Zdrojem pravdy o počtu objednávek nebo rezervací zůstává váš rezervační nebo objednávkový systém. GA4 ukazuje, kterým zdrojům návštěv připisuje objednávky ze změřené části návštěvnosti podle svého modelu atribuce. Je to užitečné vodítko pro srovnání kanálů, ne objektivní měřítko jejich přínosu. Hlídejte, aby byl podíl změřených objednávek proti systému stabilní; náhlý propad obvykle znamená technickou chybu, ne změnu chování zákazníků.
Delší cesty zákazníka změřené nebudou celé ani se souhlasem. Cookie _ga má v GA4 výchozí platnost 2 roky, prohlížeče ale životnost cookies omezují: Google uvádí maximum 400 dní pro Chrome a 7 dní pro Safari, pokud se návštěvník mezitím nevrátí. Člověk, který se vrátí po delší době, se v GA4 může objevit jako nový uživatel.
Kontrolní seznam
Než prohlásíte nastavení za hotové, projděte body níže. Každý se dá ověřit v náhledu GTM nebo v prohlížeči za pár minut.
- Lišta má „Přijmout vše“ a „Odmítnout vše“ ve stejné vrstvě a stejně výrazná, bez předem zaškrtnutých kategorií.
- Na každé stránce je odkaz, kterým jde volbu změnit nebo odvolat.
- Výchozí stav všech čtyř parametrů je „denied“ a nastavuje se spouštěčem Consent Initialization.
- Po volbě odchází příkaz update s hodnotami podle kategorií lišty, i při návratu návštěvníka.
- Google tag běží v pokročilém režimu na spouštěči Initialization, v základním na události z lišty po souhlasu; na webu není druhá kopie gtag.js.
- Meta pixel a další reklamní značky mají spouštěč na událost po souhlasu, Sklik dostává souhlas vlastním parametrem.
- V záložce Network před souhlasem neodchází nic na google-analytics.com (základní režim) a nevzniká cookie _ga.
- Po přijetí na téže stránce vznikne _ga a hned odejde page_view, bez nového načtení stránky.
- Google Ads v diagnostice konverze hlásí, že režim souhlasu je implementován.
- Volba se ukládá jako záznam s datem a časem.