CONDIVIDI
guida a google tag manager per il marketing

Warning: preg_match(): Compilation failed: invalid range in character class at offset 4 in /home/customer/www/fabiopiccigallo.com/public_html/wp-content/plugins/smart-image-loader/simple_html_dom.php on line 1385

Warning: preg_match_all(): Compilation failed: invalid range in character class at offset 4 in /home/customer/www/fabiopiccigallo.com/public_html/wp-content/plugins/smart-image-loader/simple_html_dom.php on line 690

Warning: Invalid argument supplied for foreach() in /home/customer/www/fabiopiccigallo.com/public_html/wp-content/plugins/smart-image-loader/simple_html_dom.php on line 697

Warning: preg_match_all(): Compilation failed: invalid range in character class at offset 4 in /home/customer/www/fabiopiccigallo.com/public_html/wp-content/plugins/smart-image-loader/simple_html_dom.php on line 690

Warning: Invalid argument supplied for foreach() in /home/customer/www/fabiopiccigallo.com/public_html/wp-content/plugins/smart-image-loader/simple_html_dom.php on line 697

Warning: preg_match(): Compilation failed: invalid range in character class at offset 4 in /home/customer/www/fabiopiccigallo.com/public_html/wp-content/plugins/smart-image-loader/simple_html_dom.php on line 1385

Warning: preg_match_all(): Compilation failed: invalid range in character class at offset 4 in /home/customer/www/fabiopiccigallo.com/public_html/wp-content/plugins/smart-image-loader/simple_html_dom.php on line 690

Warning: Invalid argument supplied for foreach() in /home/customer/www/fabiopiccigallo.com/public_html/wp-content/plugins/smart-image-loader/simple_html_dom.php on line 697

Warning: preg_match_all(): Compilation failed: invalid range in character class at offset 4 in /home/customer/www/fabiopiccigallo.com/public_html/wp-content/plugins/smart-image-loader/simple_html_dom.php on line 690

Warning: Invalid argument supplied for foreach() in /home/customer/www/fabiopiccigallo.com/public_html/wp-content/plugins/smart-image-loader/simple_html_dom.php on line 697
Come sa bene chi frequenta anche di passaggio questo blog, un concetto fondamentale su cui continuo a insistere e continuerò sempre a insistere è: se vuoi misurare quante volte è stata vista una pagina del tuo sito web, utilizza un contatore javascript di quelli che andavano di moda negli anni '90, e lascia perdere Google Analytics.
Perché?
Perché utilizzare Google Analytics per sapere quante volte è stata visitata una pagina web è come utilizzare la cucina di un ristorante di alto rango per bollire un uovo sodo: semplicemente, non va bene.
Il cuore di Google Analytics sono gli obiettivi di conversione, e il cuore degli obiettivi di conversione sono (anche) gli eventi che vengono trasmessi ad Analytics dal nostro sito web.

Piccolo ripasso: come sono fatti gli eventi in Analytics

Ho concepito queste puntate come un corso base, per cui non darò per scontato (quasi) nulla.
A cominciare da come sono fatti gli eventi.
Un evento è, sostanzialmente, una notifica che noi facciamo ad Analytics per registrare che sul nostro sito è accaduto qualcosa che noi riteniamo importante. Ad esempio, un evento potrebbe essere il download di un libro bianco, la visualizzazione di una particolare pagina, il click su una Call to Action o su un link che richiama il nostro indirizzo email.
Normalmente, per poter passare ad Universal Analytics questa informazione leghiamo ad un'occorrenza sul nostro sito (ad esempio un click) un piccolo snippet di codice che servirà a comunicare, appunto, a GA che qualcosa è accaduto.
Il codice che passiamo è nel formato
ga('send', 'event', 'category', 'action', 'label', value);
dove categoria, azione, etichetta e valore sono contenitori aperti che possiamo riempire come più ci aggrada.
Una volta acquisiti da Google Analytics, questi eventi potranno poi diventare il trigger che farà generare un obiettivo di conversione di tipo evento.
Il problema è che, utilizzando nel modo classico Universal Analytics (inserendo cioè il codice di monitoraggio direttamente sul sito) noi dovremo inserire immancabilmente lo snippet di codice che genera l'evento su ogni link che vogliamo monitorare.
Se ad esempio abbiamo 50 pagine con un form allegato, e decidiamo di attivare un evento sulla compilazione e l'invio di quel form, dovremo aprire una ad una 50 le 50 pagine e inserire ogni volta lo snippet di generazione dell'evento (a meno di andare a disturbare il nostro IT e sperare che lui abbia una soluzione).
E se le pagine fossero 500, o 5000?
No, decisamente non va bene.

Generare gli eventi con i trigger

Google Tag Manager ci dà una mano decisiva, quando si tratta di uniformare il comportamento di oggetti sparsi per il nostro sito web e caratterizzati dall'avere tutti lo stesso comportamento.
Immaginiamo allora di avere un oggetto - una Call to Action, ad esempio, o un banner pubblicitario - che si ripete in molte delle pagine del nostro sito e che vogliamo analizzare dal punto di vista dei click. Magari vorremo definire questi click come altrettante micro-conversioni all'interno di Google Analytics, ma questo ora non è importante.
Quel che è importante è, invece, comprendere come faremo a inviare ad Analytics l'informazione che la nostra call to action sia stata effettivamente cliccata.
Prendiamo, per la nostra piccola esercitazione pratica, il banner che trovi qui nel footer, e che riguarda il gruppo Facebook #adotta1blogger, di cui faccio parte.
Quante volte cliccate su quel link? Non posso saperlo, ovviamente, perché indirizza ad una pagina all'esterno del mio sito.
Cercherò allora di scoprirlo taggando il nostro link e individuando il click come un evento da passare ad Analytics, passando contemporaneamente anche il titolo della pagina su cui è avvenuto ogni click.
Vediamo come fare.

Creiamo un trigger per il click sulla nostra Call to Action

1 Mediante codice javascript sul nostro sito

Per iniziare, dobbiamo identificare univocamente l'oggetto che vogliamo sottoporre all'attenzione di Google Tag Manager.
Se abbiamo un elemento che si sviluppa a partire da un unica fonte - come avviene per la verità anche per il nostro banner - la soluzione più semplice è quella di aggiungere direttamente al codice del nostro link un'istruzione che generi un evento in corrispondenza del click, e trasmetta l'esistenza dell'evento stesso al Data Layer di Google Tag Manager.
Ad esempio, se abbiamo un link qualsiasi, non dovremo fare altro che inserire un'istruzione del tipo:
datalayer push

e avremo risolto il problema.

L'istruzione qui riportata, infatti, non farà altro che aspettare che avvenga un click sul nostro link. Una volta verificatasi questa occorrenza (onlick), il codice agirà per inviare al dataLayer l'evento ClickSulPulsante.
Come faremo a intercettare questo evento?
Lo faremo, evidentemente, utilizzando un tipo particolare di attivatori: quelli che "sparano" in corrispondenza di un evento del dataLayer.
Andiamo allora su Google Tag Manager, e creiamo un trigger di questo tipo:
google tag manager trigger
L'evento, come vedi, è quello che abbiamo creato nel nostro codice. Quando verrà attivato, l'attivatore Click sulla CTA "sparerà", e sarà pronto ad attivare un tag che costruiremo a breve.

2 Mediante identificativi di oggetto

Questo tipo di procedimento è comodo, però, a patto di avere un elemento centralizzato sul quale agire per emendare il codice in modo da creare un evento.
Che succederà, invece, se gli elementi fossero tanti, magari anche leggermente diversi tra loro, ma accomunati da un identificativo specifico (ad esempio una classe, un id, un titolo o un altro qualsiasi elemento di identificazione)?
In questo caso, ci converrà aprire il nostro codice per cercare, appunto, un elemento distintivo al quale aggregare un trigger.
google tag manager analisi eventi call to action cta
Nel mio caso, ad esempio, un elemento di identificazione dell'oggetto potrebbe essere il titolo #adotta1blogger che ho dato al banner qui sotto, nel footer del sito.
Andrò allora a crearmi un trigger di evento click, che si attivi quando un utente clicca sui link accomunati dal fatto di avere come titolo #adotta1blogger.
Facile.
trigger call to action cta google tag manager
Il problema, però, è che non esiste nessun elemento specifico che mi rimandi a "title".
Esiste Click Classes, Click Id, persino Click Text ma... Click Title non esiste.
Come fare?
Dovremo sfruttare un'altra risorsa disponibile nel cappello di Google Tag Manager: quella che consente di aggiungere altre variabili nella disponibilità dell'utente, che siano legate a un evento che occorre quando si interagisce con un elemento presente sulla nostra pagina: le variabili di evento automatico, o di auto-evento.
Il fatto è che ogni volta che noi inseriamo un qualsiasi attributo che specifica una istruzione html (una classe, un id, un titolo...) noi rendiamo disponibile quel contenuto anche a Google Tag Manager.
L'unica cosa che dobbiamo fare, è andarcelo a prendere.
Creiamo allora una variabile di auto-evento, e diamogli, ad esempio, il nome Element_title.
Specifichiamo che questa variabile è una variabile di attributo, e chiudiamo indicando che il nome dell'attributo che Tag Manager dovrà acquisire è, appunto, title.
variabile auto evento
A questo punto, torniamo sul nostro trigger, e specifichiamo che vogliamo si attivi solo quando si clicca su un elemento che contenga nel titolo la locuzione identificativa adotta1blogger, in questo modo:
trigger su title google tag manager
Ecco fatto!
Siamo riusciti ad attivare un trigger solamente in corrispondenza della nostra Call to Action, e senza mettere mano al codice.
A questo punto, non dovremo che attivare il tag di Analytics.

Attiviamo un tag di tipo evento per Analytics

Torniamo allora sull'elenco dei nostri tag, apriamo quello relativo ad Analytics che abbiamo creato nella scorsa puntata e creiamone una copia, cliccando sull'apposito pulsante in basso a destra.
Rinominiamo la copia, clicchiamo direttamente su Configura Tag, e selezioniamo, stavolta, il track di tipo Evento:
tag evento analytics google tag manager
Avrai già capito tutto. Non ci rimane che inserire nelle caselle Categoria, Azione e Etichetta i valori che vogliamo trasmettere ad Analytics, e da lì crearci, eventualmente, un obiettivo di tipo Evento, e il gioco è fatto.
Naturalmente, il trigger per questo tag non sarà più All Pages o il nostro Analytics Trigger, ma il trigger che abbiamo appena creato. In questo modo, l'evento click sulla Call to Action verrà trasmesso ad Analytics solo in corrispondenza dell'azione che abbiamo voluto tracciare.

Tracciare la pagina in cui è avvenuto l'evento: le variabili Custom Javascript

Prima di chiudere, però, ti avevo promesso che avremo inviato ad Analytics anche il titolo della pagina in cui è avvenuto l'evento.
Non che non si possa fare anche in altri modi, ovviamente.
Diciamo, però, che vogliamo inserire dinamicamente il titolo della pagina, ad esempio, nel campo Etichetta (Label) del nostro evento.
Il problema è: come trasmettere a GTM il titolo della pagina e renderlo disponibile per il nostro tag Analytics di tipo evento?
Come al solito, utilizziamo le variabili.
In questo caso, ci converrà impostare una variabile Javascript personalizzato.
Queste variabili non sono altro che funzioni javascript che restituiscono (return) un valore che può essere utilizzato all'interno di Google Tag Manager come qualsiasi altra variabile.
Nel nostro caso, la variabile dovrà semplicemente riempirsi con il titolo della pagina, che può essere acquisito tramite la proprietà javascript document.title.
Creiamo allora la variabile javascript personalizzata Titolo Pagina, e inseriamo nel codice di configurazione la nostra funzione:
variabile javascript personalizzata google tag manager
Salviamo, e la nuova variabile sarà disponibile per essere inserita ovunque in Google Tag Manager - ivi inclusa la label del nostro evento.
Facile, no?

Continua...

Dopo questa piccola anticipazione, nella prossima puntata parleremo in modo più specifico di variabili, cercando di formalizzare quanto abbiamo iniziato a vedere qui: come utilizzare le variabili incorporate e le variabili personalizzate per utilizzare Google Tag Manager al suo meglio.

CIAO! Grazie per essere arrivato a leggere fino a qui.

Porto avanti questo blog solo per passione, senza voler fare altro se non avviare un confronto con chi condivide con me l'interesse per tutto ciò che è marketing. Se ti è piaciuto questo post, la soddisfazione più grande che potrai darmi sarà quella di condividerlo sui social media e di lasciare un tuo commento.

Se poi vuoi rimanere sempre aggiornato, iscriviti subito alla newsletter!

Inserisci qui il tuo indirizzo e-mail:

Delivered by FeedBurner

10 COMMENTS

    • È una variabile custom javascript, naturalmente, però lapsus a parte hai ragionissima: sarebbe bastato utilizzare una semplice variabile javascript realizzata (a beneficio di chi ci legge) in questo modo:
      javascript variable
      Ho introdotto il tema delle variabili personalizzate per fini “didattici”, per così dire, perché se ne parlerà abbondantemente nei prossimi articoli. Comunque hai senz’altro ragione: la strada più semplice è quella che indichi tu. 🙂

  1. Ho letto tutti gli articoli e sono una grande risorsa. Complimenti.
    Ho una difficoltà però: stò registrando gli eventi di invio di moduli di contatto e Analytics pare riceverli correttamente.
    L’unica cosa è che mi ritrovo molte registrazione di eventi fatti da bot. Come posso registrare solo gli eventi che completano il modulo di contatto nei campi obbligatori e compilano correttamente il captcha?

  2. Ciao,
    complimenti!! bellissime guide,
    utilizzo spesso gtm per siti web, mi trovo però molto in difficoltà quando devo implementarlo sulle app, da quello che ho capito (o non ho capito) è molto diverso, farai una breve guida anche per usare gtm anche sulle app ios e android?

    Francesco

  3. Ciao Fabio,
    come ci si comporta se il link da tracciare è un link anchor?
    Ho provato a fare la stessa cosa che descrivi per i link html ma non funge.
    Ciao e grazie
    Antonio

    • Non capisco perché. Comunque prova a trattarli come click generici e a vedere se ci sono lo stesso problemi. Sicuro di non aver commesso qualche errore in fase di impostazione dei trigger?

LEAVE A REPLY