Základní a pokročilý režim Consent Mode
Google rozlišuje dva způsoby, jak Consent Mode implementovat. Liší se tím, jestli se Google tagy načtou ještě před souhlasem návštěvníka. S Cookies správně nastavíte oba, při přímém vložení skriptu do webu i v Google Tag Manageru.
Rozdíl podle Google
Srovnání vychází z dokumentace Google Consent mode overview:
| Základní režim (basic) | Pokročilý režim (advanced) | |
|---|---|---|
| Načítání tagů | Blokované, dokud uživatel nezareaguje na cookie lištu. | Načtou se s výchozím stavem denied, pokud nenastavíte jiný. |
| Odesílání dat | Před souhlasem se neodesílají žádná data, ani výchozí stav souhlasu. | Při zamítnutém souhlasu se odesílá stav souhlasu a měření bez cookies. |
| Modelování konverzí | Obecný model (méně podrobné modelování). | Model pro konkrétního inzerenta (podrobnější modelování). |
Google k základnímu režimu dodává, že když uživatel souhlas neudělí, nepřenesou se do Googlu vůbec žádná data, ani stav souhlasu. V pokročilém režimu se Google tagy načtou hned, jakmile uživatel otevře web.
Který režim zvolíte, je na vás. Google odkazuje na interní pravidla vaší firmy.
Který způsob nasazení odpovídá kterému režimu
| Nasazení | Režim |
|---|---|
| Skript v kódu webu, Google tagy v záložce Skripty | základní |
Skript v kódu webu, Google tagy označené type="text/plain" | základní |
| Skript v kódu webu, Google tag (gtag.js) vložený běžně pod skriptem lišty | pokročilý |
Google Tag Manager se šablonou Cookies správně, Google tagy s volbou Require additional consent a spouštěčem consentUpdate | základní |
| Google Tag Manager se šablonou Cookies správně, Google tagy bez dodatečného souhlasu se spouštěčem All Pages | pokročilý |
V obou režimech nechte přepínač Odesílat signály Google Consent Mode zapnutý. V základním režimu lišta pošle aktualizaci souhlasu dřív, než Google tag uvolní, takže tag hned po souhlasu pracuje se správným stavem.
Základní režim při přímém vložení skriptu
- Vložte kód ze záložky Implementace jako první skript do
<head>každé stránky, bezasyncadefer. V Konfiguraci nechte Typ implementace na hodnotě Cookies správně. - Odeberte Google tag (knihovnu gtag.js a její konfiguraci) z šablony webu.
- Vložte ho do záložky Skripty: analytiku, třeba GA4, do Analytických, reklamní tagy Google Ads do Marketingových. Nebo ho nechte v kódu webu a označte ho kategorií:
<script type="text/plain" data-cookiecategory="analytics"
src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script>
<script type="text/plain" data-cookiecategory="analytics">
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-XXXXXXX');
</script>Lišta takový skript spustí, až návštěvník povolí danou kategorii, a to vždy až po odeslání aktualizace souhlasu. Skripty spouští v pořadí, v jakém jsou na stránce, a skript s src se načte dřív, než přijde na řadu další. Podrobnosti najdete v návodu Metoda text/plain.
Základní režim v Google Tag Manageru
- Nasaďte šablonu Cookies správně podle návodu Google Tag Manager, se spouštěčem Consent Initialization – All Pages. V Konfiguraci licence zvolte Typ implementace Google Tag Manager.
- U každého Google tagu otevřete Consent Settings, zvolte Require additional consent for tag to fire a doplňte typy souhlasu, které tag potřebuje. Typicky GA4
analytics_storagea Google Adsad_storage, případně iad_user_dataaad_personalization. Podle Google se takový tag spustí, jen když jsou všechny uvedené typy souhlasu ve chvíli spuštění triggerugranted. - Spouštěč tagu změňte z All Pages na Custom Event s názvem události
consentUpdate(Triggers → New → Custom Event). Lišta tuto událost pošle po volbě návštěvníka a na každé stránce znovu vracejícímu se návštěvníkovi, takže se tag spustí jednou, a to až ve chvíli, kdy souhlas existuje.
Proč ne All Pages: ten se spustí jen při načtení stránky. Novému návštěvníkovi je v tu chvíli souhlas ještě denied, tag s dodatečnou kontrolou se tedy nespustí a po kliknutí v liště už ho nic znovu nespustí.
Pokročilý režim při přímém vložení skriptu
- Vložte kód ze záložky Implementace jako první skript do
<head>. Typ implementace nechte Cookies správně. - Pod něj vložte Google tag přesně tak, jak ho dává Google. Bez
type="text/plain"a mimo záložku Skripty:
<script src="https://cookies-spravne.cz/static/cc_v2?key=VAS_LICENCNI_KLIC"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-XXXXXXX');
</script>Google tag se načte hned. Dokud návštěvník nerozhodne, pracuje s výchozím stavem denied, a jakmile rozhodne, dostane od lišty aktualizaci. Skripty jiných firem, které Consent Mode neznají, dál blokujte záložkou Skripty nebo atributem type="text/plain".
Pokročilý režim v Google Tag Manageru
- Nasaďte šablonu Cookies správně se spouštěčem Consent Initialization – All Pages a v Konfiguraci zvolte Typ implementace Google Tag Manager.
- Google tagy mají vestavěné kontroly souhlasu. Podle Google obsahují logiku, která mění jejich chování podle stavu souhlasu. Nastavte jim v Consent Settings volbu No additional consent required a nechte jim spouštěč All Pages.
- Odstraňte blokování, které jste Google tagům dřív nastavili: výjimky (exception triggers) a podmínky triggerů podle souhlasu. Google k tomu má návod Unblock Google tags when using consent mode.
- Tagům jiných firem (Meta, Sklik, LinkedIn, vlastní HTML) nastavte Require additional consent a spouštěč Custom Event
consentUpdate, stejně jako v základním režimu.
Přehled nastavení souhlasu u všech tagů dává Consent Overview. Zapnete ho v Admin → Container Settings → Additional Settings a najdete ho pak v sekci Tags.
Vypnutí Consent Mode a návrat k blokování tagů
Když Consent Mode používat nechcete, vypněte signály a Google tagy do souhlasu blokujte jako jakýkoli jiný skript:
- V Konfiguraci licence vypněte Odesílat signály Google Consent Mode a klikněte na Uložit konfiguraci. Aby se změna na webu projevila hned, použijte Obnovit mezipaměť widgetu. Lišta pak nenastaví výchozí stav a neposílá aktualizace.
- Google tagy přesuňte do záložky Skripty, nebo je v kódu webu označte
type="text/plain"adata-cookiecategory, stejně jako v základním režimu výše. - Když používáte Google Tag Manager, nenasazujte lištu šablonou, protože ta výchozí stav nastavuje vždy. Vložte kód lišty přímo do
<head>a tagy v GTM spouštějte spouštěčem Custom EventconsentUpdates podmínkou na proměnnou dataLayer, napříkladanalytics_storagerovná segranted. UdálostconsentUpdatelišta posílá i s vypnutými signály.
Na záložce Implementace pak box Google Consent Mode ukáže Signály Consent Mode jsou pro tento web vypnuté. Zapnout je můžete kdykoli stejným přepínačem.