Quando il tracciamento di un sito viene costruito leggendo il testo dei pulsanti o le classi CSS degli elementi, funziona finché qualcuno non cambia il design. Basta rinominare «Invia» in «Richiedi un preventivo» e la conversione smette di essere registrata senza che nessuno se ne accorga. Il data layer nasce per risolvere questo problema: è uno strato intermedio in cui il sito pubblica, in modo esplicito e stabile, le informazioni che gli strumenti di misura devono leggere.
Che cos'è, concretamente
Nella forma più diffusa è un array JavaScript globale in cui il sito inserisce oggetti. Ogni oggetto descrive un fatto: la pagina caricata è di un certo tipo, l'utente ha completato un'azione, un prodotto è stato visualizzato. Gli strumenti di misura, spesso attraverso un tag manager, ascoltano questo array e reagiscono.
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: "form_submit",
form_id: "contatti",
form_step: "completato",
page_type: "servizio"
});
Il punto chiave è il contratto: gli sviluppatori si impegnano a pubblicare questi dati con questi nomi; chi gestisce il tracciamento si impegna a leggerli solo da lì.
Perché conviene
- Stabilità. Il design può cambiare senza rompere la misura, perché il tracciamento non dipende dall'aspetto della pagina.
- Dati che la pagina non mostra. Il sito conosce informazioni invisibili nel codice HTML, come la categoria interna di un servizio o lo stato di un utente registrato.
- Indipendenza dagli strumenti. Se cambi strumento di analytics, il data layer resta lo stesso; si rifà solo il collegamento.
- Verificabilità. Si può ispezionare l'array nella console del browser e controllare che cosa viene pubblicato.
Due tipi di informazioni
È utile separare i dati di contesto da quelli di evento:
| Tipo | Quando si pubblica | Esempi |
|---|---|---|
| Contesto della pagina | al caricamento, prima degli strumenti | tipo di pagina, lingua, sezione, stato di accesso |
| Evento | quando l'azione avviene | invio modulo, download, aggiunta al carrello |
Il contesto va inserito il prima possibile, idealmente prima del caricamento del tag manager, così che ogni evento successivo lo possa usare.
Regole di struttura
- Nomi coerenti con la tassonomia degli eventi già definita: stesse parole, stesso formato, per esempio minuscolo con trattino basso.
- Struttura piatta quando possibile. Gli oggetti annidati sono utili per elenchi di prodotti, ma per il resto complicano la lettura.
- Valori normalizzati. «servizio», non «Servizio» in una pagina e «SERVIZIO» in un'altra.
- Niente dati personali. Nomi, email e telefoni non devono entrare nel data layer: tutto ciò che vi entra può finire in strumenti esterni.
- Eventi dopo il fatto. Si pubblica «form_submit» quando il server ha accettato l'invio, non al clic sul pulsante.
Documentazione condivisa
Il data layer funziona solo se è documentato in un posto accessibile a sviluppatori e analisti. Per ogni evento servono: nome, quando viene pubblicato, proprietà con tipo e valori ammessi, pagina in cui compare, esempio di oggetto. Questa specifica è il riferimento quando si discute se un dato è sbagliato: si controlla se il sito pubblica ciò che la specifica prevede, e se il tracciamento legge ciò che il sito pubblica.
Come degenera
Ho visto data layer diventare inutilizzabili per accumulo. I segnali tipici:
- lo stesso concetto pubblicato con tre nomi diversi, aggiunti in anni diversi;
- proprietà sempre vuote, rimaste da funzionalità eliminate;
- eventi pubblicati due volte perché due componenti fanno la stessa cosa;
- valori che cambiano formato da una pagina all'altra.
La prevenzione è la stessa di qualsiasi codice: revisione delle modifiche, test automatici che verificano la presenza e il formato degli oggetti nelle pagine principali, pulizia periodica di ciò che non si usa più.
Un test minimo
Un controllo automatico può aprire le pagine chiave, eseguire le azioni principali e confrontare il contenuto del data layer con la specifica. Se un evento manca o una proprietà ha un valore inatteso, il rilascio si ferma. Costa poco da impostare e intercetta la maggior parte delle rotture prima che arrivino nei report.
In sintesi
- Il data layer è un contratto esplicito tra sito e strumenti di misura.
- Rende il tracciamento indipendente dal design e dallo strumento di analytics.
- Separa i dati di contesto, pubblicati subito, dagli eventi, pubblicati quando l'azione è confermata.
- Mantieni nomi coerenti, valori normalizzati e nessun dato personale.
- Documentalo, testalo automaticamente e ripuliscilo con regolarità.