[Aggiornata il 03 Maggio 2018]

Il Data Layer: questo oggetto un po’ misterioso e nebuloso di cui si parla tanto a proposito di Tag Manager ma che tanti ancora non hanno ben capito che (diavolo) è.

Una cosa è certa: di sicuro non è qualcosa che si mangia 😀

Eppure è molto importante capirne il funzionamento per avere una maggiore padronanza di GTM.

Ti ho spiegato già nel glossario apposito cosa è il Data Layer e come funziona, e qua invece ti ho spiegato cosa vuol dire “Push” o “pushare”.

Bene. Adesso ci addentriamo un po’ nell’argomento, voglio spiegarti cosa vuol dire esattamente “fare un push event” nel Data Layer. Ma procediamo per gradi.

Ti ho già spiegato nei glossari che ti ho linkato che il Data Layer è un oggetto di codice JavaScript (o meglio un Array Javascript) che mette in comunicazione il tuo sito con Google Tag Manager, che a sua volta riceve dati da altri software basati sui Tag (come Google Analytics o Google Adwords, ma non solo naturalmente).

Il Data Layer in pratica ha questa forma qua:

<script>
window.dataLayer = window.dataLayer || [];
</script>

e per funzionare deve essere collocato prima nel Tag contenitore di Google Tag Manager, nell’<head> della pagina.

Il Data Layer può essere poi modificato al suo interno, in modo tale da “pushare” (ovvero “immettere” o “iniettare”) i valori che ci servono. Questi valori che possiamo immettere possono essere variabili, costanti, eventi, stringhe e persino altri Array.

Datalayer push event: ovvero come creare un evento personalizzato

Il Push Event è una particolare tipo di Variabile utilizzata per l’attivazione dei Tag, quando l’utente interagisce con la pagina ad esempio compilando un form, cliccando su un pulsante, un link, eccetera o semplicemente in corrispondenza di un’azione che decidiamo noi.

Esempio concreto:
potremmo voler far partire un Tag di Google Analytics di tipo evento e un evento con il Pixel di Facebook quando un utente compie una di queste azioni che ho appena descritto.

<a href="#" name="button1" onclick="dataLayer.push({'event': 'button1-click'});" >Contattaci</a>

Questo vuol dire che cliccando sul pulsante “Contattaci” si verrà scatenato l’evento ‘button1-click’.

Lo puoi vedere anche in Modalità Anteprima su Google Tag Manager, se clicchi sul pulsante adesso nel menu a sinistra vedrai comparire questo:

push evento data layer google tag manager

Ok, concordo con te che il nome dell’evento fa schifo.
Niente paura, se scriviamo:

<a href="#" name="button1" onclick="dataLayer.push({'event': 'contatto'});" >Contattaci</a>

l’evento ora sarà nominato ‘contatto’.

push evento data layer google tag manager 2

Ecco un altro esempio di push event:

dataLayer.push({'event': 'mioevento', 'chiavechevoglio': 'valore che voglio'});

 

push evento data layer google tag manager 3

E ora come intercetto queste Variabili su GTM ora che le ho in pancia?

Ecco la risposta!

In Google Tag Manager si possono creare anche degli Attivatori Evento Personalizzato. Li trovi qua:

  • Attivatori > Nuovo > Evento Personalizzato

attivatore evento personalizzato google tag manager

Adesso nel campo “Nome Evento” ti basterà inserire esattamente il nome che abbiamo scelto per l’evento:

  • button1-click nel primo caso
  • contatto nel secondo caso
  • mioevento nel terzo

Salva l’Attivatore Evento Personalizzato nominandolo allo stesso modo 🙂

attivatore evento personalizzato google tag manager1

 

Ricordati sempre di rendere effettive le modifiche pubblicando la nuova versione del contenitore, ovvero cliccando il pulsante blu “Invia”!

That’s all, Folks! A presto e… Buon Tag!

Condividi anche tu Google Tag Manager!
  • Reply

    Jea

    22 08 2018

    Buonasera Matteo,

    Ti rinnovo i complimenti per questa fantastica guida, davvero pratica ed utile.

    Per gestire le conversioni ho creato un attivatore di tipo evento personalizzato, avendo sul codice della pagina da monitorare il push event corrispondente.
    Questo attivatore è in riferimento a due tag che mi sono utili, tra cui un trigger di linker conversioni ed un’altro di Monitoraggio di Google Ads. Questi nel caso ci fosse “corrispondeza” SEM.

    Per portarmi le informazioni anche su GA Google Analytics, non ho utilizzato GTM, ma ho creato i ga events.

    Volevo chiederti quale poteva essere la soluzione ideale per poter monitorare una pagina per la quale devo usare per forza un evento (non ho niente nella URL potermi indicare la conversione).

    Al momento ho provato su un contenitore, ancora in draft, pensavo di esportarla sugli altri nel caso ci fosse possibilità di poter esportare anche solo una modifica su altri contenitori.

    Grazie mille Matteo 🙂

    • Matteo Zambon

      23 08 2018

      Ciao Jessica, sicuramente devi usare un evento se non hai altre possibilità 🙂 Se la modifica con il contenitore in draft ha portato successo allora direi che potresti implementarla 🙂
      Non ci sono problemi a usare assieme script GA e GTM 😉

      A presto e grazie dei complimenti!

      PS: Hai visto che c’è la possibilità di avere 60 giorni gratuiti del Club Tag Manager Italia grazie al pass? Trovi il link su “Iscriviti al Club”.

  • Reply

    arnaldo

    22 08 2018

    ciao matteo , sono arnaldo e ti faccio i complimenti per tutti gli aiuti che ci dai sul tagmanager. Vorrei porti una domanda, sto realizzando un e-commerce dove nella pagina prodotto, ho realizzato un form che il cliente deve riempire per calcolare il prezzo personalizzato. In pratica deve inserire due misure (Altezza e Larghezza).Cliccando sul bottone calcola, tramite una funzione apposita,calcola il prezzo e lo visualizza. Tramite le tue guide , sono riuscito , quando vado su google analitics a sapere che tipo di misura ha messo il cliente ed il relativo prezzo. Però, ed è questa la domanda, ho notato che il prezzo che mi mostra GA è diverso da quello mostrato a video al cliente. Come mai? La variabile che ho creato su tag manager è di tipo elemento DOM, con metodo di selezione ID.Potrebbe essere che magari la variabile è una stringa mentre il valore è numerico?. Ti ringrazio anticipatamente.

    • Matteo Zambon

      22 08 2018

      Ciao Arnaldo e grazie dei complimenti 🙂
      Se usi variabile di tipo DOM avrai il valore nel caricamento di pagina. Se l’utente lo modifica e clicca ok il valore sarà diverso. Ti consiglio di usare variabile di tipo javascript personalizzato 🙂

  • Reply

    Dennis

    07 06 2018

    Ciao Matteo,

    una volta che ho creato questi eventi personalizzati, come li lego a Google Analytics?

    • Matteo Zambon

      07 06 2018

      Ciao Dennis, attraverso il Tag di Google Analytics 🙂
      Avrei bisogno di capire più precisamente cosa intendi fare per darti una risposta dettagliata.

    • arnaldo

      22 08 2018

      In effetto il valore che visualizzo è quello che di cui ho bisogno ed il cliente non può modificarlo. Nell’anteprima di GTM leggo il valore corretto associato alla variabile DOM, ma poi non capisco perchè GA la modifica dandomi u’altro valore…..

    • Matteo Zambon

      22 08 2018

      Hai provato a vedere nel tag che valori vengono passati quando il tag si attiva? Lo puoi fare con il debug attivo 🙂

  • Reply

    Jea

    03 04 2018

    Ciao Matteo,

    Grazie mille per le tue preziose guide e per la tua dedizione 🙂
    Vorrei chiederti se secondo te è sbagliato creare un’evento per monitorare il page view di una pagina specifica? Vorrei utilizzare questo evento / page view pagina, con altri eventi per poterli vedere nel flusso eventi.

    Situazione pratica, nella forma di Subscribe ho monitorato i check consenso privacy e submit con gli eventi , e segnato la privacy policy page con un evento chiamato PageView_PrivacyPolicy. Mi chiedevo se creare un’evento per “vederlo” come page view ed utilizzarlo poi nel flusso eventi per vedere il workflow fosse sbagliato.

    Grazie mille Matteo.
    Buon inizio settimana!

    • Matteo Zambon

      03 04 2018

      Ciao Jessica, se per te è più semplice lo puoi fare (farai un hit aggiuntivo a Google Analytics). Non ci vedo niente di male 🙂

      A presto!

    • arnaldo

      22 08 2018

      si, ho provato…. il valore che vedo nel debug è quello corretto… è analitycs che mi riporta il valore errato. se vuoi posso mandarti degli screenshot, se mi dici dove…buona giornata e scusami per il disturbo.

    • Matteo Zambon

      23 08 2018

      Inseriscili pure qui utilizzando qualche piattaforma di sharing 🙂

Hai ancora qualche dubbio?
Chiedi pure qui sotto, sarò pronto a risponderti!

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

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.