Google Tag Manager

Come creare dimensioni personalizzate con Google Analytics via GTM

In questo post ti mostro come si creano le dimensioni personalizzate in Google Analytics attraverso l’implementazione di Google Tag Manager.

Inoltre ti suggerisco 6 custom dimensions che ogni sito dovrebbe avere.

Per questo motivo ti descrivo la guida completa su come implementare queste 6 dimensioni:

  1. Hit Timestamp
  2. Client ID
  3. Session ID
  4. Hit Type
  5. Full Referrer
  6. GTM Container ID

Non dimenticare di essere sempre GDPR compliant e rispettare le scelta effettuate dagli utenti in base ai tuoi cookies. Per implementare questa soluzione ricordati di leggere questo post.

Pronto? Iniziamo 🙂

1. Hit Timestamp Custom Dimension

Questa informazione non è presente attraverso l’API di Google Analytics.

Risulta però utile per controllare la bontà dei dati più nel dettaglio. Si può raccogliere l’informazione in tutti i tag che vengono attivati oppure solo su alcuni (per esempio le transazioni).

1.1 Crea la dimensione in Google Analytics

Per prima cosa vai su Google Analytics per creare la Dimensione Personalizzata.

Le custom dimensions sono processate a livello di Proprietà quindi, nel pannello Admin, le trovi sotto Property:

google analytics property

Sotto la voce Custom Definition, seleziona Custom Dimensions e crea una nuova Dimensione Personalizzata con le seguenti caratteristiche:

  • Name: cd1 Hit Timestamp (per mia comodità utilizzo la sigla cd ossia custom dimension + il numero di indice della dimensione per trovarla più facilmente nei rapporti di Google Analytics)
  • Scope: Hit
  • Active: flag attivo
custom dimension in google analytics

Salva.

Il lavoro su Google Analytics è finito. Ricordati dell’indice (index) della dimensione personalizzata appena creata perché ci servirà su Google Tag Manager.

1.2 Creare una variabile in Google Tag Manager

In GTM dobbiamo ora creare una variabile di tipo Custom JavaScript.

In Variables crea una nuova variabile di tipo User-Defined con le seguenti caratterisiche:

  • Name: Hit Timestamp Local Time With Offset
  • Variable Type: Custom JavaScript

Ora inserisci il seguente codice all’interno della variabile:

function() {
    // Get local time as ISO string with offset at the end
    var now = new Date();
    var tzo = -now.getTimezoneOffset();
    var dif = tzo >= 0 ? '+' : '-';
    var pad = function(num) {
        var norm = Math.abs(Math.floor(num));
        return (norm < 10 ? '0' : '') + norm;
    };
    return now.getFullYear() 
        + '-' + pad(now.getMonth()+1)
        + '-' + pad(now.getDate())
        + 'T' + pad(now.getHours())
        + ':' + pad(now.getMinutes()) 
        + ':' + pad(now.getSeconds())
        + '.' + pad(now.getMilliseconds())
        + dif + pad(tzo / 60) 
        + ':' + pad(tzo % 60);
}

Il codice inserito proviene da questo scambio su Stack Overflow e mantiene come struttura la stessa suggerita da Simo Ahava in questo post, in pratica Anno-Mese-Giorno-Ora-Timezone dell’utente (+02:00 è perché l’utente proveniva dall’Italia):

2020-08-11T11:30:29.511+02:00

1.3 Passare i dati a Google Analytics

Adesso dobbiamo passare i valori a GA.

Ci sono due modi: inviare l’informazione ad ogni singolo tag che viene attivato sul mio sito web oppure modificare la GA Settings Variable. Io userò il secondo metodo.

Se non hai ancora creato la Google Analytics Settings Variable trovi qui un post dettagliato per impostarla.

Vado nelle impostazioni della GA Settings Variable e imposto i valori nella voce Custom Dimensions come qui sotto:

  • Index: 1 (ho inserito 1 perché è il numero di indice della dimensione personalizzata che ho creato su Google Analytics. Il numero deve quindi combaciare con il settaggio in GA)
  • Dimension Value: {{Hit Timestamp Local Time With Offset}} (puoi selezionare il mattoncino di fianco e selezionare la variabile creata in precedenza)
google analytics settings variable with custom dimension

Salva.

In questo modo, ogni volta che il tag di GA, che utilizza questa variabile (Google Analytics Settings Variable), viene attivato, i valori verranno raccolti nella dimensione personalizzata di Google Analytics.

1.4 Testare

Controlliamo che tutto sia corretto facendo un refresh della modalità Preview di GTM sul sito internet:

google tag manager preview mode

Purtroppo non si può fare il test nel Rapporto in tempo reale di GA.

Ci possono volere anche un paio d’ore per vedere il valore correttamente processato all’interno dei Rapporti di Analytics, che apparirà pressapoco in questo modo:

cusom dimension google analytics

2. Client ID Custom Dimension

Il Client ID è usato per contare gli utenti unici ed è generato casualmente da Google Analytics.

Anche in questo caso possiamo raccogliere questi valori con una dimensione personalizzata.

Ti consiglio un metodo leggermente diverso rispetto al punto precedente, ossia utilizzando il metodo customTask.

Ti mostro di seguito come fare.

2.1 Creare la dimensione in Google Analytics

Passaggio molto veloce, come nel punto 1.1:

  • Name: cd2 Client ID
  • Scope: Session (scopri di più qui perché lo scopo è Session e non Hit)
  • Active: flag attivo
custom dimension client ID

Salva.

2.2 Usare il customTask builder tool di Simo Ahava

Simo ha creato un ottimo e veloce strumento per generare il codice da inserire nella variabile di tipo Custom JavaScript.

Seleziona i valori che vuoi includere e copia il codice che si genera:

simo ahava cutomtask builder

2.3 Creare una variabile in Google Tag Manager

Creiamo ora una variabile con le seguenti caratteristiche:

  • Name: Custom JS – Custom Task – cd2 Client ID
  • Variable Type: Custom Javascript
  • Custom Javascript: incolla il codice che hai copiato dal tool al punto precedente. Attenzione! Ricordati di cambiare il numero di indice della variabile. Se in Google Analytics l’index è 2 per la dimensione personalizzata Client ID allora dovrai inserire ‘2’ anche nel codice, altrimenti i dati non saranno passati alla dimensione che vuoi)

Salva.

2.4 Passare i dati a Google Analytics

Ora modifichiamo la variabile Google Analytics Settings Variable con le seguenti caratteristiche nella voce Fields To Set:

  • Field name: customTask
  • Value: {{Custom JS – Custom Task – cd2 Client ID }}
ga settins variable fields to set

Salva.

In questo caso non andiamo a modificare la voce Custom Dimensions perché abbiamo creato un CustomTask che svolge la medesima funzione.

2.5 Testare

Testa il corretto funzionamento e controlla che i dati vengano passati a Google Analytics:

console chrome

Come puoi vedere l’informazione viene inviata alla dimension2.

Questa è la dimensione personalizzata creata su GA con il nome cd2 Client ID, dove ‘2’ è il numero di indice.

3. Session ID Custom Dimension

Il valore raccolto in questa dimensione è una stringa inviata, per ogni hit di pageview, a GA.

3.1 Creare la dimensione in Google Analytics

Crea la dimensione in GA:

  • Name: cd3 Session ID
  • Scope: Session (scopri di più qui perché lo scopo è Session e non Hit)
  • Active: flag attivo
edit custom dimension google analytics

Salva.

3.2 Creare una variabile in GTM

Passa a Google Tag Manager e crea una nuova variabile con le seguenti caratteristiche:

  • Name: Random Session ID – Custom JS
  • Variable Type: Custom Javascript

Inserisci il seguente codice:

function() {
    return new Date().getTime() + '.' + Math.random().toString(36).substring(5);
}

Salva.

3.3 Passare i dati a Google Analytics

Modifichiamo la Google Analytics Settings Variable inserendo la nuova dimensione personalizzata.

  • Index: 3
  • Dimension Value: {{Random Session ID – Custom JS}}
custom gtm

Salva.

3.4 Testare

Testa l’implementazione per controllare che i dati siano raccolti correttamente.

4. Hit Type Custom Dimension

Questa dimensione permette di leggere il tipo di hit che viene inviato a Google Analytics: event, pageview etc.

Anche per questa dimensione consiglio di utilizzare il tool creato da Simo.

Bisogna però avere un’accortezza: non si possono inserire più customTask all’interno della variabile che manda i dati a GA, altrimenti la bontà del dato è compromesso.

Come fare allora? Utilizzando il builder, basterà selezionare più di una voce e inserirlo in una variabile custom Javascript.

4.1 Creare la dimensione in Google Analytics

Crea una nuova dimensione personalizzata in Google Analytics e ricordati il suo indice (nel mio esempio è 4):

Salva.

4.2 Usare il customTask builder

Ora creiamo il codice affinché vengano inviate a GA due dimensioni personalizzate:

  • Client ID (visto nel punto 2.)
  • Hit Type

Seleziona i due valori e copia il codice.

4.3 Modifica la variabile creata al punto 2.3

Passiamo a GTM e modifichiamo la variabile dandogli un nome parlante:

  • Name: Custom JS – Custom Task – cd2 Client ID – cd4 Hit Type
  • Variable Type: Custom Javascript
  • Custom Javascript: incolla il codice (fai attenzione a modificare il numero di indice delle dimensioni create in precedenze. Nel mio esempio è indice 2 per Client ID e indice 4 per Hit Type)

Salva.

4.4 Passare i dati a Google Analytics

Ora modifichiamo la Google Analytics Settings Variable e inseriamo il nuovo valore appena creato:

  • value: {{Custom JS – Custom Task – cd2 Client ID – cd4 Hit Type}}

In modo che sia in questo modo:

fields to set

Salva e testa il tutto.

5. Full Referrer Custom Dimension

Con questa dimensione personalizzata puoi sapere la pagina precedente per ogni hit.

5.1 Creare la dimensione in Google Analytics

Crea la seguente dimensione personalizzata in GA:

  • Name: cd5 Full Referrer
  • Scope: Hit
  • Active: flag attivo
full referrer google analytics

Salva.

5.2 Creare una variabile in GTM

Creiamo una nuova variabile in Google Tag Manager:

  • Name: JS Variable – document.referrer
  • Variable Type: JavaScript Variable
  • Global Variable Name: document.referrer

5.3 Passare i dati a Google Analytics

Entriamo nella Google Analytics Settings Variable e inseriamo la nuova custom dimension:

  • Index: 5
  • Dimension Value: {{JS Variable – document.referrer}}

Salva.

5.4 Testare

Testa se i dati sono processati correttamente:

6. GTM Container Custom Dimension

Con questa dimensione customizzata puoi inviare le informazioni a Google Analytics sul numero del tuo container di GTM.

6.1 Creare la dimensione in Google Analytics

Creiamo una nuova dimensione nel pannello Admin di GA:

  • Name: cd6 GTM Container ID
  • Scope: Hit
  • Active: flag attivo

Salva.

6.2 Attivare la variabile in GTM

Vai sulla voce Variable – Built-In Variables e attiva la voce Container ID come nell’immagine sotto:

built in variable gtm

6.3 Inviare i dati a Google Analytics

Entra nella variabile Google Analytics Settings Variable e aggiungi la nuova dimensione personalizzata:

  • Index: 6
  • Dimension Value: {{Container ID}}
custom dimension ga settings variable

Salva.

6.4 Testare

Controlla che tutto funzioni correttamente:

test on gtm

Conclusioni

In questo post ti ho mostrato step-by-step come implementare 6 importanti dimensioni personalizzate.

Hai visto quale è il meccanismo di fondo per la creazione di una dimensione attraverso Google Analytics e Google Tag Manager.

Ogni sito internet ed ogni business hanno le loro peculiarità, quindi la scelta di quali dimensioni custom vuoi aggiungere, dipende solo ed esclusivamente dagli scopi che vuoi raggiungere con la raccolta di queste informazioni.

Ricorda che lo scopo primario deve essere quello di aiutarti a prendere decisioni data-driven.

Infine, non dimenticare mai di testare le implementazioni che stai facendo prima di pubblicare il contenitore!

Buone analisi 🙂


Potrebbero interessarti anche i seguenti articoli:

Single Page Application e Google Tag Manager – La guida completa

Scroll tracking in Google Tag Manager

Come si crea il tag di Google Analytics in Google Tag Manager ?

Quali Viste impostare su Google Analytics?

Cosa significa la voce (other) in Google Analytics?

Come creare un Rapporto Personalizzato per controllare la presenza di Transazioni Duplicate in Google Analytics?

Query Parameters in Google Analytics

Le scorciatoie da tastiera più usate per lavorare con Google Spreadsheet

Cosa sono e come utilizzare i Parametri UTM ?

Cosa sono le Visualizzazioni di Pagina Uniche in Google Analytics e perché sono diverse dalle Visualizzazioni di Pagina ?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *