Data Layer e Tag Management System per e-commerce: l’architettura dei dati per tracciare la user experience
E' passato un po' di tempo da quando ho scritto questo articolo.
Il mondo del digital è sempre in evoluzione e potresti trovare delle informazioni non più aggiornate.
Lo strumento fondamentale che permette una gestione efficace, efficiente e scalabile del proprio sistema di tracciamento ed analisi della customer experience è senza dubbio il Tag Management System, ovvero un tool che ha come scopo principale quello di gestire in modo centralizzato tutti i tag di tracciamento delle diverse piattaforme di analisi dei dati.
Per far funzionare al meglio un Tag Management System nel mondo dell'e-commerce, non è sufficiente soltanto installare un codice nelle pagine del sito, ma occorre costruire una vera e propria architettura informativa per il tracciamento della customer experience.
L'architettura dovrebbe composta almeno da 4 strati principali:
- un unico codice di tracciamento , ovvero quello del Tag Management System;
- il DataLayer, lo strato intermedio che espone dati e messaggi al Tag Management System.
- il Tag Management System, che comunica utilizzando i dati presenti nel data layer alle diverse piattaforme di tracciamento, occupandosi di gestire le diverse sintassi e attivando i tag necessari nel modo opportuno;
- ed infine i sistemi di Web Analytics, che configurati nel modo corretto dal tag management system permettono un'analisi dei dati puntuale e completa.
1. Cos'è il Data Layer?
Il Data Layer svolge il ruolo di bus esponendo in modo standardizzato le informazioni utili per tracciare la navigazione degli utenti, estraendole dalla piattaforma e-commerce in base al contesto di navigazione.
E' sicuramente il componente centrale del sistema di tracciamento, più completo e ben strutturato è, migliori ed accurati saranno i dati a disposizione del software di web analytics.
Le informazioni messe a disposizione dal DataLayer verranno poi utilizzate dal Tag Management System, che si occuperà di leggere il Data Layer e di attivare i tag per il tracciamento corretti.
Ad esempio, nel caso in cui si vogliano segmentare gli utenti autenticati e "guest", è necessario che il Data Layer esponga al Tag Management System la variabile logged con valori a "si" o "no". In questo modo, nel momento in cui l'utente si autenticherà nel sito questa variabile verrà valorizzata a "sì". Il Tag Management System, quindi, comunicherà il valore della variabile al software di tracciamento che ne permetterà l'analisi al web analyst. YEO!
2. Quali sono i vantaggi di quest'architettura?
Gestire il tracciamento con il Data Layer abbinato ad un Tag Management System ha diversi vantaggi:
- la gestione centralizzata della configurazione di web analytics poichè i codici di tracciamento vengono completamente gestiti dal Tag Management System mentre le informazioni necessarie al tracciamento vengono fornite unicamente dal DataLayer;
- la maggiore semplicità dal punto vista del team di sviluppo sia in termini di standardizzazione che per la gestione della manutenzione e i debugging;
- la totale automonia da parte dei marketers e analyst poichè una volta a disposizione il Data Layer, sono autonomi nelle configurazioni e nell'utilizzo di eventuali nuovi sistemi di tracciamento anche complessi.
3. Che cosa deve contenere il Data Layer?
Il Data Layer dovrebbe contenere la stragrande maggioranza delle informazioni legate al tracciamento di web analytics: degli eventi, alle informazioni sull'utente e quelle delle transazioni e-commerce.
Il Data Layer contiene principalmente di 4 tipi principali di informazioni:
- dettagli sul visitatore ( se l'utente è loggato, l'id cliente, il numero di acquisti fatti, ecc.);
- dettagli sull'esperienza utente e del contesto di navigazione( la tipologia di pagina che sta visualizzando, il nome della categoria navigata, filtri di navigazione attivati, ecc.);
- dettagli sugli acquisti (prodotti acquistati, prezzo, sconti, ecc.);
- azioni particolari ed eventi utili per il tracciamento della user experience (ad esempio l'aggiunta al carrello di un prodotto, la sottoscrizione alla newsletter, l'aggiunta alla wishlist, ecc.);
Nella tabella sotto ho riassunto una prima lista di informazioni utili per il tracciamento di un e-commerce con alcuni esempi di:
- entità (l'informazione logica che si vorrebbe tracciare);
- variabile/oggetto del datalayer e i rispettivi valori attesi;
- scope della variabile, quando questi dati dovrebbero essere valorizzati in un e-commerce.
Entità | Variabile/Oggetto | Valori attesi | Scope |
Page Grouping | PageType | HomePage, Category, Search, Product, Cart, CheckOut, Thankyou (Success),... | All website |
User Segmentation | Logged | Yes/Not | All website |
Purchases | Numero di acquisti eseguiti dell'utente | All website | |
RegistrationDate | Data di registrazione | All website | |
FirstPurchase | Data primo acquisto | All website | |
LastPurchase | Data ultimo acquisto | All website | |
Category - Navigation | CategoryName | Nome della categoria di navigazione | Category |
Filter - Navigation | ActivateFilters | Nome del filtro di navigazione attivo | Category |
FilterValue | Valore del filtro di navigazione attivo | Category | |
Product - Navigation
|
ProductCode | Codice Prodotto | Product |
ProductName | Nome del prodotto visitato | Product | |
Category | Categoria di appartenenza del prodotto | Product | |
Transaction - Conversion
|
OrderID | Id dell'ordine | Order |
Total | Importo ordine | Order | |
ShippingCost | Costi di spedizione | Order | |
PaymentMethod | Metodo di pagamento utilizzato | Order | |
Item - Conversion
|
ProductCode | Codice Prodotto | Order |
Nome Prodotto | Nome del prodotto visitato | Order | |
Category | Categoria di appartenenza del prodotto | Order | |
Price | Prezzo del prodotto | Order | |
Quantity | Quantità di prodotti venduti | Order | |
Sconto | Valore dello sconto su quel prodotto | Order | |
Event - Registration
|
Registration | Id del registrato | Registration |
Event - Newsletter
|
Registration | ID della lista di registrazione dell'utente | Newsletter |
Event - Wishlist
|
Aggiunta Wishlist | SKU prodotto aggiunto | Product Page/category |
Event - Carrello
|
Aggiunta Carrello | SKU prodotto aggiunto | Product Page/category |
Event - Share
|
Prodotto Share | SKU prodotto aggiunto | Product Page/category |
Social Share | Social utilizzato | Product Page/category | |
Event - Cart > CheckOut
|
Passaggio da Cart Checkout | Valore prodotti aggiunti | Cart |
Ovviamente lo schema qui sopra non è completo di tutti i dati possibili utili per l'e-commerce: potete davvero sbizzarirvi. :-)
C'è un gruppo di professionisti sotto il cappello del W3C che sta lavorando alla standardizzazione del Data Layer che si chiama "Customer Experience Digital Data Community Group" e che ha prodotto un primo documento utile per avere una vista completa dei dati necessari per ogni industria.
Il documento è stato riassunto ottimamente da questo schema di Phil Pearce:
4. Come funziona lato tecnico il Data Layer?
Il Data Layer dal punto di vista tecnico non è altro che una semplice collezione di oggetti ed array messi a disposizione di piattaforme esterne via Javascript.
Di seguito un paio di esempi completi di valorizzazione di un Data Layer base per Google Tag Manager.
a) Pagina di navigazione di un sito e-commerce:
dataLayer = [{
'pageType':'homepage',
'pageCategory': 'home',
'userlogged': 'notLogged',
'userid':'none'
}];
b) Thank you Page dopo l'acquisto:
dataLayer.push({
'ecommerce': {
'purchase': {
'actionField': {
'id': 'T12345', // Transaction ID. Required for purchases and refunds.
'affiliation': 'Online Store',
'revenue': '35.43', // Total transaction value (incl. tax and shipping)
'tax':'4.90',
'shipping': '5.99',
'coupon': 'SUMMER_SALE'
},
'products': [{ // List of productFieldObjects.
'name': 'Triblend Android T-Shirt', // Name or ID is required.
'id': '12345',
'price': '15.25',
'brand': 'Google',
'category': 'Apparel',
'variant': 'Gray',
'quantity': 1,
'coupon': '' // Optional fields may be omitted or set to empty string.
},
{
'name': 'Donut Friday Scented T-Shirt',
'id': '67890',
'price': '33.75',
'brand': 'Google',
'category': 'Apparel',
'variant': 'Black',
'quantity': 1
}]
}
}
});
Se volete andare un po' più nel dettaglio, specialmente sulla parte e-commerce vi consiglio di consultare la Enhanced E-commerce Developer Guide di Google e la guida al Tag Management System di Phil Pearce
5. Esistono già dei tools che permettono una facile creazione del Data Layer e integrazione con un Tag Management System?
Ma certo, come potrebbero non esserci già dei tools pronti? :-)
Per le principali piattaforme Open Source su cui ho la fortuna di sperimentare più spesso (Magento e Wordpress), ci sono già dei plug-in che permettono già una buona base di partenza, anche se hanno la necessità di essere personalizzati per avere un tracking completamente soddisfacente.
Per Magento segnalo:
- l'integrazione di Google Tag Manager con un Data Layer di base che può essere arricchito;
- il plug-in per l'integrazione di Tealium;
- ed infine quello per TagMan;
Per Wordpress, invece il plugin più completo da poter utilizzare è DuracellTomi's Google Tag Manager for WordPress
6. Ci sono delle risorse utili per mettersi subito al lavoro?
Di seguito puoi trovare una lista di articoli molto utili: la stragrande maggiorenza delle informazioni in rete fanno riferimento all'applicazione del Data Layer a Google Tag Manager, essendo il tool più utilizzato come Tag Management System. Buona lettura :-)
- Awesome Google Tag Manager Resources di Simo Ahava
- Unlock the Data Layer: A Non-Developer’s Guide to Google Tag Manager
- Make Analytics Better with Tag Management and a Data Layer di Justin Cutroni
- The Google Tag Manager Datalayer Explained - Cardinal Path
- A Guide To E-Commerce Conversion Tracking Using Google Tag Manager - Ludis Media
- "Generic" GTM Developer Guide di Phil Pearce
- Google Tag Manager Developer Guide
- Google Tag Manager - Enhanced E-commerce Developer Guide
- 5 Ways to Troubleshoot Your Google Tag Manager Installation di Jeff Sauro
- Google Tag Manager Data Layer explained like never before
- Data Layer Google Tag Manager for WordPress di Julien Coquet
- Google Tag Manager: Content Grouping di Simo Ahava