Dokumentace › Google Consent Mode › Základní a pokročilý režim

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í datPř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 Skriptyzá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štypokročilý
Google Tag Manager se šablonou Cookies správně, Google tagy s volbou Require additional consent a spouštěčem consentUpdatezákladní
Google Tag Manager se šablonou Cookies správně, Google tagy bez dodatečného souhlasu se spouštěčem All Pagespokroč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

  1. Vložte kód ze záložky Implementace jako první skript do <head> každé stránky, bez async a defer. V Konfiguraci nechte Typ implementace na hodnotě Cookies správně.
  2. Odeberte Google tag (knihovnu gtag.js a její konfiguraci) z šablony webu.
  3. 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

  1. 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.
  2. 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_storage a Google Ads ad_storage, případně i ad_user_data a ad_personalization. Podle Google se takový tag spustí, jen když jsou všechny uvedené typy souhlasu ve chvíli spuštění triggeru granted.
  3. 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

  1. Vložte kód ze záložky Implementace jako první skript do <head>. Typ implementace nechte Cookies správně.
  2. 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

  1. Nasaďte šablonu Cookies správně se spouštěčem Consent Initialization – All Pages a v Konfiguraci zvolte Typ implementace Google Tag Manager.
  2. 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.
  3. 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.
  4. 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:

  1. 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.
  2. Google tagy přesuňte do záložky Skripty, nebo je v kódu webu označte type="text/plain" a data-cookiecategory, stejně jako v základním režimu výše.
  3. 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 Event consentUpdate s podmínkou na proměnnou dataLayer, například analytics_storage rovná se granted. Událost consentUpdate liš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.

Dokumentace Google k této stránce