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:

  1. un unico codice di tracciamento , ovvero quello del Tag Management System;
  2. il DataLayer, lo strato intermedio che espone dati e messaggi al Tag Management System.
  3. 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;
  4. ed infine i sistemi di Web Analytics, che configurati nel modo corretto dal tag management system permettono un'analisi dei dati puntuale e completa.

tag management system

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!

Screen Shot 2014-09-27 at 10.16.14 PM

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:

Screen Shot 2014-09-28 at 6.03.11 PM

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:

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 :-)

Altri post che potrebbero interessarti:

  • Emanuele

    Ciao Andrea, volevo farti gentilmente una domanda. Consideriamo un’applicazione sia nativa che con Phonegap. L’applicazione permetterebbe ai suoi utenti di condividere un messaggio prestabilito con un link al suo interno, con gli amici nei social, che rimanda al download dell’applicazione stessa. Se questi ultimi scaricano l’applicazione dopo aver cliccato il link, il loro nome e foto dovrebbe comparire in una nuova lista amici del mittente. La mia domanda è:
    posso tracciare in questo modo il link anche per IOS 8? Grazie per la tua disponibilità, attendo una tua risposta. Saluti