Så blockerar du skript tills samtycke ges: tre metoder jämförda
Problemet: Taggar som utlöses för tidigt
En samtyckesbanner fungerar bara om taggarna bakom den respekterar besökarens val. Det vanligaste felet är enkelt: bannern visas, men analys- och annonsskript har redan laddats och satt identifierare innan någon klickat på något. Lösningen är att blockera skript tills samtycke ges. Det finns tre praktiska sätt att göra det.
Metod 1: Skriv om skripttypen
Webbläsare kör bara ett script-element när dess typ är en JavaScript-typ. Om du ändrar typen till text/plain ignorerar webbläsaren skriptet. Sedan lägger du till ett data-attribut som anger vilken samtyckeskategori skriptet tillhör:
- Ändra
type="text/javascript"tilltype="text/plain". - Lägg till ett attribut som
data-category="analytics". - När besökaren samtycker till kategorin byter en liten laddare tillbaka typen och infogar skriptet så att det körs.
Passar för: en handfull kända inline- eller externa skript i dina mallar. Se upp med: skript som injiceras av andra skript, som aldrig passerar genom dina mallar och därför aldrig skrivs om.
Metod 2: Styr taggar i en taghanterare
Om dina taggar ligger i Google Tag Manager eller ett liknande verktyg kan du låta containern ligga kvar på sidan och styra utlösningen med samtyckesmedvetna utlösare. Varje tagg får ett samtyckeskrav, och taghanteraren utlöser den bara när motsvarande samtyckesstatus är beviljad. Den stora fördelen är central kontroll: marknadsföring kan lägga till taggar utan att röra mallarna, och regeln följer med taggen.
Passar för: webbplatser med många marknadsföringstaggar. Se upp med: hårdkodade skript utanför containern och anpassade HTML-taggar som själva laddar fler skript.
Metod 3: Ladda skript dynamiskt vid samtycke
Här tar du bort script-taggarna helt från sidan och skriver en funktion som infogar dem först efter en samtyckeshändelse. Detta är det renaste alternativet för single page-applikationer och för utvecklare som vill ha full kontroll:
- Lyssna efter samtyckes-callbacken från din CMP.
- Kontrollera vilka kategorier som beviljats.
- Skapa ett script-element, ange dess källa och lägg till det i dokumentet.
- Kör eventuell initieringskod i skriptets load-hanterare.
Passar för: moderna applikationer med ett byggsteg. Se upp med: att glömma återkommande besökare, vars sparade val måste utlösa laddning vid sidladdning utan ett nytt klick.
Hantera återkallelse
Att blockera före samtycke är bara halva jobbet. Om en besökare senare återkallar sitt samtycke ska du sluta anropa verktygen och se till att de inte fortsätter läsa eller skriva identifierare. Att ta bort ett skript från sidan tar inte bort kod som redan finns i minnet, så en omladdning efter återkallelse är ofta det enklaste pålitliga tillvägagångssättet.
Vilken bör du välja?
- Få skript, servergenererade mallar: Metod 1.
- Många marknadsföringstaggar som redigeras av icke-utvecklare: Metod 2.
- Single page-app eller skräddarsydd frontend: Metod 3.
- Blandade miljöer kombinerar ofta två av dem. Se bara till att ingen tagg täcks av ingen av dem.
Så testar du det
- Öppna ett privat fönster med rensad cache.
- Öppna webbläsarens utvecklarverktyg på flikarna Nätverk och Program innan du laddar sidan.
- Ladda sidan och rör inte bannern. Bekräfta att inga analys- eller annonsbegäranden skickas och att inga relaterade cookies eller lagringsposter dyker upp.
- Acceptera bara en kategori och bekräfta att endast motsvarande skript laddas.
- Avvisa allt, ladda om och upprepa den första kontrollen.
- Återkalla samtycket och kontrollera beteendet som beskrivs ovan.
Var FlexyConsent kommer in
FlexyConsent stöder IAB TCF 2.4 och Google Consent Mode v2 och är en Google-certifierad CMP (CMP ID 317). Oavsett vilken blockeringsmetod du väljer är bannerns uppgift att ge din kod en tydlig signal om vad besökaren har valt. Din uppgift är att se till att varje skript följer den.
Viktiga slutsatser
- Skript som laddas innan besökaren har valt omintetgör bannerns syfte.
- Typomskrivning, taghanterarutlösare och dynamisk laddning passar var och en sin typ av webbplats.
- Skript som injiceras av andra skript är det vanligaste läckaget.
- Hantera återkommande besökare och återkallelse, inte bara första besöket.
- Testa i ett rent privat fönster med utvecklarverktygen öppna innan du rör bannern.