Jak blokovat skripty, dokud není udělen souhlas: srovnání tří metod
Problém: tagy, které se spouštějí příliš brzy
Banner souhlasu funguje, jen pokud tagy za ním respektují volbu návštěvníka. Nejčastější selhání je jednoduché: banner se zobrazí, ale analytické a reklamní skripty se už načetly a nastavily identifikátory dříve, než kdokoli cokoli klikl. Oprava znamená blokovat skripty, dokud není udělen souhlas. Existují tři praktické způsoby.
Metoda 1: přepsání typu skriptu
Prohlížeče spustí element script, jen pokud je jeho typ typem JavaScriptu. Pokud typ změníte na text/plain, prohlížeč skript ignoruje. Poté přidáte datový atribut, který zaznamená, do které kategorie souhlasu skript patří:
- Změňte
type="text/javascript"natype="text/plain". - Přidejte atribut, například
data-category="analytics". - Když návštěvník s danou kategorií souhlasí, malý loader vrátí typ zpět a vloží skript, aby se spustil.
Vhodné pro: hrstku známých inline nebo externích skriptů ve vašich šablonách. Pozor na: skripty vkládané jinými skripty, které neprocházejí vašimi šablonami, a proto se nikdy nepřepíší.
Metoda 2: hlídání tagů ve správci značek
Pokud vaše tagy žijí v Google Tag Manageru nebo podobném nástroji, můžete kontejner nechat na stránce a řídit spouštění pomocí spouštěčů vědomých souhlasu. Každý tag má přiřazený požadavek na souhlas a správce značek ho spustí, jen když je odpovídající stav souhlasu udělen. Velkou výhodou je centrální kontrola: marketing může přidávat tagy bez zásahu do šablon a pravidlo putuje s tagem.
Vhodné pro: weby s mnoha marketingovými tagy. Pozor na: napevno zapsané skripty mimo kontejner a vlastní HTML tagy, které načítají další vlastní skripty.
Metoda 3: dynamické načítání skriptů po souhlasu
Zde skriptové tagy ze stránky úplně odstraníte a napíšete funkci, která je vloží až po události souhlasu. Je to nejčistší možnost pro jednostránkové aplikace a pro vývojáře, kteří chtějí plnou kontrolu:
- Naslouchejte zpětnému volání souhlasu z vaší CMP.
- Zkontrolujte, které kategorie byly uděleny.
- Vytvořte element script, nastavte jeho zdroj a připojte ho k dokumentu.
- Spusťte inicializační kód v obsluze události load daného skriptu.
Vhodné pro: moderní aplikace s build krokem. Pozor na: opomenutí vracejícího se návštěvníka, jehož uložená volba musí spustit načítání při načtení stránky bez nového kliknutí.
Řešení odvolání souhlasu
Blokování před souhlasem je jen polovina práce. Pokud návštěvník později souhlas odvolá, přestaňte nástroje volat a zajistěte, aby dál nečetly ani nezapisovaly identifikátory. Odstranění skriptu ze stránky neodstraní kód, který už je v paměti, proto je po odvolání často nejjednodušším spolehlivým postupem opětovné načtení stránky.
Kterou metodu zvolit?
- Málo skriptů, šablony renderované na serveru: metoda 1.
- Mnoho marketingových tagů, které upravují nevývojáři: metoda 2.
- Jednostránková aplikace nebo vlastní front-end: metoda 3.
- Smíšená prostředí často kombinují dvě z nich. Jen dbejte na to, aby žádný tag nezůstal nepokrytý.
Jak to otestovat
- Otevřete soukromé okno s vymazanou mezipamětí.
- Otevřete vývojářské nástroje prohlížeče na kartách Network a Application před načtením stránky.
- Načtěte stránku a bannerem nehýbejte. Ověřte, že se neodesílají žádné analytické ani reklamní požadavky a neobjevují se žádné související cookies ani položky úložiště.
- Přijměte jen jednu kategorii a ověřte, že se načtou pouze odpovídající skripty.
- Odmítněte vše, znovu načtěte a zopakujte první kontrolu.
- Odvolejte souhlas a ověřte chování popsané výše.
Kde zapadá FlexyConsent
FlexyConsent podporuje IAB TCF 2.4 a Google Consent Mode v2 a je CMP certifikovanou společností Google (CMP ID 317). Ať zvolíte jakoukoli metodu blokování, úkolem banneru je dát vašemu kódu jasný signál, co návštěvník zvolil. Vaším úkolem je zajistit, aby se jím řídil každý skript.
Klíčové poznatky
- Skripty, které se načtou dřív, než návštěvník zvolí, mařejí smysl banneru.
- Přepis typu, spouštěče správce značek a dynamické načítání se hodí pro různé druhy webů.
- Skripty vkládané jinými skripty jsou nejčastějším únikem.
- Řešte vracející se návštěvníky a odvolání souhlasu, nejen první návštěvu.
- Testujte v čistém soukromém okně s otevřenými vývojářskými nástroji dřív, než se banneru dotknete.