Come bloccare gli script finché non viene dato il consenso: tre metodi a confronto
Il problema: tag che scattano troppo presto
Un banner di consenso funziona solo se i tag che ci stanno dietro rispettano la scelta del visitatore. Il fallimento più comune è semplice: il banner compare, ma gli script di analytics e pubblicità si sono già caricati e hanno impostato identificatori prima che qualcuno cliccasse. Risolvere significa bloccare gli script finché non viene dato il consenso. Ci sono tre modi pratici per farlo.
Metodo 1: riscrivere il tipo dello script
I browser eseguono un elemento script solo quando il suo tipo è un tipo JavaScript. Se cambi il tipo in text/plain, il browser ignora lo script. Poi aggiungi un attributo data che registra a quale categoria di consenso appartiene lo script:
- Cambia
type="text/javascript"intype="text/plain". - Aggiungi un attributo come
data-category="analytics". - Quando il visitatore acconsente a quella categoria, un piccolo loader ripristina il tipo e inserisce lo script in modo che venga eseguito.
Ideale per: una manciata di script noti, inline o esterni, nei tuoi template. Attenzione a: gli script iniettati da altri script, che non passano mai dai tuoi template e quindi non vengono mai riscritti.
Metodo 2: controllare i tag in un tag manager
Se i tuoi tag risiedono in Google Tag Manager o in uno strumento simile, puoi lasciare il contenitore nella pagina e controllare l’attivazione con trigger sensibili al consenso. A ogni tag viene assegnato un requisito di consenso e il tag manager lo attiva solo quando lo stato di consenso corrispondente è concesso. Il grande vantaggio è il controllo centralizzato: il marketing può aggiungere tag senza toccare i template, e la regola viaggia con il tag.
Ideale per: siti con molti tag di marketing. Attenzione a: gli script scritti direttamente nel codice fuori dal contenitore e i tag HTML personalizzati che caricano a loro volta altri script.
Metodo 3: caricare gli script dinamicamente al consenso
Qui rimuovi del tutto i tag script dalla pagina e scrivi una funzione che li inietta solo dopo un evento di consenso. È l’opzione più pulita per le single-page application e per gli sviluppatori che vogliono il controllo completo:
- Ascolta il callback di consenso della tua CMP.
- Controlla quali categorie sono state concesse.
- Crea un elemento script, imposta la sua sorgente e aggiungilo al documento.
- Esegui qualsiasi codice di inizializzazione nel gestore di caricamento dello script.
Ideale per: applicazioni moderne con una fase di build. Attenzione a: dimenticare di gestire il visitatore di ritorno, la cui scelta memorizzata deve attivare il caricamento al caricamento della pagina senza un nuovo clic.
Gestire la revoca
Bloccare prima del consenso è solo metà del lavoro. Se un visitatore revoca poi il consenso, smetti di chiamare gli strumenti e assicurati che non continuino a leggere o scrivere identificatori. Rimuovere uno script dalla pagina non elimina il codice già in memoria, quindi un ricaricamento dopo la revoca è spesso l’approccio affidabile più semplice.
Quale scegliere?
- Pochi script, template renderizzati lato server: metodo 1.
- Molti tag di marketing, modificati da non sviluppatori: metodo 2.
- Single-page app o front-end su misura: metodo 3.
- Gli ambienti misti spesso ne combinano due. Assicurati solo che nessun tag resti scoperto da tutti.
Come testarlo
- Apri una finestra privata con la cache svuotata.
- Apri gli strumenti per sviluppatori del browser sulle schede Network e Application prima di caricare la pagina.
- Carica la pagina senza toccare il banner. Verifica che non vengano inviate richieste di analytics o pubblicità e che non compaiano cookie o voci di archiviazione correlati.
- Accetta una sola categoria e verifica che si carichino solo gli script corrispondenti.
- Rifiuta tutto, ricarica e ripeti il primo controllo.
- Revoca il consenso e verifica il comportamento descritto sopra.
Dove si colloca FlexyConsent
FlexyConsent supporta IAB TCF 2.4 e Google Consent Mode v2 ed è una CMP certificata da Google (CMP ID 317). Qualunque metodo di blocco tu scelga, il compito del banner è dare al tuo codice un segnale chiaro di ciò che il visitatore ha scelto. Il tuo compito è assicurarti che ogni script lo rispetti.
Punti chiave
- Gli script che si caricano prima che il visitatore scelga vanificano lo scopo del banner.
- Riscrittura del tipo, trigger del tag manager e caricamento dinamico si adattano ciascuno a un diverso tipo di sito.
- Gli script iniettati da altri script sono la perdita più comune.
- Gestisci i visitatori di ritorno e la revoca, non solo la prima visita.
- Testa in una finestra privata pulita con gli strumenti per sviluppatori aperti prima di toccare il banner.