Attenzione: in seguito al provvedimento del Garante Privacy italiano che ha dichiarato illecita l’implementazione di Google Universal Analytics (GA3) su un sito web, è necessario eliminare il prima possibile la proprietà di GA3 dai propri progetti web e passare subito aGA4.
Se non hai dimestichezza con GA4 e desideri imparare a padroneggiare nel modo corretto questo strumento, nel mio libro su GA4 “Google Analytics 4 per chi inizia” ti guido passo passo per imparare a utilizzarlo in maniera semplice e pratica.
–
Probabilmente avrai notato che utilizzando l’IP Anonymize su Google Analytics, improvvisamente i dati relativi ai Paesi e alle Città presenti nei report di Google Analytics hanno iniziato ad essere sballati o semplicemente meno precisi.
Bene, devi sapere che questo è proprio a causa dell’anonimizzazione dell’IP perché fisicamente Google Analytics non possiede più il dato preciso. Doh, che brutta cosa ‘sta GDPR.
“Ehi Matteo, ma che c’entra l’IP con l’identificazione della città?”
Oh, ma certo che c’entra. C’entra come la panna su una tazza di cioccolato caldo!
Premessa sul funzionamento dell’IP di navigazione
Devi sapere che grazie all’indirizzo IP è possibile risalire da dove proviene la visita. Quindi quando ti colleghi ad internet e il tuo provider di connettività (quello che ti dà l’ADSL o la fibra per capirci) ti assegna un indirizzo IP di navigazione, di solito da una “cabina” più vicina a te. Quindi, dal tuo PC o Smartphone stai comunicando a tutti che stai navigando da quell’IP che si trova in quel punto perché la “cabina” è fisicamente là.
In realtà per il mobile (brutto maledetto) l’IP continua a cambiare a seconda di dove si trova ma con una precisione non esattamente così fantastica. Io, per esempio, ora sono a Vicenza ma dal mio Smartphone sono con IP che risiede a Rho (che non sta in un’altra regione).
La soluzione potrebbe essere la richiesta di usare la geolocalizzazione dei browser (che ti restituisce la latitudine e longitudine), ma ci vuole l’autorizzazione da parte dell’utente (hai presente il messaggio in alto sulla barra che ti chiede “il sito vorrebbe sapere dove ti trovi”? Ecco, quella roba lì).
Se per il tuo business il riconoscimento della località è un punto fondamentale allora puoi stare tranquillo, perché in questa guida ti spiegherò come recuperare la città attraverso un servizio esterno.
Piccolo appunto: questa guida ha preso spunto dall’articolo di Simo Ahava (trovi il link in fondo). Sia chiaro non ho copiato, ma creato un’alternativa 😉
Step 1 – Registrati sul servizio di ipgeolocation.io
La prima cosa da fare è creare un account sul servizio di ipgeolocation.io
Il servizio è disponibile con diversi tipologie di abbonamento, che differiscono tra loro per il limite di chiamate a disposizione. In base al traffico totale del tuo sito potrai scegliere quello che si adatta meglio alle tue esigenze. La versione base “Developer” gratuita ha un limite di 1000 chiamate al giorno, anche se il suo utilizzo dichiarato è “per fini non commerciali”.
Crea in pochi minuti il tuo account per ottenere la tua API KEY con cui poter fare le richieste da Google Tag Manager.
Una volta che avrai concluso la registrazione, all’interno del tuo profilo avrai la chiave che ti è stata assegnata.
Step 2 – Imposta la variabile contenente la key
Accedi al contenitore di Google Tag Manager dove vuoi implementare questa guida.
Per prima cosa crea una variabile che conterrà la tua API KEY.
Sezione Variabili > Definite dall’utente > Nuova
Tipo: Costante
Valore: incolla l’API KEY
Salva con il nome IP Geolocation Key
Step 3 – Crea il tag Html personalizzato
Incolla il seguente script in un nuovo tag. Puoi personalizzarlo in base alle tue esigenze seguendo la documentazione.
Sezione Tag > Nuovo > HTML Personalizzato
Copia questo script all’interno
<script>
//by Tag Manager Italia
var getJSON = function(url, callback) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'json';
xhr.onload = function() {
var status = xhr.status;
if (status == 200) {
callback(null, xhr.response);
} else {
callback(status);
}
};
xhr.send();
};
//If you want other parameters refer to the documentation: https://ipgeolocation.io/documentation/ip-geolocation-api.html
//In this case we request only the City parameter
getJSON('https://api.ipgeolocation.io/ipgeo?apiKey={{IP Geolocation Key}}&fields=city', function(err, data) {
if (err != null) {
console.error(err);
} else {
var dlName = google_tag_manager[{{Container ID}}].dataLayer.name;
window[dlName] = window[dlName] || [];
//In the dataLayer push add the values you need
window[dlName].push({
'event': 'geolocation.get',
'geolocation.ip': data.ip,
'geolocation.city': data.city
})
}
});
</script>
Imposta come attivatore “Tutte la pagine” oppure solo per le pagine che ti interessano
Salva con il nome “Script – IP Geolocation API“
C’è anche una libreria JavaScript a disposizione, ma con una semplice chiamata GET otteniamo lo stesso risultato, meglio no? Ok, forse la capisce solo un tecnico ‘sta cosa 😛
Ciao, premettendo che ho inserito l’ip anonimyzed, adesso ho bisogno di creare un grafico con i dati demografici sulla località(paese e città). Avrei utilizzato il dato che è già presente in analytics pero da come ho capito inserendo l’ip anonimyzed i dati demografici già presenti sono sballati. Ho fatto tutto quello che mi diceva la guida, ho creato il html personalizzato con l’attivatore e la sua variabile. Avendo poi creato la variabile di livello di dati, poi mi dici che posso usare questa variabile per inviare la città a Google Analytics, attraverso una Dimensione Personalizzata o tramite un evento, ma come si fa? Riesco comunque a creare un grafico tipo quello che prendevo direttamente da analytics?
Matteo Zambon
09 04 2020
Ciao Umverto, per la dimensione personalizzata, ecco lo step 2 di questa guida. Mettilo però scope (ambito in italiano) di tipo hit.
Umberto Giors
07 04 2020
Ciao, premettendo che ho inserito l’ip anonimyzed, adesso ho bisogno di creare un grafico con i dati demografici sulla località(paese e città). Avrei utilizzato il dato che è già presente in analytics pero da come ho capito inserendo l’ip anonimyzed i dati demografici già presenti sono sballati. Ho fatto tutto quello che mi diceva la guida, ho creato il html personalizzato con l’attivatore e la sua variabile. Avendo poi creato la variabile di livello di dati, poi mi dici che posso usare questa variabile per inviare la città a Google Analytics, attraverso una Dimensione Personalizzata o tramite un evento, ma come si fa? Riesco comunque a creare un grafico tipo quello che prendevo direttamente da analytics?
Matteo Zambon
09 04 2020
Ciao Umverto, per la dimensione personalizzata, ecco lo step 2 di questa guida. Mettilo però scope (ambito in italiano) di tipo hit.
https://dev.tagmanageritalia.it/come-abilitare-lo-user-id-in-universal-analytics-con-google-tag-manager/
Se vuoi il report stile mappa devi usare un data studio usando la dimensione personalizzata 🙂
A presto!