Jak nastavit Consent Mode v2 v GTM s Cookiebotem nebo vlastní cookie lištou
Consent Mode v2 můžete v GTM nastavit dvěma hlavními cestami. První je přes CMP, která má hotovou GTM šablonu nebo nativní integraci.
Krátká odpověď
Consent Mode v2 můžete v GTM nastavit dvěma hlavními cestami. První je přes CMP, která má hotovou GTM šablonu nebo nativní integraci. Druhá je přes vlastní cookie lištu, kde si sami přečtete uloženou volbu uživatele a přes consent tagy pošlete default a update stavy.
V obou variantách platí stejné minimum: default consent state musí běžet na Consent Initialization - All Pages, update musí proběhnout hned po interakci s lištou, Google tagy musí mít jasně zvolený režim chování a non-Google tagy musí mít dodatečný consent requirement.
Nastavení nekončí publikací GTM kontejneru. Musíte otestovat nový uživatelský stav, accept all, reject all, částečné preference, uloženou volbu na další stránce, první page_view, konverzní event, redirecty s click ID a tagy třetích stran.
Varianta A: Consent Mode v2 přes CMP / Cookiebot
Pokud používáte CMP s hotovou integrací pro Google Consent Mode v2, implementace je rychlejší, ale pořád ji musíte auditovat. Nejde jen o vložení jednoho tagu. Musíte vědět, co přesně CMP nastavuje jako default, kdy posílá update, jestli zapíná Google Consent Mode v2, jestli podporuje regionální pravidla a jak pracuje s non-Google tagy.
V GTM má CMP tag běžet na Consent Initialization - All Pages. To je speciální trigger určený pro tagy, které nastavují nebo aktualizují consent state. Nepoužívejte pro něj obyčejné All Pages a nespouštějte běžné měřicí tagy na Consent Initialization.
- Vytvořte nebo vložte CMP tag v GTM. Použijte oficiální nebo ověřenou GTM šablonu CMP, pokud je k dispozici.
- Trigger nastavte na Consent Initialization - All Pages. CMP musí doběhnout před běžnými tagy.
- Zapněte podporu Google Consent Mode v2. Hlídejte všechny čtyři hlavní parametry: ad_storage, analytics_storage, ad_user_data, ad_personalization.
- Nastavte výchozí stavy. Pro evropské uživatele nepředpokládejte automaticky granted pro marketing ani analytiku bez právního posouzení.
- Zvažte URL passthrough. Použijte ho, pokud potřebujete zachovat Google click/session informace při denied storage a web ho technicky zvládne.
- Zvažte ads_data_redaction. Použijte podle privacy požadavků, zejména pokud ad_storage = denied.
- Zapněte Consent Overview. V GTM Admin > Container Settings aktivujte přehled souhlasů a projděte všechny tagy.
- Nastavte tagy. Google tagy podle zvoleného basic/advanced režimu; non-Google tagy explicitně přes additional consent checks.
- Otestujte uložený souhlas. Smažte cookie/localStorage, přijměte, odmítněte, přejděte na druhou stránku a sledujte časovou osu v Tag Assistantu.
Varianta B: Consent Mode v2 s vlastní cookie lištou
Vlastní cookie lišta není problém, pokud umíte technicky přesně říct tři věci: kam ukládá rozhodnutí, jak vypadá hodnota pro jednotlivé kategorie a kdy se hodnota změní po kliknutí uživatele.
Nejdřív tedy neděláte GTM tagy, ale průzkum. Otevřete web, smažete stávající cookies/localStorage, kliknete na přijmout vše, odmítnout vše a vlastní nastavení. V DevTools v části Application sledujete, která cookie nebo localStorage položka se změnila. Zapíšete si přesný název a přesné hodnoty.
- Najděte úložiště souhlasu. V Chrome DevTools > Application hledejte Cookies a Local Storage. Názvy bývají cookie_consent, CookieConsent, consent_settings apod.
- Zapište hodnoty. Například marketing:true, analytics:false nebo JSON s kategoriemi.
- V GTM vytvořte proměnnou pro čtení hodnoty. Pokud je to cookie, použijte 1st Party Cookie variable. Pokud localStorage, použijte Custom JavaScript variable.
- Přeložte hodnotu na granted/denied. Použijte RegEx Table nebo Custom JavaScript. Výstup musí být přesně granted nebo denied.
- Vytvořte consent default tag. Spouštěč Consent Initialization - All Pages. Default hodnoty podle právní/regionální strategie.
- Vytvořte consent update tag. Načte proměnné a pošle update. Ideálně při inicializaci pro uloženou volbu a na custom event po kliknutí uživatele.
- Po kliknutí na lištu pošlete vlastní dataLayer event. Například cookie_consent_update, aby GTM věděl, že má přepočítat consent a pustit další tagy.
- Otestujte na stejnou stránku. Update musí přijít na stránce, kde uživatel klikl, ne až po reloadu nebo přechodu.
Příklad čtení localStorage v GTM
function() {
try {
return window.localStorage.getItem('cookie_consent') || '';
} catch (e) {
return '';
}
}Příklad překladu hodnoty přes RegEx Table
Vstupní proměnná může vracet text, například analytics:true;marketing:false. RegEx Table pak přeloží konkrétní část na granted nebo denied. U regulárních výrazů si hlídejte, zda nemáte zapnuté full matches only, pokud pracujete jen s částí delšího textu.
Default tag vs Update tag
V GTM se často plete default a update. Default není „souhlas uživatele“. Default je stav, který platí před rozhodnutím nebo dokud ho nepřečtete. Update je reálná volba uživatele nebo uložená volba z minulosti.
Pokud použijete vlastní šablonu nebo komunitní consent template, držte se GTM Consent APIs. Google u vlastních GTM šablon doporučuje používat Tag Manager-specific API pro správu consent states. Přímé gtag consent příkazy se mohou ve frontě zpracovat později, než čekáte.
Jak poslat vlastní event po kliknutí na lištu
Vlastní lišta by po uložení rozhodnutí měla poslat do dataLayer jasný event. GTM na něj může navázat consent update, explicitní page_view a spuštění dalších tagů, které čekaly na rozhodnutí.
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'cookie_consent_update',
consent_analytics: true,
consent_marketing: false
});Tento event nesmí přijít před uložením preference. Jinak GTM přečte starou hodnotu. Pořadí má být: uživatel klikne, lišta uloží volbu, lišta pošle dataLayer event, GTM pošle consent update, poté se spustí navázané měření.
Testovací protokol po publikaci
Implementace Consent Mode bez testovacího protokolu není hotová. Nestačí otevřít web a podívat se, že lišta vyskočila. Musíte simulovat několik stavů a v Tag Assistantu vidět správný sled událostí.
- Nový návštěvník. Smazat cookies/localStorage. Zkontrolovat, že první consent default je denied/granted podle strategie a že vznikl před měřením.
- Accept all. Kliknout na přijmout vše. V Tag Assistantu ověřit update na granted pro relevantní typy.
- Reject all. Kliknout na odmítnout vše. Ověřit, že non-Google marketing tagy neběží a Google tagy se chovají podle zvoleného režimu.
- Částečné preference. Povolit analytiku, odmítnout marketing. Ověřit, že GA4 a reklamní pixely respektují rozdíl.
- Druhá stránka. Přejít na další stránku a ověřit, že uložený consent state je nastaven hned, ne až po dalším kliknutí.
- Konverze. Odeslat formulář, nákup nebo jiný event a ověřit, že event neběží ve špatném consent stavu.
- URL parametry. Přijít na URL s gclid, wbraid, fbclid, li_fat_id a UTM. Ověřit, že je web nebo CMP nemaže dřív, než s nimi můžete správně pracovat.
- Změna rozhodnutí. Kliknout na odkaz v patičce, změnit preference a ověřit nový update.
- Embeds. Ověřit, že YouTube/Instagram/mapy nejsou načtené před příslušným souhlasem.
- Rychlost. Změřit, jestli CMP nebo lišta výrazně nezpomaluje LCP/INP a první interakci.
Co hledat v Tag Assistantu
- Earliest Consent event. Nejdříve musí být vidět default consent state.
- Čtyři hlavní parametry. ad_storage, analytics_storage, ad_user_data a ad_personalization musí být nastavené.
- Consent tab u tagů. Ověřte, že Google tagy čtou správný stav a non-Google tagy mají required consent.
- Pořadí událostí. Default před Google tagem, update po kliknutí, page_view a konverze až podle strategie.
- Chování po odmítnutí. Meta/TikTok/LinkedIn nesmí běžet, pokud k tomu nemáte příslušný souhlas.
- Chování po změně. Když uživatel změní preference, musí vzniknout nový update, ne jen vizuální změna lišty.
Kdy raději použít CMP a kdy vlastní lištu
Pro jeden menší web s jasným tag planem může vlastní lišta a ruční Consent Mode nastavení fungovat dobře. Musíte ale vědět, kdo bude udržovat cookie policy, kdo přidá nové tagy do správné kategorie a kdo jednou za čas zkontroluje, že žádný skript neběží mimo GTM.
CMP dává větší smysl ve chvíli, kdy máte více jazyků, více domén, více webových týmů, právní požadavky na detailní consent logy nebo často přidáváte nové marketingové nástroje. I v takovém případě ale CMP nevynechává technický audit. Jen přesouvá část správy do specializovaného nástroje.
FAQ
Časté otázky
Další článek
dataLayer e-commerce měření
Jak správně navrhnout dataLayer pro e-commerce měření v GA4, Google Ads a Meta Ads
Dobrý dataLayer není seznam náhodných proměnných v GTM. Je to dohoda mezi webem, analytikou, reklamními systémy a vývojem.
Hledáte někoho, kdo to vezme za vás?
Chcete nastavit Consent Mode v2 tak, aby nebyl jen „zelený v diagnostice“, ale opravdu dával správné signály tagům? Připravíme implementační plán pro GTM, cookie lištu, page_view, non-Google pixely a testovací scénáře.