Ti è mai capitato di voler salvare un path particolare su Google Analytics per scopi di filtro? Anche con il Tag Manager lo si può fare, ma soprattutto se usi Google Analytics Universal, ti propongo anche una soluzione alternativa: le Dimensioni Personalizzate. Prima di iniziare il pippone un dovuto ringraziamento a Filippo per avermi ospitato nel suo prestigioso blog.
L’articolo sarà così composto:
- Per tracciare dei dati particolare ti servono i dati: dataLayer
- Preparare il TagManager
- Pagine Virtuali
- Dimensioni personalizzate
Premessa: usate il Tag Manager in inglese, perché le traduzioni in italiano sono imbarazzanti https://www.google.com/tagmanager/web/?hl=en!
Il dataLayer
Il dataLayer è un oggetto javascript che consente di comunicare direttamente con Google Tag Manager. Se vogliamo fare in modo che il Tag Manager, in qualche modo, registri qualcosa di particolare dobbiamo fare in modo di dargli quel qualcosa in più.
Per farlo dobbiamo preparare l’oggetto e inserirlo prima della chiamata al Tag Manager. Se questo non fosse possibile – per limiti tecnici della piattaforma in cui operiamo – e quindi lo script possiamo fisicamente inserirlo nel codice dopo il Tag Manager allora dobbiamo usare la tecnica dell’invio forzato del dataLayer, ovvero il push.
Esempio di dataLayer (prima del Tag Manager)
[code language=”html”]<script type=”text/javascript”>
//datalayer per controllo google
dataLayer = [{
‘event’: ‘sendVirtualPageview’,
‘prodottocategoria’: ‘tshirt’,
‘prodottotaglia’: ‘m’,
‘prodottolinea’: ‘troccolo’
}];
</script>[/code]
Esempio di Push del dataLayer
[code language=”html”]<script type=”text/javascript”>
//datalayer per controllo google
dataLayerTmp = [{
‘event’: ‘sendVirtualPageview’,
‘prodottocategoria’: ‘tshirt’,
‘prodottotaglia’: ‘m’,
‘prodottolinea’: ‘troccolo’
}];
dataLayer.push(dataLayerTmp);
</script>[/code]
Preparare il Tag Manager
Passati i dati con il dataLayer dobbiamo ora andarli a catturare. Per fare questo usiamo le Macro (grazie a SmellPath) che ci consentono proprio di prendere i dati ricevuti e metterli in contenitori fruibili. Farlo è abbastanza banale, il tipo di macro è Data Layer Variable e la si configura come da immagine che segue. Il fatto che abbia usato il nome della Macro uguale al nome della Variabile Javascript è solo per comodità.
Configurata così la Macro sarà a vostra disposizione nei vari campi di input del tag Manager come {{prodottocategoria}}. A questo punto prepariamo anche la regola che sarà necessaria per tracciare l’evento che abbiamo inserito nel dataLayer, ovvero sendVirtualPageview. Farlo è semplice: create una regola sulle pagine che volete, l’importante è che tra le condizioni ci sia Event equal sendVirtualPageview.
Pagine Virtuali
Partiamo subito dicendo che le pagine virtuali con il tag Google Universal su Google Tag Manager non si possono tracciare. Data la brutta notizia la bella è che – almeno per ora – Google Analytics è di bocca bu0na e che se gli spari lo script Classic lo accetta di buon grado e registra la pagina.
Detto questo non ci resta inserire un nuovo Tag > Classic Google Analytics, inserire la corretta Web Property ID (per esperimenti vi consiglio una web property dedicata) quindi andare in More settings > Basic Configuration e checkare Virtual Page Path. Non vi resta che configurare il path come più vi piace, esempio:
/{{prodottolinea}}/{{prodottocategoria}}/{{prodottotaglia}}/
Chiaro? Si noti come le voci tra {{ e }} siano le variabili (macro) configurate precedentemente. In questo modo navigando in Analytics in Comportamento > Contenuti del sito > Tutte le pagine vediamo i path completi, mentre in Comportamento > Contenuti del sito > Dettaglio Contenuti possiamo navigare nei vari livelli di profondità del path che abbiamo creato.
Ultimo passo, nel tag dovete associare la regola (Rule) impostata precedentemente, ovvero quella che viene chiamata in causa quando scatta l’evento sendVirtualPageview. Create una versione del Tag Manager Container e pubblicate. Aspettate di avere un po’ di dati e poi su Google Analytics potete scegliere le dimensioni personalizzate da visualizzare dal menu delle colonne: potete usarle come dimensioni secondarie o farvi dei rapporti personalizzati.
Dimensioni Personalizzate
Vogliamo fare i fighi? Abbiamo già il tracciamento con Google Analytics Universal? Perfetto: possiamo usare le dimensioni personalizzate, ovvero delle dimensioni che decidiamo NOI e che possiamo usare in Analytics come normali “colonne” di dati. Per impostare correttamente questo nuovo dato gli step necessari sono 2:
- Definire le dimensioni in Analytics
- Impostare il Tag Manager
Dimensioni Personalizzate in Google Analytics
Per configurare le dimensioni personalizzate in GA bisogna andare in Amministrazione > Definizioni personalizzate > Dimensioni personalizzate. A questo punto si creano le nuove dimensioni, ricordandosi che il Tag Manager non le riconoscerà per nome ma per valore dell’indice (che è un numerico!).
In questo caso l’ho chiamata “Categoria” e il suo valore di indice è 1 (lo vedete nella pagina di riepilogo delle Dimensioni Personalizzate oppure negli script come “dimension1”).
Impostare le Dimensioni Personalizzate nel Tag Manager
Siamo arrivati al dunque: impostiamo un Tag di Google Analytics Universal, quindi settiamo un tracciamento tipo “Page View” e impostiamo More settings > Custom Dimensions le nostre dimensioni, ponendo molta attenzione all’indice che abbiamo settato su Google Analytics. La risultante sarà qualcosa di simile a questo:
Ultimo passo, nel tag dovete associare la regola (Rule) impostata precedentemente, ovvero quella che viene chiamata in causa quando scatta l’evento sendVirtualPageview. Create una versione del Tag Manager Container e pubblicate. Aspettate di avere un po’ di dati e poi su Google Analytics potete scegliere le dimensioni personalizzate da visualizzare dal menu delle colonne: potete usarle come dimensioni secondarie o farvi dei rapporti personalizzati.
Signori tutto chiaro? Speriamo di si, altrimenti usate i commenti e vediamo se tra me e Filippo riusciamo a darvi una mano! Altrimenti qualche supporto di lettura:
Grazie Filtro per l’ospitata.
Ciao, io ho usato il tag manager per le dimensioni personalizzate: ho impostato le diemnsioni su universal, ho preso nota del numero indice, ho inserito le dimensioni nella tag per il google universal e non appaiono le dimensioni in analytics. hai idea di quale sia il mio errore?
Ciao Elena,
scusa la domanda forse sciocca e banale. Ma quale variabile stai passando a queste dimensioni?
Fil
Ciao Filippo e grazie,
in realtá sto traccando il sito con un nuovo account universal e come dimensioni sto utilizzando informazioni contenute nei parametri dell’URL (non utm).
Per un sito uguale, ma traccato con google analytics (non ancora universal) e con il tracking-script implementato direttamente nel source code, funzionano le variabili a meraviglia.
Elena
Ciao Elena,
hai implementato dentro a google tag manager delle macro che prelevano il loro valore dai paremetri nelle url?
Fil
Ciao Filippo,
in realtá ho implementato uno script separato (che uso pure per il database), e poi inserito l’evento relativo nel data layer. L’ho giá fatto per il sito con google analytics: lo script (cosí per dire per il database) e lo script per la variabile personalizzata. Ricevo tutti i dati senza problemi.
Elena
Ciao Elena,
avendo implementato una parte di codice in tag manager ed una parte nel codice del sito, i dati non funzionano. Devi implementare il tutto nelle tag manager, inserendo il valore delle variabili nel DataLayer e poi recuperandoli attraverso tag manager.
Ciao Filippo,
grazie per la risposta! L’ho fatto, e quando vado in modalitá test vedo anche il layer che “pusha” il valore delle dimensioni. Peró Google Universal continua a non leggere i dati. Ti giuró che sto impazzendo, perché di sicuro ho fatto un errore piccolo ma stupido e non so qual’é!
Elena
potrebbe essere che il valore viene pushato dopo che è stato attivato il tag di google analytics.
Controllo in che ordine succedono le cose.
Fil
adesso sto controllando, ma allora é questo il problema: io avevo capito male e pensavo che dovessi inserire le variabili nella tag generica per le pageviews …
Elena