Introduzione. Cos’è la Consent Mode?
Più di un anno fa Google ha annunciato la Consent Mode, ovvero la soluzione al delicato problema della gestione dei cookies in conformità alle nuove norme GDPR sul consenso.
In poche parole, ogni utente che atterra su un sito deve poter esprimere la propria volontà sul salvataggio dei cookies non tecnici (pubblicitari e di tracciamento) sul proprio dispositivo.
Il ruolo del banner di consenso diventa quindi fondamentale per bloccare o permettere il salvataggio dei cookies in base alle preferenze dell’utente.
Il problema…
Il mancato salvataggio dei cookies porta ad un problema non indifferente, ovvero il blocco dei tag di tracciamento di (che siano Google, Facebook, Pinterest o quant’altro).
Bloccando il tag preventivamente si rischia di non riuscire a raccogliere correttamente i dati, così facendo rischierai di avere una visione falsata del percorso che i tuoi utenti compiono sul tuo sito.
Immagina aver speso tempo e denaro per sviluppare un e-commerce e non sapere esattamente se e come convertono i tuoi clienti.
…e la soluzione
Google ha quindi trovato una via d’uscita piuttosto ingegnosa dato che grazie alla Consent Mode si riusciranno a tracciare le conversioni e le azioni sul sito anche di coloro che non hanno fornito il consenso.
Con la Consent Mode attiva Google riceve l’istruzione di attivare i tag e di non salvare i cookies per l’utente attivo.
La furbizia di questo metodo risiede proprio nella riga appena letta, infatti i tag vengono attivati comunque e non vengono salvati i cookies rendendo il tuo sito perfettamente in linea con le norme GDPR. Con i tag attivi Google riesce a tracciare, in modo anonimo, le conversioni presenti sul sito evitandoti il fastidio di perdere dei dati preziosi.
L’implementazione
Configurare la Consent Mode è piuttosto semplice e consiste in tre passaggi fondamentali:
- Installazione dello script di consenso e blocco dei cookies
- Installazione e collegamento del banner di consenso allo script precedente
- Aggiornamento dello stato di consenso in base alle preferenze impostate sul banner
1.Installa lo script del consenso
Questo script va inserito prima di ogni altro script, quindi prima di Tag Manager (o Analytics) e prima del banner dei cookies.
//Inizializzazione del dataLayer e definizione della funzione gtag
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
//Aggiorna questi parametri in base alle tue esigenze
gtag('set', 'url_passthrough', true);
gtag('set', 'ads_data_redaction', true);
//Impostazione del comando default
gtag('consent', 'default', {
'ad_storage': 'denied',
'analytics_storage': 'denied',
'wait_for_update': 500
});
Il comando più importante di questo script è 'consent', 'default'
dato che è l’istruzione che Google si aspetta per capire se bloccare o meno i cookies mentre attende la scelta dell’utente.
Per installare questo script puoi utilizzare Tag Manager o inserirlo manualmente nella sezione <head>
del tuo sito.
Qualora volessi procedere con Tag Manager, utilizza queste impostazioni:
Crea un Tag HTML personalizzatoIncolla lo script. Ricorda di inserirlo tra i tag HTML<script>...</script>
Utilizza l’attivatore Consent Initialization – All Pages
Utilizza il template di Simo Ahava per implementare i comandi default
e update
.
Sconsiglio di usare un tag HTML personalizzato per impostare i comandi della modalità di consenso in quanto, come spiegato nell’articolo sul dataLayer e nell’articolo sull’HTML personalizzato, questo tipo di tag inserirebbe lo script nel <body> del documento.
Il template di Simo Ahava invece fa leva sulle API di Google e garantisce che i comandi vengano eseguiti il prima possibile.
I valori 'ad_storage'
e'analytics_storage'
indicano rispettivamente la possibilità di salvare i cookies pubblicitari e di analisi, il loro comportamento cambia in base all’istruzione fornita: denied
o granted
.
Nel nostro caso avendo impostato i parametri di'ad_storage'
e'analytics_storage'
sudenied
i cookies non verranno salvati.
I parametri url_passthrough
e ads_data_redaction
forniscono ulteriori istruzioni su cosa fare in caso ad_storage
rimanga su denied
.
URL Passthrough
Quando ad_storage
è impostato su denied
, i tag di Google non salveranno le informazioni dell’annuncio cliccato in un cookie di prima parte. Per migliorare la qualità della misurazione dei clic sugli annunci in questo caso, le informazioni mancanti verranno passate tramite l’URL se url_passthrough
è impostato su true
Quando utilizzi il passthrough URL, verranno aggiunti ai link sul tuo sito web alcuni parametri :
- gclid
- dclid
- gclsrc
- _gl
Per ottenere i migliori risultati, assicurati che:
- I reindirizzamenti sul tuo sito passano tutti i parametri di query sopra indicati.
- I tuoi strumenti di analisi ignorano questi parametri negli URL delle pagine.
- Questi parametri non interferiscono con il comportamento del tuo sito.
Per attivare questa opzione in Tag Manager crea un tag Linker Conversioni e spunta la casella Attiva il collegamento in tutti gli URL delle pagine:
Ads Data Redaction
Anche se i cookies pubblicitari non verranno salvati i dati inviati a Google continueranno a includere l’URL completo della pagina e le informazioni sui clic sugli annunci nei parametri URL.
Per oscurare ulteriormente i dati degli annunci quando ad_storage
viene negato, imposta ads_data_redaction
su true
.
2.Installa il banner per il consenso
Per questo passaggio hai la possibilità di scegliere tra due strade, l’installazione di un banner compatibile con la Modalità di Consenso o la creazione e l’implementazione di un banner tuo.
La prima strada è ovviamente la più semplice in quanto basterà installare uno dei seguenti banner dopo lo script al punto 1. (o in Tag Manager) e il gioco è fatto.
Il banner aggiornerà automaticamente lo stato del consenso non appena quest’ultimo sarà stato fornito dall’utente.
Di fatto il punto .3 di questa guida è integrato nel banner.
Implementazione con Iubenda
Implementazione con Cookiebot
Se decidessi di usare Tag Manager, copia queste impostazioni:
Crea un Tag HTML personalizzatoIncolla lo script del banner (in questo esempio ho usato Iubenda)Inserisci come attivatore Initialization – All Pages
Utilizza i modelli presenti in Tag Manager per i CMP disponibili
Per quanto riguarda Iubenda consiglio di implementare il codice direttamente nel sito, sotto Tag Manager.
Come accennato in questo paragrafo sconsiglio l’utilizzo di un tag HTML personalizzato.
Invece, nell’eventualità avessi la possibilità di creare un banner per conto tuo puoi seguire il codice che ho pubblicato su GitHub, presso questo repository.
In breve, in quel codice di esempio chiedo di eseguire un controllo dell’esistenza di un cookie, se questo cookie non è presente (sinonimo che l’utente non ha mai visitato la pagina) allora va inviato il comando gtag('consent', 'default')
che imposta tutti i valori per ads e analytics storage su denied
.
Dopo il clic sul pulsante di accettazione viene chiamata la funzione consentGranted()
che aggiorna lo status dei parametri di storage inviando il comando gtag('consent', 'update')
.
Ricorda che il consenso deve essere granulare quindi l’utente deve poter scegliere se accettare anche uno solo dei due storage; ad esempio se non accettasse i cookies di analisi dovresti aggiornare i parametri come segue:
gtag('consent', 'update', {
'ad_storage': 'granted',
'analytics_storage':'denied'
});
Infine, le preferenze dell’utente devono rimanere salvate per la prossima visita.
3.Aggiorna lo script del consenso
Questo passaggio è l’ultimo e di fatto il più semplice.
Dopo che l’utente ha espresso le proprie preferenze viene inviato dal banner il comandogtag('consent', 'update'
che come avrai intuito aggiorna lo status dei parametri impostandoli, in caso di assenso, su granted
.
Il codice sottostante indica che l’utente ha acconsentito sia ai cookies pubblicitari che di analisi.
gtag('consent', 'update', {
'ad_storage': 'granted',
'analytics_storage':'granted'
});
Come impostare gli attivatori in Tag Manager
Se avrai eseguito quanto appena letto non avrai bisogno di fare alcuna modifica ai tuoi attivatori in Tag Manager in quanto quest’ultimo ha dei controlli per il consenso integrati e rimarrà in attesa del comando 'consent', 'update'
.
Ad esempio il tag di Analytics potrà avere l’attivatore All pages e non salverà alcun cookie finché l’utente non avrà fornito il consenso.
Test e risoluzione dei problemi
Per capire se ho implementato correttamente la Consent Mode eseguo sempre un paio di test.
Cerco il parametro gcs
di Analytics nelle richieste di rete e/o in Tag Assistant
In primis l’esistenza di questo parametro suggerisce che la Consent Mode è stata impostata correttamente e i suoi valori ci dicono qual è lo stato del consenso.
- G100: La modalità di consenso è stata impostata e Ads e Analytics storage sono impostati su
denied
- G110: Sono stati accettati i cookeis di marketing e non di analisi
- G111: Sono stati accettati i cookies di marketing e di analisi
- G101: Sono stati accettati i cookies di analisi e non di marketing
L’altro test che eseguo è guardare dentro il dataLayer
per vedere se sono presenti i parametri del consenso.
Per controllare basta aprire la console JavaScript del tuo browser e digitare dataLayer
, dovresti vedere una schermata simile a questa:
Se non dovessi trovare il parametro gcs
e non vedere dati nel dataLayer
allora dovrai ricontrollare l’implementazione del codice di default e assicurarti che sia stato inserito prima di tutti gli altri script (banner e Tag Manager).
Per maggiori informazioni o per prenotare la tua consulenza, rimaniamo in contatto![contact-form-7 id=”373″ title=”Paolo” html_id=”Paolo”]