[Aggiornata 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.
In fondo a questo articolo troverai il link alla guida su come tracciare lo User ID di Hotjar in GA4 🙂
–
Fammi indovinare, stai già usando Hotjar e vorresti spingere l’integrazione con Google Analytics.
Come possiamo fare?
Ovviamente devi aver già configurato Hotjar con Google Tag Manager e avere a disposizione almeno una dimensione personalizzata.
Devi sapere che, come per molti tool di web analytics, Hotjar utilizza un cookie per capire se sei un utente nuovo o di ritorno. Dentro alle statistiche di Hotjar è presente un valore “univoco” per utente derivato proprio da quel cookie. Ecco un esempio:
Quindi se riuscissimo ad utilizzare quel cookie e importalo su Google Analytics potremmo utilizzare la potenza di fuoco di GA.
La bella notizia è che è possibile farlo.
L’ottima notizia è che te la sto per spiegare passo passo.
STEP 1 – CREIAMO UNA VARIABILE JAVASCRIPT PERSONALIZZATA
Update: Hotjar ha cambiato ancora e ora bisogna aspettare qualche secondo per avere l’informazione necessaria
Estrapoliamo il valore completo del cookie attraverso la libreria JS di Hotjar, che “splittiamo”, recuperando la porzione di valore che ci interessa.
- Variabili > Nuova > Configurazione variabile.
- Tipo di variabile: Javascript personalizzato.
- Inserisci questo codice Javascript:
function() { var hotjarUserId = hj.globals.get("userId").split("-"); if(hotjarUserId[0] != undefined) { return hotjarUserId[0]; } else { return 0; } }
- Nome della Variabile: “Hotjar – User Id”.
STEP 2 – CREA LA DIMENSIONE PERSONALIZZATA
Ora non ci resta che salvare questo dato su Google Analytics su una dimensione personalizzata:
- Vai su Google Analytics.
- Clicca su Amministrazione > Proprietà > Definizioni personalizzate > Dimensioni personalizzate.
- Nuova dimensione personalizzata.
- Nome: Hotjar User Id.
- Ambito: Sessione.
Tieni a mente il valore numerico dell’indice (da 1 a 20). Nel mio caso è 1.
Non sai cos’è una dimensione personalizzata e vorresti capirne di più su Google Analytics?
STEP 3 – ATTIVATORE DI TIPO TIMER
Per permettere alla funzione di estrapolare lo user ID di Hotjar, dobbiamo attendere il caricamento della pagina. Quindi dobbiamo creare un nuovo attivatore che si attivi al dopo un tot di tempo. Dai miei test un timer di 3 secondi va più che bene. Chiaramente se un utente scappa prima che ci sia questa fase non avrai l’evento su Google Analytics (e nemmeno il valore di Hotjar User ID).
Creiamo l’attivatore:
- Attivatori > Nuovo > Configurazione attivatore.
- Tipo di attivatore: Timer
- Interval: 3000
- Limit: 1
- Enable this trigger: Page Path > matches RegEx > .*
STEP 4 – INSERIAMO LA DIMENSIONE IN UN EVENTO DI GOOGLE ANALYTICS
Bene, ora abbiamo una dimensione su Google Analytics pronta a ricevere dati e l’attivatore pronto. Non ci resta che passare il valore della seconda variabile creata a Google Analytics, che contiene effettivamente il codice ID di Hotjar.
Inizialmente sfruttavo già il Tag di Google Analytics relativo alla PageView che è già presente in GTM. Purtroppo non è più possibile usare questo meccanismo perché il il valore dello User Id di Hotjar ci mette qualche secondo dopo l’evento Window Loaded. Lo tracceremo quindi con un Tag di tipo Evento di Google Analytics.
- Tipo di tag: Universal Analytics
- Tipo di monitoraggio: Evento
- Categoria: Hotjar
- Azione: User Id
- Etichetta: {{Hotjar User Id}}
- Non-Interaction Hit: True
- Adesso seleziona la Variabile delle impostazioni di Google Analytics in Impostazioni di Google Analytics, se l’hai creata, oppure abilita l’override e seleziona la costante {{gaID}} (che dovresti avere se hai seguito la mia guida su come creare una costante per l’ID di monitoraggio di GA). In alternativa inserisci semplicemente il tuo codice UA-XXXXXX-X.
- Enable override settings: abilita
A questo punto inseriamo la dimensione personalizzata. Basterà scorre in basso e andare su
- Altre impostazioni > Dimensioni personalizzate.
- Clicca Aggiungi dimensione personalizzata.
- Indice: qua inserisci il valore indice della dimensione personalizzata visto prima (nel mio caso il valore è 1).
- Valore della dimensione: {{Hotjar – User Id}}
- Seleziona Attivatore: Timer 3 secondi
In questo modo ora l’evento avrà una dimensione personalizzata che contiene il codice User ID di Hotjar.
Se le nuove implementazioni funzionano correttamente, adesso puoi tornare su Google Tag Manager e cliccare sul pulsante blu “Invia” per pubblicare ufficialmente le modifiche.
E se uso Google Analytics 4?
Se cerchi una guida di Google Analytics 4 che ti spieghi come tracciare lo User ID di Hotjar in GA4, allora non ti preoccupare 😀
Ecco la guida: Come tracciare lo User ID di Hotjar in Google Analytics 4
Ti è stata utile questa guida? Fammelo sapere nei commenti 🙂
A presto e buon Tag!
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…
- Polimeni.legal e Tag Manager Italia insieme per informare e…
- Addio Google Universal Analytics: ecco quando smetterà di…
- 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
Alessia
26 04 2022
Ciao Matteo ,
So che ormai dovrei guardare a GA4 però ho notato che non riesco più a matchare la custom dimensione “HotjarUserID” con “User ID” presente all’interno della piattaforma di Hotjar. Sapresti aiutarmi ? Grazie mille in anticipo
Alessia
Matteo Zambon
17 05 2022
Ciao Alessia, lo script di estrapolazione hotjarUserId funziona. Stai attenta che Hotjar esegue un campionamento dei dati e non una registrazione one to one. Quindi potresti non avere il recordin session a disposizione.
Fammi sapere, nel caso inviami info a https://www.facebook.com/groups/TagManagerItalia
Grazie
Wouter
25 08 2020
Ciao Matteo,
Molte grazie per la tua chiara spiegazione.
Sai se dovrebbe ancora funzionare o è obsoleto ormai?
Il tag è attivato correttamente per me, ma per il momento non arrivano dati Hotjar.
Hotjar è attivo con un sondaggio e heatmpas / registrazioni.
Mi piace sentirlo.
Grazie in anticipo!
Saluto,
Wouter
Matteo Zambon
25 08 2020
Ciao Wouter 🙂
Sì, è da cambiare perché ora Hotjar ci mette un po’ a dare quell’informazione. Ti consiglio quindi di usare un evento GA con un attivatore di tipo timer di almeno 3 secondi. A breve aggiornerò la guida.
A presto!
Wouter
26 08 2020
Grazie per le tue risposte rapide Matteo,
Sono molto curioso della versione aggiornata.
Purtroppo non sono in grado di aggiungere correttamente un attivatore di tipo orario a questo tag.
Per ora non ricevo dati ID Hotjar in GA.
Grazie ancora!
Wouter
Matteo Zambon
26 08 2020
Ciao Wouter, ho appena aggiornato la guida 🙂
Fammi sapere se ora è più chiaro.
A presto!
Fabrizio
16 05 2019
Ciao Matteo,
la guida è datata, ma considerando la tua precisione immagino funzioni allo stesso modo.
Ho dovuto aggiungere al tag di GA – Pageview l’attivatore All pages – Load Ready perché altrimenti non me lo legava a nessun tag. (nell’impostazione della creazione attivatore non c’era la finestrella References in basso, tanto per capirci) Ho fatto bene?
Le configurazioni dei tag di GA e Hotjar sono perfettamente funzionanti, ma al momento se guardo in modalità debug sul tag di hotjar id mi dà undefined.
Ovviamente su GA non vedo nessun id Hotjar, come posso risolvere?
Grazie mille
Matteo Zambon
20 05 2019
Ciao Fabrizio, allora il trigger da associare al tag è come da step 4, quindi hai fatto bene a crearlo a Load Ready.
Per quanto riguarda il valore undefined lo avrai nella variabile finchè non sarai nell’evento “Window Loaded”. Ovviamente Hotjar deve essere presente e installato con il Tag e con un attivatore a di tipo All pages pageview.
Fammi sapere!
Fabrizio
21 05 2019
Grazie Matteo, ora sembra funzionare a parte il fatto che ovviamente ora il tag pageview di GA viene eseguito due volte, sia su pageview che su window loaded.
Non so se questo inficia i dati di analytics ma è l’unico modo per legare l’attivatore All pages load ready al tag di GA.
Devo dirti che però ora Analytics non traccia più niente e tag assistant mi dà “Same web property ID is tracked twice.”
Ho cambiato installazione di GTM inserendolo attrverso il plugin di DuracellTomi, non so se può essere quello (mentre prima avevo usato un altro plugin).
I Tags funzionano tutti, ma Analytics non più.
Matteo Zambon
21 05 2019
Ciao Fabrizio, non devi avere due tag di pageview. Se usi questa configurazione ti consiglio di lasciare solo il pageview del page load ready e togliere l’altro di pageview 🙂
Fammi sapere 🙂
Fabrizio
22 05 2019
Grazie matteo per la disponibilità.
Ancora nada.
Nel tag base del pageview di GA devo togliere l’attivatore “All pages” che ho creato all’inizio?
Ovviamente però il tag di GA – Pageview non verrà attivato su Page View ma solo su Window Loaded.
Ma questo non va ad influire sulle hit del pagevew di Analytics?
Spero di aver capito bene e ti ringrazio per la pazienza.
Per la cronaca ho reinstallato tutti i tag e al momento in debug ho:
– Pageview: GA – Pageview not fired on this Event
– Window Loaded: GA Pagevew Succedeed
Nelle variabili su tutti gli eventi però ho ancora Hotjar – User Id JavaScript personalizzato undefined undefined
Sto un po’ diventando matto…
Matteo Zambon
22 05 2019
Si Fabrizio, togli l’attivatore all pages e metti quello del window loaded. Devi avere un solo tag che spara l’evento di tipo pageview ad analyitics. A livello di influenza ci sarà un piccolo ritardo nel passaggio dell’hit a Google Analytics ma non è così impattante 🙂
Fammi sapere!
Daniele
01 09 2019
Ciao Matteo, ho importato il tuo template per questo “hack” ma sembra che lo script non riesca a recuperare l’UsedID. Mi restituisce sempre “Undefined”. Forse hanno cambiato qualcosa? Grazie.
Matteo Zambon
02 09 2019
Ciao Daniele, ho appena verificato e sembra tutto ok.
Sei sicuro che il tag di Hotjar sia attivato? Deve ovviamente esserci lo script di Hotjar presente nella pagina 🙂
Fammi sapere!
emanuele
12 07 2018
Ciao Matteo,
grazie per la guida, mi sono perso però nel concetto dell’ultima parte. Qui sotto ti mostro come ho configurato:
https://drive.google.com/file/d/1RoXITi-cL1I2Suzo2AwS6O4wC_pQqjXQ/view
Non ho ben capito il suggerimento che hai dato a Michele
“personalmente la gestisco con un evento di Google Analytics”
Potresti aiutarmi a comprendere meglio?
Grazie.
Matteo Zambon
12 07 2018
Ciao Emanuele
come lo hai gestito così scatterà due volte il pageview che equivale che darei una frequenza di rimbalzo pari a 0 ogni volta. Quello che dicevo a Michele è che io creo un evento personalizzato dopo il pageload e lo uso per attivare un evento in GA (dove gli passo Hotjar e altre informazioni)
Andrea
21 05 2018
Ciao Matteo,
ho una domanda sul GDPR e Hotjar: quello di Hotjar può essere considerato un cookie tecnico? Se un utente dovesse chiudere il banner sull’informativa all’uso dei cookie senza flaggare alcun tipo di consenso, devo bloccare lo script di tracciamento di Hotjar?
Grazie in anticipo 😉
Matteo Zambon
21 05 2018
Direi proprio di no Andrea, Hotjar non usa cookie tecnici per far funzionare il tuo sito. Li usi a fini di statistica e se usati con User ID direi a fini marketing.
Andrea
22 05 2018
Grazie mille per l’info, sei sempre stra-disponibile!!!
Matteo Zambon
23 05 2018
Grazie a te! 😀
Michele
03 05 2018
Ciao Matteo,
Ottima guida, ma ti faccio una domanda, o meglio ti chiedo un’opinione.
Con questa guida siamo costretti a ritardare l’attivazione del tag delle PageView fino all’evento Window Loaded. Per aggirare il problema e non rischiare di “perdere PageView preziose” bisognerebbe salvare il valore hj.pageVisit.property.get(“userId”); in un “posto” accessibile anche al momento della PageView, come potrebbe essere un cookie proprietario.
In questo modo valorizzeresti il cookie proprietario al primo evento Window Loaded di un certo utente, e dalla seconda PageView potresti iniziare a utilizzare il valore del cookie passandolo come custom dimension.
Come la vedi?
Grazie!
Matteo Zambon
03 05 2018
Ciao Michele, personalmente la gestisco con un evento di Google Analytics che uso anche per altre informazioni (esempio: vedere se usa AdBlock).
Non farei doppia pageview, andrebbe ad azzerarti il bounce rate 🙂
A presto e buon Tag!
Michele
05 05 2018
Ciao Matteo,
Non intendevo duplicare il tag delle pageview, ma passare l’informazione dello userId di hotjar solo dalla seconda in poi (sfruttando un cookie per salvare l’id).
Però l’idea di usare un evento forse è anche meglio.. essendo che in GA imposti lo userId come custom dimension a livello di sessione l’evento potrebbe andare bene! 🙂
Grazie!
Matteo Zambon
07 05 2018
Di nulla Michele 😉
Andrea
22 05 2018
Grazie mille per l’info, sei sempre stra-disponibile!!!
Luca
15 02 2018
Ciao Matteo, quando metto in preview mi da errore: La variabile sconosciuta “hotjarUserId” è stata rilevata in un’altra variabile. Modifica la variabile e rimuovi il riferimento alla variabile sconosciuta.
Non capisco dove siat l’altra variabile, ho soltanto 4 variabili personalizzate e nessuna di quelle Hotjar.
Matteo Zambon
15 02 2018
Ciao Luca!
Hai sicuramente sbagliato ad associarle. Stai attento alle maiuscole e minuscole. Consiglio: cancella e rifai tutto 😉
Luca
16 02 2018
Ciao Matteo, ho ricontrollato due volte e sembra tutto a posto nelle variabili. Ho semplicemente copiato ed incollato i tuoi JS nelle 2 variabili e mi da errore.
Tra l’altro mi chiedevo perche’ servono due variabili? C’e’ un motivo? Non sarebbe piu’ semplice creare una singola variabile? Magari con questo JS:
function() {
var userId = hj.pageVisit.property.get(“userId”);
var hotjarUserId = userId.split(“-“);
if(hotjarUserId[0] != undefined)
{
return hotjarUserId[0];
}
else
{
return 0;
}
}
Matteo Zambon
16 02 2018
Ciao Luca, no non c’è un motivo specifico puoi farne anche una 🙂
L’errore comunque mi sembra di capire che NON è il contenuto JS ma il nome che dai alla VARIABILE di GTM.
Riesci a mandarmi lo screenshot eventualmente dell’errore?
Fammi sapere!
Luca
16 02 2018
hai ragione, l’errore era il nome, non il contenuto!
Comunque adesso in Preview > Window Loaded vedo sia la stringa completa ‘d059xxxx-2666-3345-ecc.ecc’ che quella che abbiamo estratto d059xxxx.
Quindi mi sembra che vada bene, giusto?
Se vado in Preview> Page View mi da le stringhe come “Undefined”. E’ per questo che nel tuo Step 5 suggerisci di aggiungere un altro attivatore? Quell’attivatore deve essere collegato al Tag GA Universal Analytics? Se si, voleov chiederti, quel Tag e’ gia’ collegato all’attivatore All Pages – Visualizzazioni di Pagina, ne aggiungo un altro?
Matteo Zambon
16 02 2018
Eh 🙂
Il valore ce l’hai al caricamento della pagina. Quindi o crei un Tag GA con evento o sposti il pageview (che sconsiglio).
A presto!
Luca
16 02 2018
Grazie mille Matteo, ho creato un tag GA con evento e collegato all’attivatore nel tuo Step 5 e con dimensione custom {{Hotjar – User Id}}
Nel preview funziona senza problemi 🙂
Grazie ancora del supporto. Sei l’unico ad aver scritto una guida decente sull’argomento. Dovresti tradurre tutto in Inglese secondo me.
Matteo Zambon
19 02 2018
Ciao Luca, grazie mille del feedback. Per la parte inglese credimi è in progetto (ma tempo e supporto per farlo è ancora troppo poco).
Alex
05 02 2018
Hi Matteo.
I have a question about step 5. You wrote that if a user runs away before Window Loaded, I won’t have the Hit Pageview on Google Analytics.
Is it a real problem? And how can I solve it? If I create second Universal Analytics tag in GTM with the All Pages – Window Loaded Trigger, would that be correct?
Matteo Zambon
05 02 2018
Hi Alex, step 4 and 5 are just examples. I usually use a custom GA event to handle the passage of the Hotjar user id.
So I suggest you keep the pageview of the GA tag in the pageview event and create a custom event in the window loaded.
Buon Tag 😉
Giuseppe
20 11 2017
Dovrei aver impostato tutto correttamente:
Il tag relativo a Hotjar è impostato sulla visualizzazione di una determinata pagina, mentre il tag delle pageview analytics dove ho aggiunto la dimensione personalizzata si attiva su “Finestra Caricata”, puoi dare un’occhiata alle impostazioni dei tag dalle seguenti screenshot:
https://drive.google.com/open?id=1ZfAPkkrVdtA_Z3s9pPHqYNgK612FyE0r
Cosa ne pensi?
Matteo Zambon
20 11 2017
Ok Giuseppe, così come l’hai configurato sembra sia corretto. Se provi a cercare l’id di hotjar che non ti risulta nel giorno su GA (filtrandolo) lo trovi da qualche parte?
Giuseppe
20 11 2017
Buongiorno Matteo,
ho seguito passo passo la tua guida e in realtà sembra funzionare tutto correttamente. L’unico problema è che su analytics non mi ritrovo tutti gli ID registrati su Hotjar. Ad esempio, su analytics imposto un giorno specifico, poi da comportamento -> contenuti del sito -> tutte le pagine imposto come dimensione secondaria l’ID di Hotjar, eliminando gli ID duplicati mi ritrovo ad esempio solo 4 ID differenti. Su Hotjar nello stesso giorno invece, trovo una trentina di recordings. Secondo te come mai su analytics non vengono registrati tutti gli ID? Grazie mille.
Matteo Zambon
20 11 2017
Ciao Giuseppe 🙂
Sei sicuro di aver gestito il passaggio della variabile nel tipo attivatore “finestra caricata”? Il motivo potrebbe essere semplicemente che la funzione non ha ancora l’id prelevato da Hotjar 🙂
Fammi sapere!
Franco
28 09 2017
Buongiorno, ho seguito la tua guida , ed anche dal debuger del tag manager sembra che la dimensione personalizzata venga inviata . ma quando inseire la dimensione personalizzate neòlle colonne delle viste di google ananlitics mi sempre restituita come undefined …. Come posso capire dove sbaglio ?
Matteo Zambon
28 09 2017
Ciao Franco, stai guardando dati storici? Nel debug apri il Tag di GA e guarda se il valore legato alla dimensione ha il valore oppure no. Se c’è dovresti vederlo anche su GA (fra 6/8 ore nei report).