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:

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:

  1. Ascolta il callback di consenso della tua CMP.
  2. Controlla quali categorie sono state concesse.
  3. Crea un elemento script, imposta la sua sorgente e aggiungilo al documento.
  4. 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?

Come testarlo

  1. Apri una finestra privata con la cache svuotata.
  2. Apri gli strumenti per sviluppatori del browser sulle schede Network e Application prima di caricare la pagina.
  3. 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.
  4. Accetta una sola categoria e verifica che si carichino solo gli script corrispondenti.
  5. Rifiuta tutto, ricarica e ripeti il primo controllo.
  6. 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

← Blog Leggi tutto →