Quante volte ti sei ritrovato con un aumento incredibile delle visite su Google Analytics per poi scoprire che eri tu mentre stavi modificando l’header del sito?
Ovviamente questo problema è meno fastidioso in dei siti che generano alto traffico, ma cosa mi dici dei test di acquisto? O di eventi che vengono attivati con frequenza minore e che vorresti testare?
Oggi vediamo come nascondere qualsiasi indirizzo IP dinamico di un utente con un trucco super semplice e che richiederà meno di 5 minuti per implementarlo.
Questa guida ti aiuterà ad ottenere dei dati “puliti” non solo su GA4, ma su qualsiasi altro strumento di tracciamento come Hotjar, Pixel di Facebook e tanto altro.
Il tutto sfrutta un semplice cookie che viene attivato una volta inviato l’URL con l’aggiunta di una query string speciale. Tranquillo, a breve capirai tutto!
Creare lo script che attiva il cookie
Per prima cosa abbiamo bisogno di creare lo script che ci permetterà di creare il cookie. Crea una cartella proprio sotto la directory del nome del tuo tema (se utilizzi WordPress) e chiamala “js”, dopodiché crea al suo interno il file “scripts.js”.
Ottimo, ora inseriamo all’interno del file appena creato il seguente codice JavaScript:
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
} else {
var expires = "";
}
document.cookie = name+"="+value+expires+";SameSite=None;Secure; path=/; domain="+window.location.hostname+";";
}
Così facendo hai creato la funzione che ci permetterà di creare il cookie, ma dobbiamo ancora aggiungere questo codice nel frontend del nostro sito.
Per farlo entra nel file functions.php, sotto la cartella del tuo tema, e inserisci alla fine del file questa funzione:
if ( ! function_exists( 'mf_styles_scripts' ) ) {
function mf_styles_scripts() {
wp_enqueue_script( 'scripts', get_template_directory_uri() . '/js/scripts.js', array (), '1.1.1', true);
}
}
add_action('wp_enqueue_scripts', 'mf_styles_scripts');
Utilizzando “true” nell’ultimo parametro della wp_enqueue_script aggiungeremo il file prima della chiusura del tag . Questo farà si di non appesantire troppo il sito (specialmente se vuoi aggiungere altro nel file JavaScript creato precedentemente).
Se i programmi di tracciamento continuano a funzionare prova ad impostare “false” nell’ultimo parametro. Questo farà partire il codice all’interno del tag e dovrebbe partire prima degli altri script di tracciamento inseriti. Se il problema persiste consulta la mia guida su come installare Google Tag Manager.
Creare lo script che controlla la query string nell’URL
Adesso non ci resta altro da fare che dire al cookie quando deve partire. Per semplicità di utilizzo vogliamo che parta quando nell’URL viene riportata una determinata query string.
La query string solitamente contiene un parametro e un valore che vengono passati alla pagina in questione. Ad esempio nell’URL https://matteofeduzi.it/?nome=Matteo la query string sarebbe “nome=Matteo”.
Ecco il codice completo aggiornato che dovremmo avere nel file scripts.js:
// Funzione che crea il cookie
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
} else {
var expires = "";
}
document.cookie = name+"="+value+expires+";SameSite=None;Secure; path=/; domain="+window.location.hostname+";";
}
// Controlla i parametri in URL
const params = new Proxy(new URLSearchParams(window.location.search), {
get: (searchParams, prop) => searchParams.get(prop),
});
// Prende il valore del parametro "nohit" in URL
var no_hit_track = params.nohit;
// Se il parametro "nohit" è uguale a 1 viene chiamata la funzione per creare il cookie
if(no_hit_track == '1'){
createCookie("NoHitTrack","1",365);
}
Ora ogni volta che eseguiamo la seguente query string verrà installato il cookie NoHitTrack.
https://nomedominio.it/?nohit=1
Escludere dal tracciamento gli utenti con il cookie
Siamo giunti all’ultimo step. Adesso ti consiglio di procedere con Google Tag Manager per rendere il lavoro molto più semplice.
Consiglio di utilizzare Google Tag Manager a prescindere da questa operazione, vedrai che mi ringrazierai! 😉
Inserisci nella sezione Tag tutti i tuoi script di tracciamento, poi recati nella sezione Variabili > Variabili definite dall’utente > Nuova e crea la variabile NoHitTrack proprio come mostrato qui sotto.
Adesso vai nella sezione Attivatori e crea l’attivatore NoHitTrack e impostalo come di seguito.
Infine ritorna nella sezione tag e seleziona il tag che vuoi bloccare quando si raggiungere il sito dalla query string.
Testiamo il blocco degli script di tracciamento
Per finire non possiamo esimerci dal controllare che tutto funzioni perfettamente. Su Google Tag Manager seleziona il bottone Anteprima e inserisci l’URL della pagina su cui vuoi testare il funzionamento.
Una volta aperta la seguente schermata verifica che il tuo tag sia su Tags Not Fired, se si trova qui vuol dire che non è partito e che tutto funziona alla perfezione!
Conclusioni
In questa guida abbiamo visto come bloccare il tracciamento di qualsiasi indirizzo IP dinamico per qualsiasi strumento di tracciamento.
Il concetto come dicevo all’inizio della guida è applicabile per GA4, ma anche per tutti gli script di tracciamento che vuoi.
Hai avuto dei problemi? Scrivimi nei commenti e risponderò entro 1 giorno lavorativo, sarei più che lieto di aiutarti! 😉
Lascia un commento
Ciao, io non ho ancora capito se Google Analytics sia vietato o meno in Italia. Ho letto diversi articoli contrastanti (fra cui uno di wired)
Ciao Gianni, il mio consiglio è quello di abbandonare il prima possibile Universal Analytics e passare a Google Analytics 4! 😉