Google Analytics lancia il nuovo tracking chiamato Global Site Tag

A circa un anno di distanza dal lancio dell’autotracking plugin 1.0, Google rilascia in versione beta la nuova tipologia di tracciamento chiamata “Global Site Tag” o gtag.js.

Di che cosa stiamo parlando?

Innanzitutto stiamo sempre parlando di tracking in modalità hard-coded e, da come viene descritto, fornisce un framework utile al tracking di tutti i principali tool forniti da Google: “measurement, conversion tracking and remarketing products”. Mi aspetto quindi che, una volta passati da questa beta embrionale ad una beta un po’ più strutturata, tramite questo nuovo tag si possa tracciare agevolmente anche il mondo AdWords, Optmize e le varie app.

Anche se sembra di essere tornati al momento in cui si è migrato tutto da ga.js a Universal Analytics – dove pianto e stridor di denti imperavano-, per poter utilizzare il nuovo tag non è necessario rimuovere il vecchio codice di tracciamento presente nel sito in quanto la libreria a cui fa riferimento è sempre analytics.js

Settare Google Global Site Tag

Per settare il nuovo gtag, basta inserire subito dopo l’apertura del tag <head> il seguente codice:

<!-- Global Site Tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=GA_TRACKING_ID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments)};
  gtag('js', new Date());

  gtag('config', 'GA_TRACKING_ID');
</script>

Per completare il tracking, sostituire il GA_TRACKING_ID con il la web property di riferimento e il codice è completo.

Come? Manca il send pageview? Corretto! Questo snippet invia automaticamente il pageview tracking, senza necessità di esplicitare il comando. Se vogliamo disabilitare il tracking automatico delle pagine, bisogna esplicitarlo tramite questo comando:

gtag('config', 'GA_TRACKING_ID', { 'send_page_view': false });

Automatic Event Tracking

La particolarità principale di questo codice, al momento, è il trattamento degli eventi: di default, infatti, per il tracking di alcune azioni degli utenti la Category, Action e Label vengono codificate in automatico.

Poniamo il caso che vogliamo tracciare, tramite evento, il numero di Sign up alla newsletter. Tramite il Global Tracking il codice da inserire alla validazione dell’iscrizione sarà questo:

gtag('event', 'sign_up', {'method': 'Landing_A'});

Il sistema passerà, automaticamente, le seguenti informazioni a Google Analytics:

  • Event Category: Engagement
  • Event Action: Sign_up
  • Event Label: Landing_A, ovvero quello che pushiamo tramite l’istruzione method.

Seguendo questo link potete visualizzare tutte le automazioni relative al tracking automatico degli eventi tramite gtag.js

Se per qualche motivo il labeling utilizzato da Google nel tracking automatico non è in linea con le nostre aspettative – o dobbiamo creare un evento non previsto tra quelli preimpostati- è possibile sovrascrivere/impostare i campi dedicati a Category, Action e Label.

gtag('event', 'sign_up', {
  'event_category': 'Registration',
  'event_label': 'User Logged'
});

In questo caso la Cateogoria Evento sarà “Registration” mentre la Label Evento sarà “User Logged”.

Altre funzionalità interessanti

Questo nuovo codice, al momento, copre quasi tutte le funzioni che possono essere create con analytics.js, ad eccezione degli esperimenti –> se li utilizzate ancora… passate immediatamente a Google Optimize!

Tra le features che saltano subito all’occhio nella documentazione vi sono sicuramente:

  • L’invio dei dati a più properties tramite inserimento di una sola linea di comando
gtag('config', 'GA_TRACKING_ID_1');
gtag('config', 'GA_TRACKING_ID_2');
  • La possibilità di specificare “gruppi” di properties a cui inviare i dati
gtag('config', 'GA_TRACKING_ID', {'groups': 'group_name'});
gtag('event', 'event_name', {
  'send_to': 'group_name',
  'parameter_1': 'value_1',
  'parameter_2': 'value_2',
  // ...
});

Nell’esempio sopra riportato, attribuisco una property ad un gruppo identificandola con il valore assegnato a ‘groups’ e successivamente invio l’evento solamente al gruppo di properties specifico, utilizzando il comando ‘send_to’ nome gruppo.

Quando utilizzare gtag.js

Nella documentazione dedicata a questo nuovo tag si legge: “you will be able to benefit from the latest dynamic features and integrations”. Questo significa che molto probabilmente ci saranno delle nuove funzionalità dedicate a questo tag che non saranno disponibili con analytics.js.

Fermi! Non correte a cambiare tag, eliminare GTM e così via.

Se state utilizzando un sistema di tag management, come Google Tag Manager, continuate ad usarlo in quanto, questo nuovo gtag.js, essendo in beta:

  • Non è un rimpiazzo a GTM
  • Non è coperto da una SLA minima
  • Al momento non permette di gestire tag esterni a GA
  • Al momento genera le stesse funzioni di analytics.js
  • Non supporta i Task

Se volete utilizzarlo, vi consiglio di provarlo prima in staging o in un sito di prova e di capire se effettivamente può darvi una mano a velocizzare alcune operazioni di tracciamento.

Per chi volesse sporcarsi un po’ le mani, qui il link alla documentazione ufficiale di Google Global Site Tag.

6 Comments

  1. Giulio

    Posted on Settembre 3, 2017 at 8:47 am

    Ciao Enrico,
    Non ho capito una cosa: quando si parla di eventi automatici io mi immagino che lui sappia da solo che è stato compilato un form … Ma penso di sbagliare…..Nell’esempio infatti scateni un codice indicando category, action e label: non capisco allora cosa cambia rispetto a prima

    Ciao,
    Giulio

    • Enrico

      Posted on Settembre 4, 2017 at 9:56 am

      Ciao Giulio,
      con il termine “eventi automatici” c’è sempre stata parecchia confusione, in tutte le versioni di Google Analytics/GTM :).
      Relativamente a gtag.js vengono definiti “eventi automatici” tutti gli eventi a cui viene associato una particolare nomenclatura. Se ad esempio definisco un evento “sign_up”, Google Analytics pesca in automatico la category e la label da associare all’evento. Fondamentalmente si traduce in un risparmi di “linee di codice” da associare all’evento stesso. Fondamentalmente non cambia nulla rispetto ad analytics.js – come riportato in più punti del post- se vuoi creare degli eventi custom. Qui puoi trovare la lookup table degli event parameters https://developers.google.com/analytics/devguides/collection/gtagjs/events . Mi aspetto che questo codice cresca di più nei prossimi mesi -siamo in beta e non sostituirà GTM- magari con l’automazione che ti aspetti.
      Grazie,
      Enrico

  2. Gianpy

    Posted on Marzo 5, 2018 at 12:06 pm

    Ciao. Ho questo scenario: codice di tracciamento Google Analytics classico, sito in WordPress con Contact Form 7 installato, passaggio delle conversioni di CF7 come eventi in Google Analytics nel seguente formato:

    ga(‘send’, ‘event’, ‘Form’, ‘Prova-Gratuita’); all’interno di funcion.php (dom event). Questa cosa ha sempre funzionato.

    Ora, se voglio passare a Global Site Tag la sintassi per passare gli eventi quale sarebbe esattamente? Ho provato con

    gtag(‘event’, ‘Prova-Gratuita’, {‘method’: ‘Prova Gratuita’}); ma sembra non funzioni.

    • Enrico

      Posted on Marzo 5, 2018 at 2:45 pm

      Ciao Gianpy,
      la sintassi gtag è leggermente diversa da quella che hai riportato in quanto per gli eventi vale sempre, come condizione per funzionare/essere rilevati, la doppietta categoria-azione. Con ‘method’ passi un evento -passami il termine- preconfezionato di Google Analytics Gtag.js: in questo caso ‘Prova Gratuita’ non è previsto (qui l’elenco dei vari eventi pronti:https://developers.google.com/analytics/devguides/collection/gtagjs/events)

      Ipotizzo una sorta di codice che possa andar bene:

      document.addEventListener( ‘wpcf7mailsent’, function( event ) {
      gtag(‘event’, ‘submit’, {‘event_category’: ‘Form Contatti’,’event_label’: ‘Prova Gratuita’});
      }, false );

      Nell’eventListener attendo che mi venga passa il valore ‘wpcf7mailsent’ e poi faccio scattare un evento gtag in cui il primo elemento è sempre l’azione e poi gli passo categoria e label (se necessaria).

      Spero possa esserti utile.
      Fammi sapere,

      Ciao,

      Enrico

  3. nico

    Posted on Aprile 13, 2018 at 11:34 am

    Per monitorare il contact form devo usare per forza google tag manager?

    • admin

      Posted on Aprile 13, 2018 at 5:33 pm

      Ciao Nico,
      Non mi è chiarissima la richiesta…
      dipende da cosa stai utilizzando. Se usi GTM si, devi passare per un tag/datalayer; se usi la modalità hardcoded no…
      Ciao
      Enrico

Leave a reply

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