[AGGIORNATO 01 Agosto 2022]
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 a GA4.
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.
Ok, ti ho spiegato come recuperare comunque l’indirizzo IP grazie a Google Tag Manager nonostante l’anonymize, ma resta il fatto che su Google Analytics non avrai più il dato preciso (e ti ricordo che secondo le TOS di GA non è possibile salvare dati sensibili).
“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 😛
Step 4 – Verifica il funzionamento
Dai che ci siamo quasi. Verifica che tutto funzioni con il debugger di Google Tag Manager.
Se funziona tutto, guardando il contenuto del dataLayer, dovresti avere l’evento geolocation.get con il dato della città da dove stai lavorando.
Step 5 – Crea la variabile di livello dati
Se tutto funziona, crea una variabile con Tag Manager.
- Sezione Variabili > Definite dall’utente > Nuova
- Tipo: Variabile di Livello Dati
- Nome variabile livello dati: geolocation.city
- Salvala con il nome “dlv – geolocation.city“
Con questa variabile potrai, ad esempio:
- inviare la città a Google Analytics, attraverso una Dimensione Personalizzata
- inviare il dato con un evento a Google Analytics
- mostrare un popup personalizzato in base alla città
- eventualmente, precompilare i campi di residenza e/o spedizione all’interno di un form
E tu come stai pensando di implementare questa guida? Fammelo sapere nei commenti!
LINK UTILI
- https://www.simoahava.com/analytics/fetch-ip-geolocation-data-using-google-tag-manager/
- https://ipgeolocation.io/
- https://ipgeolocation.io/documentation.html
Altre Guide che potrebbero interessarti
- Google Analytics è davvero illegale in Italia? Come stanno…
- Google Analytics e GDPR: tutte le novità dal nostro faccia a…
- Cos'è Google Analytics 4? Perché dovresti usarlo? Consigli e…
- Addio Google Universal Analytics: ecco quando smetterà di…
- Polimeni.legal e Tag Manager Italia insieme per informare e…
- Cosa fare con la mail di Federico Leva? È necessario…
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!
- Attribuzioni errate in GA4: cause e soluzioni al problema
- Come creare una Dashboard Ecommerce per analizzare i dati degli acquisti Nuovi e di Ritorno
- Caso studio: Greenpeace ottimizza la User Experience, il tasso di conversione e il ROI del suo sito web, landing page e campagne advertising grazie al Server-Side tracking e alla Consent Mode
- Consent Mode v2 e calo dei dati delle audience e del traffico in Google Ads: cause e soluzioni
- Data Leak Google: Chrome e le implicazioni per la Privacy e la Digital Analytics
- Matteo Zambon su Guida Base: come tracciare i click al link Phone (telefono) in GA4 con Google Tag Manager
- Matteo Zambon su Come gestire la Consent Mode v2 con Iubenda e Google Tag Manager
- Matteo Zambon su Come installare Google Analytics 4 (GA4) con Google Tag Manager
- Matteo Zambon su Glossario: Google Tag Assistant
- Matteo Zambon su Guida Avanzata: come configurare Conversion API di Facebook con l’integrazione nativa per Google Tag Manager
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://www.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!