
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 abbiamo visto nelle precedenti puntate, tutte le volte che intendiamo utilizzare un tag in Google Tag Manager dobbiamo fare ricorso ad un attivatore, o trigger.
Gli attivatori sono quindi gli strumenti più importanti in Google Tag Manager. Per questo, a mio parere, vale la pena imparare a conoscerli un po' meglio, per capire quali sono le tipologie di attivatore disponibili in Google Tag Manager, e quali ruoli possono ricoprire all'interno della nostra strategia di web analytics.
Impareremo quindi, in questa e nella prossima puntata, ad utilizzare gli attivatori in relazione agli auto-eventi.
Google Tag Manager: anatomia dei trigger
Iniziamo da una considerazione (apparentemente) banale: quando inizi a impostare (o a pensare di impostare) un trigger in Google Tag Manager, faresti bene ad avere prima le idee chiare su quali eventi vuoi tracciare.
Perché dico questo?
Perché, quando si parla di attivatori, occorre essere estremamente specifici nel delineare già a livello progettuale cosa si vuole analizzare.
Ad esempio: non puoi dire: «Voglio tracciare un form di registrazione». Questa frase è priva di senso, nel mondo di Google Tag Manager (e in generale nella web analytics, aggiungerei).
Quale evento vuoi tracciare, esattamente? Vuoi tracciare la visualizzazione del form, la sua compilazione, o il suo invio? Ognuno di questi eventi, infatti, richiede l'utilizzo di un attivatore di tipo diverso - e nel secondo caso, anche di una buona quantità di righe di codice in javascript.
Inoltre, sarebbe opportuno valutare, sempre a livello progettuale, lo scope in cui il trigger può essere attivato (tutte le pagine, solo alcune pagine...) e le variabili in gioco, in modo da averle disponibili al momento in cui si inizia a lavorare sul flusso di attivazione dei tag.
Fatta questa doverosa premessa, iniziamo a valutare i principali (e più utilizzati dalle persone "normali") attivatori messi a nostra disposizione da Google Tag Manager, e cerchiamo di capire a cosa servono.


Vediamo qui sopra che aspetto ha la schermata di creazione di un nuovo trigger, nelle versioni italiana e inglese di Google Tag Manager (io le vedo entrambe, sulla base dell'account di Google che utilizzo al momento). In questo modo, potrò utilizzare in questo articolo alternativamente entrambe le dizioni, sapendo che tu potrai decifrarle secondo il tuo caso.
Iniziamo dunque dal primo trigger, e andiamo avanti.
Visualizzazione di Pagina o Page View
È il caso più semplice di evento di attivazione. Corrisponde, evidentemente, all'occorrenza dell'evento in cui viene caricata una pagina o una finestra, o al caso in cui il DOM sia in stato Ready.

Normalmente, per i nostri scopi utilizzeremo Page View. Qualora però si voglia legare il trigger a un evento come il completamento del caricamento della pagina, dovremo utilizzare uno degli altri due tipi di attivatore.
Ogni tipo di visualizzazione di pagina ha uno scopo differente: utilizzerai Page View (corrispondente all'evento gtm.js) se vuoi che il trigger parta appena possibile; utilizzerai DOM Ready (gtm.dom) se il tuo tag dovrà valutare, ad esempio, variabili o frammenti di codice presenti alla fine della pagina. Infine, utilizzerai gtm.load, corrispondente al tipo di trigger Window Loaded, se vuoi che il tag venga sparato solo quando la pagina è stata completamente caricata e tutti i processi iniziali in essa presenti sono stati compiuti.
Se non hai bisogno di queste distinzioni, come detto, utilizzerai sempre Page View per i tuoi tag.
Clic o Click
Ancora una volta, un trigger solo apparentemente semplice.
Iniziamo con il distinguere: vuoi tracciare il click su un link o il click su un altro elemento presente nella tua pagina (ad esempio un pulsante)?
Il primo caso è ovviamente il più comune, ed è quello in cui l'evento viene propagato da una istruzione html di tipo <a/>, anche se nidificato all'interno di <div/> o <span/>.
Per tracciare un link, devi ovviamente identificarlo. Prima ancora di lanciare il tag, però, devi spiegare a GTM cosa vuoi che accada al momento del click.
Insomma, devi configurare il trigger.

Vuoi che il link divenga operativo solamente nel momento in cui Google Tag Manager abbia completato tutti i suoi processi? E per quanto tempo? È ovvio che la risposta sarà affermativa, se il click provoca un cambio pagina; altrimenti, non sarà necessario - anzi, potrebbe essere dannoso, per cui sarà bene disattivarlo.
Una volta configurato il click trigger in questo modo, dovrai specificare quando attivarlo. Normalmente, si fa presto: la condizione tipica (che dovrai comporre utilizzando i campi a tua disposizione) è
Page URL matches regex .*
Cosa vuol dire? Semplicemente, che il trigger potrà essere "sparato" su tutte le pagine in cui è presente il Tracking Code di Google Tag Manager. Non ti preoccupare: dedicherò alle espressioni regolari un articolo apposito di questo piccolo corso a puntate. Per ora, ti prego di accontentarti della mia spiegazione.
Ricapitoliamo: abbiamo spiegato a Google Tag Manager che vogliamo tracciare dei link, che vogliamo attivare e concludere l'esecuzione di tutti i tag una volta cliccato sul link in questione, e che intendiamo tracciare il nostro link su tutte le pagine del nostro sito.
Manca solo un dettaglio: non abbiamo detto a GTM quale link vogliamo tracciare con il nostro trigger.
Per fare questo, dobbiamo passare alla fase 4, dove ci troviamo davanti a una scelta: tracciare tutti i click, o solo qualcuno?
Immagino che tu non vorrai tracciare in modo indistinto tutti i click che effettua l'utente sulle tue pagine: non ne vedo l'utilità.
Andiamo quindi a dettare delle condizioni.

Le condizioni: c'è solo l'imbarazzo della scelta. Puoi identificare il tuo click specifico utilizzando la URL di destinazione (immagina che tu voglia tracciare tutte le volte che un utente clicca su un link che rimanda ad una tua pagina specifica, indipendentemente dalla posizione e dal tipo di Call To Action), un Id o una classe.
In questo modo, potrai identificare un pulsante o un link specifico e tracciare solo il click su di esso, al fine di attivare, ad esempio, un tag di analytics di tipo evento ed arrivare così a creare una micro-conversione.
Che succede, però, se non sei in grado di identificare il tuo click con nessuna delle variabili a disposizione? In quel caso, dovrai creare una variabile di auto-evento: ne parleremo in una prossima puntata, dedicata appunto a questo tema.
Modulo o Form
Il trigger di tipo modulo funziona in modo del tutto similare agli attivatori di tipo click, ma reagisce a un evento di tipo submit(). Se tuttavia questo tipo di evento non viene generato correttamente (ad esempio perché il form viene gestito diversamente, magari mediante Ajax) il trigger non si attiverà.
In questo caso, converrà ancora una volta utilizzare un evento click (sul pulsante di invio del form), identificando il pulsante con un identificatore di classe o con un auto-evento.
Ne parleremo ancora.
Evento Personalizzato o Custom Event
È un attivatore generato da un evento che occorre nel data Layer.
La schermata di impostazione è semplicissima, e si riduce all'identificazione del nome dell'evento su cui vogliamo far insistere il trigger:

Il lavoro di generazione dell'evento, evidentemente, va fatto altrove: in particolare, utilizzando i tag di tipo HTML personalizzato.
Mediante l'uso di questo tipo di tag, infatti, sarà possibile elaborare uno script in javascript che, in determinate condizioni, possa trasmettere al dataLayer la creazione di un evento che verrà poi intercettato dal nostro trigger di tipo Custom Event.
La sintassi di creazione di un evento nel dataLayer utilizzando un tag HTML personalizzato è la seguente (attenzione anche a maiuscole e minuscole):

Al posto di event_name andrà il nome del nostro evento, che poi riporteremo nel trigger di tipo Evento Personalizzato.
Difficile?
Meno di quanto tu creda. Non preoccuparti: vedremo nelle prossime puntate come usare questa funzionalità per ottenere risultati interessanti dal punto di vista della web analytics.
Attivatori Timer
Questo tipo di attivatore è forse il più interessante, poiché consente di analizzare la pagina in momenti successivi allo scopo di vedere se qualcosa è cambiato.
Dal punto di vista dell'implementazione, il Timer si compone di due variabili, che vanno a interessare l'evento gtm.timer.
Il primo è evidente: misura ogni quanto tempo (in millisecondi) deve essere sparato il trigger.
Il secondo, relativo al limite, indica quante volte complessivamente l'evento deve essere attivato. In sostanza, se voglio sparare il mio attivatore ogni due secondi, per un totale di 5 volte, dovrò inserire 2000 nel primo campo, e 5 nel secondo.

Cosa si può fare con un attivatore di questo genere?
Sostanzialmente, due cose.
Si può sparare direttamente un tag tra quelli preimpostati in Google Tag Manager. Ad esempio, posso sparare un evento una volta sola, 20 secondi dopo che la pagina è stata caricata, per andare ad alimentare una dimensione personalizzata di Google Analytics.
Oppure, si può sparare un tag HTML personalizzato per verificare, ad esempio, se si è verificato qualche evento che ha cambiato una variabile all'interno del dataLayer.
In ogni caso, si deve ricordare di porre sempre un limite al numero di volte in cui l'evento viene sparato, per evitare di sovraccaricare il client: se non indico un limite, infatti, il trigger verrà sparato all'infinito, fintanto che la pagina è visualizzata nel browser.
Gli attivatori in azione
Vedremo nelle prossime puntate come sfruttare le specificità di ognuno degli attivatori più importanti messi a nostra disposizione da Google Tag Manager.
Intanto, prova a giocarci da solo, osservando come al solito i risultati nell'Anteprima.
Sono sicuro che troverai molti spunti interessanti. Nella prossima puntata inizieremo ad occuparci di problemi concreti: parleremo di come tracciare una call to action per trasmettere l'informazione a Google Analytics.
Stay tuned!