La diffusione di strumenti di blocco pubblicità come AdBlock e blocco tracciamento come Ghostery inizia a portare problemi anche nella web analytics. Questi strumenti, soprattutto Ghostery, blocca l’esecuzione di strumenti come Google Tag Manager, Google Analytics, Google Adwords, Hotjar e tantissimi altri.
Questi blocchi possono alterare sensibilmente i dati analitici, mooooolto sensibilmente.
E se ti dicessi che esiste un #barbatrucco per tracciare comunque chi usa questi strumenti?
Tieniti pronto. Ecco la guida che ti spiega come tracciare chi usa Ghostery (qui invece trovi la guida su per tracciare chi usa AdBlock).
Attenzione: l’implementazione è molto tecnica, utilizzeremo una funzionalità legata fortemente al codice.
Step 1 – inseriamo uno script di Tracking
Visto che Google Tag Manager viene disabilitato dal plugin, e noi vogliamo tracciare chi blocca Google Tag Manager, dobbiamo forzatamente implementare il codice a mano senza usare Google Tag Manager.
Copia il codice sottostante e inseriscilo subito dopo il tag <head> della pagina:
<script type="text/javascript"> window.addEventListener('load', function() { if(window.ga && ga.create) { console.log('Google Analytics caricato'); } else { console.log('Google Analytics non caricato'); } if(window.google_tag_manager) { console.log('Google Tag Manager caricato'); } else { console.log('Google Tag Manager non caricato'); } }, false); </script>
Per sicurezza cancella la cache del browser e ricarica la pagina.
A questo punto se avete Ghostery abilitato dovreste visualizzare nella console degli sviluppatori di Chrome (F12 per attivarla o tasto destro “Ispeziona”) il messaggio di caricamento (o non caricamento) degli script.
Step 2 – Usiamo il measurement protocol
Una volta che abbiamo identificato con questo script l’effettivo blocco di Google Tag Manager o di Analytics possiamo tracciarlo in Google Analytics.
Aspetta, può sembrarti strano. Come riusciamo a tracciare in Google Analytics se viene bloccato?
La risposta è semplice: attraverso il Measurement Protocol, ovvero il mezzo alla base del funzionamento di Google Analytics.
Solitamente il sistema consiste nell’utilizzare un pixel di immagine inserendo l’URL di chiamata, ma se lo facciamo in modo diretto nel codice c’è un’alta probabilità che questo venga bloccato.
E quindi come facciamo?
La soluzione è utilizzare uno script esterno, in altre parole creare un file esterno PHP (per esempio) che contenga la chiamata attraverso il Measurement Protocol. Chiameremo questo file: collect.php.
Il crea il file e inserisci all’interno il seguente codice:
<?php
header('Content-Type: image/png');
echo base64_decode('R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs');
if(isset($_GET['tid'])) { $tid = $_GET['tid']; } else { $tid = 'UA-XXXXXX-X';}
if(isset($_GET['ec'])) { $ec = $_GET['ec']; } else { $ec = 'Bloccato';}
if(isset($_GET['ea'])) { $ea = $_GET['ea']; } else { $ea = 'Altro';}
$params = array(
'v' => 1,
'tid' => $tid,
'cid' => rand(1000000,9999999),
't' => 'event',
'ec' => $ec,
'ea' => $ea,
'ni' => '0',
'z' => rand(1000000,9999999),
);
$url = 'https://www.google-analytics.com/collect';
$content = utf8_encode(http_build_query($params));
$user_agent = '';
$ch = curl_init();
curl_setopt($ch,CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_HTTPHEADER,array('Content-type: application/x-www-form-urlencoded'));
curl_setopt($ch,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_1);
curl_setopt($ch,CURLOPT_POST, TRUE);
curl_setopt($ch,CURLOPT_POSTFIELDS, $content);
curl_exec($ch);
curl_close($ch);
?>
Salva il file e inseriscilo nella root principale del sito (ad esempio: www.esempio.it/collect.php).
Step 3 – Aggiorniamo lo script inserito precedentemente
Ora che abbiamo creato lo script che invia il tracking a GA non ci resta che chiamarlo nel caso in cui Ghostery o altri plugin blocchino effettivamente l’esecuzione.
<script type="text/javascript">
window.addEventListener('load', function()
{
var gaID = "UA-XXXXXX-X";
if(window.ga && ga.create)
{
console.log('Google Analytics caricato');
var img = document.createElement('img');
img.setAttribute('style','display:none;');
img.src = '/collect.php?tid='+gaID+'&ec=Caricato&ea=Google%20Analytics&'+ (new Date).getTime();
document.body.appendChild(img);
}
else
{
console.log('Google Analytics non caricato');
var img = document.createElement('img');
img.setAttribute('style','display:none;');
img.src = '/collect.php?tid='+gaID+'&ec=Bloccato&ea=Google%20Analytics&'+ (new Date).getTime();
document.body.appendChild(img);
}
if(window.google_tag_manager)
{
console.log('Google Tag Manager caricato');
var img = document.createElement('img');
img.setAttribute('style','display:none;');
img.src = '/collect.php?tid='+gaID+'&ec=Caricato&ea=Google%20Tag%20Manager&'+ (new Date).getTime();
document.body.appendChild(img);
}
else
{
console.log('Google Tag Manager non caricato');
var img = document.createElement('img');
img.setAttribute('style','display:none;');
img.src = '/collect.php?tid='+gaID+'&ec=Bloccato&ea=Google%20Tag%20Manager&'+ (new Date).getTime();
document.body.appendChild(img);
}
}, false);
</script>
Dovete cambiare il valore UA-XXXXXX-X della variabile {{gaID}} con il vostro codice di tracking di Google Analytics.
A questo punto dovreste trovare, sulla voce Eventi nella gestione tempo reale, la lista dei caricamenti o blocchi di GTM e GA.
Una piccola precisazione: gli eventi vengono sempre inviati ad ogni caricamento di pagina. Valuta quindi se hai la necessità di inviare questi eventi a GA.
Link utili
La guida è stata realizzata seguendo l’approccio di Marthijn Hoiting.
Altre Guide che potrebbero interessarti
- E-commerce e Digital Analytics: il 32,5% delle aziende nel…
- Come tracciare gli acquisti di un E-commerce in Google…
- Google Analytics è davvero illegale in Italia? Come stanno…
- Case study: Esprinet
- Novità Consent Mode GA4: arriva il Behavioral Modeling e il…
- Guida Base: come tracciare l'E-commerce in GA4 con Google…
Hai ancora qualche dubbio?
Chiedi pure qui sotto, sarò pronto a risponderti!
Unisciti alla più grande community italiana dedicata alla Digital Analytics!
Iscrivendoti alla newsletter gratuita di Tag Manager Italia riceverai:
- guide (base/avanzate) passo passo
- news di approfondimento
- webinar gratuiti
- offerte esclusive
e altre risorse di 1°classe sul mondo della Digital Analytics!
Articoli recenti
- Come tracciare la visualizzazione di una sezione specifica all’interno di una pagina web o landing page in GA4 con Google Tag Manager
- Come tracciare i click al link di contatto WhatsApp in Google Analytics 4 con Google Tag Manager
- Privacy in GA4: i sistemi di protezione dei dati e del consenso degli utenti a tua disposizione
- E-commerce e Digital Analytics: il 32,5% delle aziende nel settore Food non usa strumenti di tracciamento dati per aumentare i propri profitti
- Cos’è la Data Retention di GA4 e come gestirla nel modo corretto
Che Guida Cerchi?
Commenti recenti
- Matteo Zambon su Glossario: Measurement Protocol
- Matteo Zambon su Guida Base: Come Configurare i Parametri UTM in GA4 con Google Tag Manager
- Matteo Zambon su Come tracciare gli acquisti di un E-commerce in Google Analytics 4 con Google Tag Manager
- Matteo Zambon su Guida Base: installare il monitoraggio delle conversioni di Google Ads (ex Adwords) con Google Tag Manager
- Matteo Zambon su Come tracciare i click al link di contatto WhatsApp in Google Analytics 4 con Google Tag Manager
Michele
13 12 2018
Ho un dubbio per quanto riguarda Ghostery. Io l’ho installato perché mi serve vedere quali tag installano i competitor. Il problema è che blocca anche il mio Google Tag Manager. Nello specifico, non riesco ad accedere alla modalità anteprima. Me la blocca proprio.
C’è un modo per salvare capra e cavoli?
Matteo Zambon
13 12 2018
Certo ti basta mettere in whitelist il tuo sito. Lo fai direttamente da Ghostery 😉
io
22 04 2018
Voler tracciare a forza chi evidentemente non vuole esserlo, mi senbra forse illegale, sicuramente non corretto.
Ma ormai in questo mondo, la correttezza è diventato un accessorio inutile.
Matteo Zambon
22 04 2018
Ciao, allora non è illegale se l’utente ha accettato di essere tracciato e quando la GDPR sarà attiva https://dev.tagmanageritalia.it/news-emendamento-elaborazione-dati-google-analytics-gdpr/ e l’utente ha accettato cookie statistici. Ghostery è qualcosa che blocca indipendentemente dalle scelte.
Se l’utente ha scelto di non essere tracciato e lo fai, allora sì è illegale 🙂