Google Tag Manager: attivare UserId anche senza login

by Luca Rabboni

facebooktwittergoogle_pluspinterestlinkedintumblr

Una delle novità più interessanti portate da Universal Analytics è stata quella dello “UserId”, capace di aprire nuovi orizzonti in termini di tracking utente anche per quanto riguarda i comportamenti cross-device.

Il tracking dello UserId richiede di solito un utilizzo combinato con ID da sistemi di login o ID cliente da CRM. In alcuni casi (e il nostro blog ne è un esempio), non sono disponibili queste funzionalità, ed ecco allora che per avere un’analisi degli utenti unici del nostro sito dobbiamo ricorrere a dei “custom script” per risolvere la questione.

Siamo partiti dal post di Simo Ahava ma abbiamo trovato due criticità per la nostra piattaforma:

Il post prevedeva l’uso 4 macro di cui una era un Custom javascript per intercettare se l’utente avesse o meno nel Cookie. Le Macro erano eseguite ad ogni tag, ergo la funzione veniva richiamata circa 6 volte, con conseguente riscrittura dello UsderId. In pratica gli utenti da “Returning Visitors” diventavano “New Visitors”.

Come potete vedere qui sotto (la voce “start_timer”) lo script veniva chiamato in questo caso almeno 4 volte, arrivando a riscrivere il valore.

Debug Della funzione

GTM – Debug con dataslayer per UserID

Dopo ulteriori test e ricerche, ci siamo imbattuti in questo post di Dan Russell che suggeriva di valorizzare l’ID direttamente dall’utma di google Analytics.

La procedura che abbiamo seguito è stata la seguente:

1) Creazione di un Custom HTML Tag contenente il seguente script:

In pratica il codice va a leggere il valore dell’_utma. Avendo l’_utma come separatore i punti “.”, procede a dividere il valore del cookie  e prende solo l’ID randomico, ovvero estrae il terzo elemento della stringa (v immagine sotto)

 

random part id from utma

random part id from utma

 

NB: in questa fase è fondamentale che lo script venga letto prima del tag di lettura delle pageviews cui nel nostro caso era anche legata la custom dimension che doveva esser passata a Google Analytics. Per far ciò basta settare la priorità di avvio dei tag.

Priorità_Tag

 

Il valore estratto viene passato a una variabile,

e inviata infine sia come custom dimension che come evento. Noi abbiamo scelto poi di inserire solo la custom dimension, che abbiamo agganciato al nostro Tag Manager.

Lato interfaccia abbiamo solo dovuto inserire una macro di tipo “datalayer Variable”

dataLayer_Test_userId

E passare la variabile sia a una custom dimension che a Google Analytics per il report User ID. la custom var è la N 7.

GA custom dimensions

GA custom dimensions

Il field uid invece è quello che permetterà a Google Analytics di popolare la view Unified Sessions”. Ora l’unica cosa che manca è impostare l’interfaccia di Google Analytics come segue:

 

Google analytics Custom_Dimension_Setup

Google analytics Custom_Dimension_Setup

Et Voilà, il gioco è fatto! Potrete vedere i vostri dati sia nella view “Sessioni Unificate” creata da Google Analytics, che nelle altre view standard come custom dimension.