[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 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.
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.
function() { var hotjarUserId = hj.globals.get("userId").split("-"); if(hotjarUserId[0] != undefined) { return hotjarUserId[0]; } else { return 0; } }
Ora non ci resta che salvare questo dato su Google Analytics su una dimensione personalizzata:
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?
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:
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.
A questo punto inseriamo la dimensione personalizzata. Basterà scorre in basso e andare su
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.
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!
Negli ultimi mesi hai notato in Google Analytics 4 un calo improvviso e inspiegabile nelle…
Se ti trovi su questa guida è perché hai compreso che solo attraverso la Data…
Greenpeace è un'associazione globale che con azioni dirette e concrete denuncia i problemi ambientali e…
Da quando hai configurato la Consent Mode v2 (CM v2) hai notato cali improvvisi o…
Premesso che non è possibile conoscere l'esatto funzionamento né di Chrome, né degli algoritmi di…
Da quale canale di marketing arriva il maggior numero di conversioni? Quale campagna di marketing…
View Comments
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
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
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
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
Ciao Wouter, ho appena aggiornato la guida :)
Fammi sapere se ora è più chiaro.
A presto!
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!
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
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.
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!
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...
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!
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ù.
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 :)
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!
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.
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)
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 ;)
Grazie mille per l’info, sei sempre stra-disponibile!!!
Grazie a te! :D
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.
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!
Grazie mille per l'info, sei sempre stra-disponibile!!!
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!
Di nulla Michele ;)
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!
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.
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.
Ciao Luca, grazie mille del feedback. Per la parte inglese credimi è in progetto (ma tempo e supporto per farlo è ancora troppo poco).
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?
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!
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;
}
}
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!
Ciao Luca!
Hai sicuramente sbagliato ad associarle. Stai attento alle maiuscole e minuscole. Consiglio: cancella e rifai tutto ;)
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?
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 ;)
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?
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?
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.
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!