Come sottoporre ad hashing i dati PII su Google Tag Manager
Tabella dei contenuti
Perchè lo faccio?
Per prima cosa, perchè dovresti sottoporre ad hashing le informazioni di identificazione personale?
Questo procedimento dovrebbe essere fatto quando trasmetti le informazioni di identificazione personale (PII) a servizi di terze parti come Google Ads e Facebook.
Non occorre usare l’hash se si usano i tag contenuti nelle librerie di GTM, ma se si usa il tag custom HTML sì, va usato.
Queste informazioni servono soprattutto per effettuare l’advanced matching su Meta e le conversioni avanzate su Google Ads. Le conversioni avanzate e l’advanced matching sono una funzionalità che può migliorare l’accuratezza della misurazione delle conversioni e sbloccare offerte più potenti.
Come faccio?
Sono previsti tre passaggi:
- Dichiarare i dati in arrivo, cioè estrapolare per esempio un indirizzo email da un modulo contatti, come una variabile del livello dati
- Carica una libreria per l’algoritmo hash che vuoi utilizzare
- Crea una variabile JavaScript personalizzata per eseguire l’hash dei dati
Dichiarare una variabile nel dataLayer
Il tuo CMS dovrà in qualche modo far emergere i dati PII (come un indirizzo email) nell’oggetto dataLayer
. Come ciò avvenga è al di fuori dello scopo di questo articolo, ma il plugin Google Tag Manager per WordPress aggiunge l’email dell’utente loggato in una variabile del dataLayer chiamata visitorEmail
.
Una volta che i dati PII sono nel Data Layer, devono essere dichiarati in GTM:
- Vai al contenitore del tuo sito e seleziona Variabili a sinistra
- Crea una nuova variabile definita dall’utente
- Seleziona la variabile del livello dati dall’elenco dei tipi di variabili
- Per Nome variabile livello dati, immettere il nome della variabile esattamente come appare
dataLayer
nell’oggetto
Per le PII con caratteri alfabetici (come gli indirizzi e-mail), devi anche mettere la stringa in minuscolo. Mentre sei nella schermata di configurazione delle variabili:
- Aprire la sezione Formato valore
- Seleziona la casella Cambia maiuscole/minuscole in…
- Seleziona Minuscole nel menu a discesa
Carica una libreria JS per l’hash dei dati
Se utilizzi una libreria ospitata su CDN, assicurati di utilizzare una versione specifica del codice e che nella configurazione dei tag sia presente un hash SRI , per evitare che qualcuno possa manomettere il codice.
Ecco come caricare una libreria in GTM:
- Vai al contenitore del tuo sito e seleziona Tag a sinistra
- Crea un nuovo tag HTML personalizzato
- Vai allo strumento SRI Hash linkato sopra e crea un SRI Hash per la tua libreria
- Modifica l’output per utilizzarlo in un tag HTML personalizzato (vedi il secondo blocco di codice qui sotto)
Per la libreria js-sha256 ospitata da cdnjs, la versione con hash SRI è simile a questa:
<script src="https://cdnjs.cloudflare.com/ajax/libs/js-sha256/0.9.0/sha256.min.js" integrity="sha384-2epjwyVj8M4n8AweIsY7SKPSJmqBBBkmksXvkmtYORfxPS1I4NZE/+Ttk/9gCELG" crossorigin="anonymous"></script>
Per utilizzarlo in un tag HTML personalizzato, è necessario utilizzare JavaScript per costruire il tag script (per qualche motivo, GTM ritiene che quanto sopra non sia HTML valido).
Ecco come appare il risultato: nota come sono impostati gli attributi src, integritye :crossorigin
<script> (function() { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = 'https://cdnjs.cloudflare.com/ajax/libs/js-sha256/0.9.0/sha256.min.js'; script.setAttribute('integrity','sha384-2epjwyVj8M4n8AweIsY7SKPSJmqBBBkmksXvkmtYORfxPS1I4NZE/+Ttk/9gCELG'); script.setAttribute('crossorigin','anonymous'); document.getElementsByTagName('head')[0].appendChild(script); })(); </script>
Crea una variabile JavaScript personalizzata
Ultimo ma non meno importante: hash dei dati.
Quando si esegue l’hashing dei dati, è di fondamentale importanza assicurarsi che i dati sorgente siano quelli previsti prima dell’hashing. Infatti, non c’è modo di controllare dopo che sono stati sottoposti ad hashing!
Nel mio esempio di hashing di un indirizzo email nella visitorEmail, voglio eseguire alcuni test molto basilari sulla stringa per assicurarmi che sembri un indirizzo email. Nel blocco di codice qui sotto, puoi vedere il test richiamato: dovresti fare qualcosa di simile per altri tipi di dati.
Infine, imposta una variabile JavaScript personalizzata:
Vai al contenitore del tuo sito e seleziona Variabili a sinistra
Crea una nuova variabile definita dall’utente
Seleziona JavaScript personalizzato dall’elenco dei tipi di variabili
Nella casella JavaScript personalizzato, immettere quanto segue:
function() { // Test email address first function emailIsValid (email) { return /\S+@\S+\.\S+/.test(email) } // If email address is valid, hash it if (emailIsValid({{visitorEmail}})) { var hash = sha256({{visitorEmail}}); return hash; } else { return undefined; } }
Cosa fare adesso?
Questi piccoli codici vanno testati nel tuo sito per essere sicuro che funzioni tutto a dovere.
Ogni sito è diverso, potrebbero anche non funzionare o intralciare dei processi, nel tuo sito.
Se vuoi una mano a passare i dati PII sottoposti ad Hash, contattami attraverso questo modulo
Lascia un Commento
Vuoi partecipare alla discussione?Sentitevi liberi di contribuire!