Tracciare un e-commerce senza chiedere una riga di codice agli sviluppatori
Google Tag Manager serve a inserire e governare i tracciamenti di un sito senza modificarne ogni volta il codice sorgente. Detto così sembra solo un dettaglio tecnico, ma la verità è molto più umana: spesso, nei progetti web, chi ha necessità di misurare i risultati e chi ha le chiavi per toccare il codice del sito vivono in due mondi separati. Hanno tempi diversi, priorità diverse e, a volte, lavorano per aziende che non si sono mai incrociate. Questo strumento esiste proprio per fare da ponte tra queste due anime.
Quella che state per leggere è la storia di un progetto in cui questa lontananza sembrava uno scoglio insormontabile, e di come abbiamo trovato nel lontano 2015 la nostra strada per far funzionare le cose senza forzare le regole del gioco.
Table of Contents
Il vincolo
IperDrive è il servizio di spesa online di Iper La Grande i: si ordina sul sito e si ritira in punto vendita. È stato lanciato, come si diceva, nell’ottobre 2015, quando la grande distribuzione italiana sperimentava la spesa online con molta prudenza. La crescita vera del comparto alimentare online sarebbe arrivata solo con la pandemia, nel 2020.
Il catalogo era quello di un ipermercato, con migliaia di referenze, su una piattaforma sviluppata interamente su misura da un’altra agenzia. ARvis seguiva la SEO e l’ottimizzazione delle conversioni.
Serviva il tracciamento completo degli eventi: prodotti visualizzati, aggiunte al carrello, passaggi del checkout, acquisti, valore degli ordini. Senza quei dati, ogni intervento su schede e percorso d’acquisto sarebbe stato fatto alla cieca.
La strada ovvia era chiedere al team di sviluppo di inserire il codice di tracciamento evento per evento. Nei tempi del progetto non era percorribile, e il motivo non era il rapporto fra fornitori ma la dipendenza: ogni modifica al piano di misurazione sarebbe finita in coda dietro lo sviluppo del prodotto, e nei primi mesi un piano di misurazione cambia spesso. Avremmo legato il ritmo del nostro lavoro alle priorità di qualcun altro.
La scelta
Abbiamo costruito l’intero tracciamento dall’esterno, con Google Tag Manager, leggendo quello che il codice su misura faceva già invece di chiedergli di dichiararlo.
Il principio è semplice. Mentre funziona, una pagina lascia tracce osservabili: la struttura del documento, gli attributi degli elementi, i clic, i cambi di indirizzo, i valori a schermo. Se si stabilisce una corrispondenza affidabile fra quelle tracce e gli eventi commerciali che interessano, il tracciamento si può appoggiare sopra il sito invece di stare dentro il codice.
Non è la soluzione più elegante, ma ha funzionato, e quando l’alternativa era rimandare la misurazione, era quella giusta.
Il progetto ha avuto Valerio Amendolagine come responsabile tecnico e di progetto. La competenza su Tag Manager l’abbiamo costruita su misura, su questo lavoro, ed è diventata una delle cose che facciamo per i clienti.
Il risultato
Il tracciamento completo degli eventi e-commerce è stato realizzato interamente in Tag Manager, senza una riga di codice aggiunta dal team di sviluppo.
Il risultato più utile però è un altro: da quel momento chi doveva misurare poteva cambiare il piano di misurazione in autonomia, senza aprire una richiesta agli sviluppatori. È questo che ha reso possibile il lavoro successivo sulle conversioni.
In pratica, in un caso in cui non potevamo mettere mano al motore del sito, abbiamo imparato ad usare Tag Manager per tracciamenti parametrici ed abbiamo trasformato quello che sembrava un muro invalicabile nel nostro punto di forza.
Passata l’emergenza della fase di startup il TAG Manager è stato opportunamente strutturato con il datalayer e secondo i criteri della progettazione tradizionale. La soluzione che abbiamo usato ha permesso di dare il giusto tempo al team di sviluppo proprio per sviluppare una soluzione solida e affidabile che è poi la normale prassi di ogni buon rilevamento statistico.
Il metodo riutilizzabile
Da quel progetto è rimasto uno schema che usiamo ancora tutte le volte che non è possibile fare altrimenti per tempi e logistica.
1 – Prima si decide cosa misurare, poi come. L’elenco degli eventi si scrive con chi vende, non con chi sviluppa. Se non si sa quale decisione dipenderà da un dato, quel dato non va raccolto.
2 – Si cercano gli appigli più stabili. Un identificativo di prodotto o un attributo strutturale reggono nel tempo. Una classe CSS o la posizione di un elemento no: al primo restyling il tracciamento si rompe in silenzio, ed è il guasto peggiore, perché i dati continuano ad arrivare, solo sbagliati.
3 – Si lavora per famiglie, non per pagine. Su un catalogo grande non si configura la singola scheda: si riconosce il tipo di pagina e si applica la stessa regola a tutte. Così il tracciamento regge anche quando entrano prodotti nuovi.
4 – Si verifica sul dato reale. L’anteprima di Tag Manager dice che l’evento parte. Per sapere se parte giusto bisogna confrontare gli ordini tracciati con quelli registrati, sui numeri veri, per un periodo, e ripetere il controllo.
5 – Si documenta. Un tracciamento costruito dall’esterno funziona bene ma da fuori non si capisce: chi arriva dopo deve poter sapere perché una regola è scritta così. E chi arriva dopo, il più delle volte, siamo noi qualche mese più tardi!
Quando questo approccio non va usato
Naturalmente citiamo questa esperienza come caso particolare di un progetto che aveva del pioneristico e in cui la velocità di implementazione aveva la priorità sulla solidità della struttura di rilevamento. Questo metodo non è sempre utilizzabile, ha limiti precisi. Ecco i principali.
È più fragile, perché dipende dalla struttura della pagina: se il sito cambia spesso e nessuno avvisa, il tracciamento si degrada.
Non vede tutto: quello che accade solo sul server, come un ordine confermato dopo un pagamento asincrono, uno storno o un reso, dall’esterno non si osserva.
Non sostituisce un dataLayer: se il team di sviluppo può esporre i dati in modo strutturato, quella resta la strada migliore, più solida, più leggibile, più facile da mantenere. Ed è la via che abbiamo consolidato in IperDrive, una volta superata la fase di start-up.
La regola pratica: si costruisce dall’esterno quando l’accesso al codice è il collo di bottiglia, e si passa al dataLayer appena il collo di bottiglia si apre.
Domande frequenti
Google Tag Manager sostituisce Google Analytics?
Google Tag Manager non sostituisce Google Analytics: Tag Manager decide quali dati inviare e quando, Analytics è dove i dati arrivano e vengono letti. Di solito si usano insieme, ma fanno lavori diversi.
Serve saper programmare per usare Google Tag Manager?
Per la configurazione di base di Google Tag Manager non serve programmare. Per tracciare un e-commerce su un sito sviluppato su misura, di norma sì: servono JavaScript e la capacità di leggere una pagina che non è stata scritta per essere misurata.
Google Tag Manager rallenta il sito?
Google Tag Manager può rallentare un sito se è caricato male o pieno di tag che non servono. Un impianto curato pesa poco, e l’impatto va comunque misurato. Ogni tag deve avere un motivo, e i motivi vanno rivisti periodicamente.
Con Google Tag Manager si può tracciare un e-commerce su piattaforma standard senza modificare il codice del sito?
Su una piattaforma e-commerce standard è più semplice, perché le piattaforme diffuse espongono già i dati in modo strutturato e Google Tag Manager li legge da lì. Costruire il tracciamento leggendo la pagina serve quando quella struttura non c’è, come sui siti sviluppati su misura.
Quanto dura un tracciamento e-commerce costruito con Google Tag Manager leggendo la pagina?
Un tracciamento costruito leggendo la pagina dura quanto la struttura su cui si appoggia. Va rivisto a ogni intervento importante sul sito, ed è per questo che va documentato: chi interviene dopo deve poter capire perché ogni regola è scritta così.
Lavoriamo sui dati degli e-commerce da quando il tracciamento si costruiva a mano. Se avete un sito che vende e un tracciamento di cui non vi fidate, la prima cosa da fare è verificare se i numeri che leggete corrispondono agli ordini che ricevete.






