CONDIVIDI

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

Una delle cose che più mi hanno dato fastidio di quel pasticciaccio brutto che è passato alla storia come Cookie Law è il fatto di non poter caricare il codice di monitoraggio di Google Analytics come più mi pare e piace.

Nelle settimane e nei giorni intorno al roll-out della Cookie Law, proprio sulla questione di Analytics ho sentito le voci che più mi hanno dispiaciuto. Colleghi che preferivano rinunciare ai servizi di Google Analytics pur di non incorrere nelle sanzioni, altri che lasciavano il codice di monitoraggio sul proprio sito, ma limitandone le funzionalità e chi più ne ha più ne metta.
Anche io, inizialmente, confesso di essere stato preso dal timor panico, e avevo addirittura elaborato uno script che serviva a caricare il Tracking Code solo nel momento in cui il famigerato cookie tecnico di consenso alla privacy policy del mio sito fosse saldamente installato sul computer dell'utente.
Risultato: dato che non sono certo un programmatore, il solo modo che avevo trovato per poter effettuare questa operazione era stato mediante un refresh della pagina di destinazione una volta ottenuto il consenso.
Insomma, un pasticcio.

La soluzione dietro l'angolo

Poi ho iniziato a ragionare, una volta passata la bufera e riguadagnata la calma, e mi sono detto: perché non provare a lavorare con Google Tag Manager per compiere questa operazione in modo sicuramente più "pulito" e performante?
Detto fatto, ho trovato una possibile soluzione, che sottopongo ai miei lettori anche per vedere se qualcuno fra loro ne ha delle migliori.
Provate a seguirmi.

Come installare Google Tag Manager

Va bene: da domani mi impegno a scrivere una serie di articoli di Knowledge Base relativi a Google Tag Manager, per descriverne i benefici pratici e imparare a lavorare insieme passo-passo con questo formidabile strumento, che costituisce al momento il migliore amico di qualsiasi tool di web analytics a nostra disposizione, incluso ovviamente Google Analytics.
Nell'attesa, ammesso che tu non l'abbia già fatto, in questo paragrafo ti spiego rapidamente come installare Google Tag Manager sul tuo sito in qualche brevissimo passaggio. Se hai già il tuo account di Google Tag Manager puoi ovviamente saltare a piè pari questo paragrafo.

1. Crea un account

Passaggio obbligato, ovviamente.
Vai sul sito di Google Tag Manager, registrati utilizzando le tue credenziali Google e crea un nuovo account GTM:
#CookieLaw: come abilitare Google Analytics in modo condizionale usando Google Tag Manager [Case Study]

2. Crea un contenitore

Il contenitore è un po' l'equivalente delle Proprietà di Analytics. Un Account può disporre di più contenitori, per gestire diversi siti e applicazioni, o semplicemente per avere un layer di test dove creare agevolmente i propri tag senza fare danni.

3. Inserisci il Tag Manager Code nel tuo sito

Bene. È arrivato il momento di... cancellare dal tuo sito il codice di monitoraggio di Google Analytics. Non ti preoccupare, lo recupereremo fra poco.
Sostituiscilo con il codice di Codice di Installazione di Google Tag Manager:
#CookieLaw: come abilitare Google Analytics in modo condizionale usando Google Tag Manager [Case Study]
Ecco fatto: Tag Manager è installato sul tuo sito, e possiamo iniziare a lavorarci.
Iniziamo allora a recuperare le informazioni di Analytics.
Per iniziare, creiamo una costante che contenga il nostro ID di monitoraggio di Universal Analytics: andiamo su Variabili, e creiamo una nuova Variabile di tipo Costante. Chiamiamola TrackingCode, e inseriamo in essa il codice UA-XXXXXXXX-X che caratterizza il nostro account Analytics:
#CookieLaw: come abilitare Google Analytics in modo condizionale usando Google Tag Manager [Case Study]
Poi andiamo su Tag, e creiamo un nuovo Tag di Analytics nel seguente modo:
#CookieLaw: come abilitare Google Analytics in modo condizionale usando Google Tag Manager [Case Study]
Ecco: il nostro tag di Analytics è stato creato.
Il problema è che dobbiamo convincerlo ad attivarsi, e a farlo solo quando il nostro utente dà il consenso all'uso dei cookie di profilazione.

Il problema del tracciamento condizionale

Facciamo allora un piccolo salto indietro. Come funziona Google Tag Manager?
GTM lavora essenzialmente mediante la gestione di tre caratteristiche:

Variabili

Sono esattamente quel che ci si aspetta: contenitori di valori, che possono essere di diverso tipo, dal livello dati alla lettura di proprietà della pagina web ecc. Le useremo in diversi modi in questo case study

Attivatori

In inglese: trigger, o grilletti. Sono delle funzioni in grado di attivare, se vengono rispettate determinate condizioni, i tag di Google Tag Manager

Tag

Ovvero marcatori. I tag sono in cuore del sistema. Possono essere macro o oggetti che vengono passati ad altre applicazioni. Tra i tag a disposizione, c'è anche quello che da noi realizzato poc'anzi, che invia le pageviews a Google Analytics.
Con questi strumenti a disposizione, dobbiamo riuscire a impostare le cose secondo due condizioni possibili:
  • a) se il cookie di accettazione della privacy policy è già presente al momento del caricamento della pagina, connetti il sito ad Analytics
  • b) se il cookie non è presente, devi invece aspettare che venga creato, e solo a questa condizione puoi connettere il sito ad Analytics
Iniziamo allora a chiederci se il cookie di accettazione è presente sul computer dei nostri utenti.
Per farlo, dobbiamo caricare il valore del cookie in GTM, utilizzando una variabile.
Di che tipo?
Ovviamente una variabile che sia in grado di rilevare la presenza (e il valore) di un dato cookie. Andiamo allora su GTM e creiamo una Variabile di tipo Cookie Proprietario.
#CookieLaw: come abilitare Google Analytics in modo condizionale usando Google Tag Manager [Case Study]
Ho creato la mia, e l'ho chiamata cookieConsentVar.
Il valore che assume sarà, nel mio caso, quello del cookie displayCookieConsent. Il nome di questo cookie (e il valore che assume) varia ovviamente in funzione della soluzione che hai scelto per rendere il tuo sito cookie law compliant. Di certo, ne hai uno che serve a questo scopo: cercalo, utilizzando ad esempio la funzione Ispeziona Elemento di Chrome, e inserisci il suo nome (non il valore) nell'apposito spazio.
 cookieconsent

Il timer trigger

Bene: a questo punto abbiamo una variabile che assume il valore del cookie di profilazione (rimanendo indefinita se il cookie non è presente).
Dato che noi non sappiamo quando il cookie verrà creato, per poterne rilevare il valore dobbiamo evidentemente utilizzare uno strumento che analizzi continuamente il valore della variabile, per vedere quando il nostro cookie di consenso assume il valore desiderato.
Lo strumento da utilizzare a questo scopo sarà un trigger (o attivatore) di tipo timer.
Questo tipo di trigger verifica continuamente la presenza o meno di una condizione sul sito, e "spara" solamente se la condizione è verificata. La condizione che dovremo cercare nel nostro caso, ovviamente, è la presenza del valore "y" (nel mio caso) nella variabile cookieConsentVar.
Vediamo come:
#CookieLaw: come abilitare Google Analytics in modo condizionale usando Google Tag Manager [Case Study]Ecco fatto: il nostro trigger analizzerà su qualsiasi pagina (Abilita quando: Titolo Pagina, o URL pagina uguale all'espressione regolare .*) il valore della nostra variabile ogni secondo per 120 secondi. Tutte le volte che troverà verificata la condizione da noi posta, il trigger "sparerà", e questo evento sarà intercettabile mediante l'impostazione di un tag.
Finito, allora? Basterà creare un tag che mandi i dati ad Analytics in corrispondenza dell'attivarsi del nostro trigger CookieTimer, e il gioco sarà fatto?
No, ovviamente.
Il problema è che il trigger si attiva davvero ogni volta che si verifica la condizione da noi imposta. Quindi, nel nostro caso, avremmo una chiamata ad Analytics (e una visita) al secondo.
Ancora non ci siamo.

Usiamo una variabile di confronto

Noi vogliamo invece attivare Analytics solo la prima volta in cui si verifica la condizione: cookieConsentVar="y".
A questo scopo, mi pare che l'unico modo di agire sia quello di impostare una nuova variabile che possa fare da termine di confronto. La variabile (che chiameremo cookiectrl) avrà come valore iniziale, ad esempio, "nocookie": per cui verrà impostata a "y" solamente quando la nostra  cookieConsentVar avrà anch'essa valore "y". A questo punto, potremo far eseguire al Timer Trigger di Google Tag Manager un ciclo di questo genere:
  • a) rileva il valore di cookieConsentVar.
  • b) se  cookieConsentVar <> "y" non fare nulla e passa al prossimo ciclo
  • c) se  cookieConsentVar = "y" allora:
    • c1) verifica il valore di cookiecrtl. Se è "nocookie", allora attiva il tag di Analytics. Se invece è "y", non fare nulla.
    • c2) copia il valore di  cookieConsentVar dentro cookiectrl.
Chiaro, no? Il sistema opera un confronto tra variabili: se sono differenti, allora vuol dire che è la prima volta che viene rilevato il cookie di consenso, per cui viene attivato Analytics. In caso contrario, vuol dire che il valore era già stato rilevato, per cui non verrà fatto nulla.
Creiamoci allora, per iniziare, la nostra cookiectrl. Sarà una variabile di livello dati, ovviamente, e avrà questo aspetto:
#CookieLaw: come abilitare Google Analytics in modo condizionale usando Google Tag Manager [Case Study]
Nota il valore preimpostato.
Per fare il confronto, dovremo inizializzare un nuovo tag, dove verrà contenuta la breve routine javascript che effettua la comparazione tra le variabili. Dovremo dunque impostare un tag di tipo HTML personalizzato, che attiveremo ogni volta che verrà "sparato" il nostro timer.
Eccolo qui:
#CookieLaw: come abilitare Google Analytics in modo condizionale usando Google Tag Manager [Case Study]

La piccola routine javascript che effettua il confronto sarà naturalmente impostata in questo modo:

GTMCODE

Attenzione a virgolette, parentesi e uso di maiuscole e minuscole, altrimenti il tutto potrebbe non funzionare!!

Il cerchio si chiude

Bene, mi pare che gli ingredienti a questo punto ci siano tutti. Vorrei portare un attimo la tua attenzione sulla seguente istruzione:

cookiectrl

Che vuol dire? Vuol dire, sostanzialmente, che qualora ci siano le condizioni giuste questo tag invierà al Data Layer un evento personalizzato, che si chiama fireanalytics.

A cosa serve questo evento? Serve, ovviamente, a innescare un attivatore di tipo Evento Personalizzato.

Lo creeremo in questo modo:

#CookieLaw: come abilitare Google Analytics in modo condizionale usando Google Tag Manager [Case Study]

Insomma: se GTM riceve nel data layer un evento che si chiama fireanalytics, fa scattare il grilletto sull'attivatore AnalyticsTrigger.

A questo punto indovina: quale tag verrà correlato a questo attivatore?

Giusto!

Esattamente il tag di Universal Analytics, che a questo punto andremo a completare inserendo come unica condizione di attivazione il trigger AnalyticsTrigger.

#CookieLaw: come abilitare Google Analytics in modo condizionale usando Google Tag Manager [Case Study]

Facile, no?

Conclusioni

Bene: il cerchio si chiude.

Questo semplice Case Study non vuole essere, ovviamente, una lezione strutturata sull'uso di Google Tag Manager in relazione a Google Analytics. Magari ci occuperemo di questo in una prossima serie di articoli, dopo l'estate (ovviamente se la cosa interessa i miei lettori: lascia un commento!).

Lo scopo dell'articolo era solo quello di dimostrare come l'integrazione di Google Tag Manager sul proprio sito web possa portare a risolvere in modo semplice problemi che altrimenti (se pure fossero risolvibili in altro modo) richiederebbero competenze tecniche molto specialistiche.

Sperando sia stato utile, e magari chiedendoti se tu avresti usato soluzioni differenti per ottenere lo stesso risultato, non mi resta che salutarti: alla prossima!

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

  1. ciao Fabio, complimenti per la guida , davvero molto carina e semplice da seguire. Io ho incominciato a lavorare con Google tag manager già da un bel po’ di tempo e devo dire che questo strumento offre tantissime potenzialità , ma oggi moltissime persone ancora non lo conoscono. Spero continui a fare guide su GTM.
    Buona giornata . Fulvio.

    • Grazie mille, Fulvio. In effetti ci sto pensando seriamente: si tratta di un approccio alla web analytics ancora poco conosciuto e ancor meno usato, che varrebbe la pena invece diffondere. Ne parliamo a settembre! 🙂

  2. bell’articolo, ti ringrazio. Sarebbe utile avere una case study anche per il tracciamento di obiettivi e conversioni con GA. Buon lavoro!

    • Lo sto già scrivendo! 🙂
      Grazie mille per l’apprezzamento, Simona. Scherzi a parte, la mia idea era proprio quella di iniziare a settembre a pubblicare una serie di articoli per spiegare passo-passo come implementare le principali funzionalità di GTM connesse con Analytics. A questo punto, visti gli apprezzamenti, credo proprio che lo farò. Ci vediamo a settembre!
      Intanto, potresti iscriverti alla newsletter, per restare informata sulle prossime uscite. Mooooolto Analytics ci aspetta nel prossimo futuro.
      Un saluto,
      Fabio

  3. ecco… Non sapevo nemmeno che esistesse! Come sempre sei molto chiaro anche per gli impediti. Ho in programma il ‘trasloco’ questo we e proverò pure questo 🙂

  4. Ciao Fabio,
    è tutto bello e chiaro, ma personalmente avevo capito che il codice di GA (se non è remarketing) non ha necessità di essere condizionato al consenso dell’utente, basta anonimizzare l’IP a google. vedi http://www.garanteprivacy.it/cookie
    o forse ho capito male io?

    Ciao,
    Giulio

    • Sì, secondo l’interpretazione attuale dovrebbe bastare l’anonimizzazione degli IP, a meno che tu non voglia utilizzare dati di profilazione (il che per moltissimi siti dovrebbe essere la norma). In quel caso, ci dovrebbe essere la notifica al garante e poi un sistema di tracciamento subordinato comunque al consenso. La soluzione che prospetto va in questa direzione.
      La cosa che mi interessava di più mettere in evidenza, comunque, non è l’aspetto cookielaw, ma il modo in cui mediante Google Tag Manager si possa subordinare l’invio delle informazioni ad Analytics al tracciamento di un cookie anche se questo si crea in modo dinamico all’interno della pagina – il che ad esempio ha infinite applicazioni, ad esempio in ambito enhanced e-commerce per evitare transazioni duplicate ecc.

LEAVE A REPLY