GOOGLE ANALYTICS 4 ecommerce: guida ai tracciamenti (con Google Tag Manager).

Aggiornamento: il 24 agosto 2022 il tag Evento GA4 in Google Tag Manager è stato aggiornato, ed ora permette di caricare i dati Ecommerce direttamente da dataLayer (se si utilizza GA4 schema) oppure da un variabile JavaScript personalizzata (o da un template personalizzato) purché restituiscano un oggetto accettato dal GA4 Schema

Quest’articolo fa parte di una più ampia guida a Google Analytics 4, finora abbiamo affrontato come installare e testare GA4 e come creare e testare eventi e conversioni. Qui ci occuperemo di come tracciare i dati ecommerce in Google Analytics 4 con l’aiuto di Google Tag Manager e della documentazione ufficiale. Nel dettaglio, analizzeremo il nuovo modello dati in una prospettiva di implementazione e avanzeremo passo passo nella sua configurazione.

google tag manager ga4 ecommerce

 

Perché un articolo specifico sul tracciamento per l’ecommerce?

Google Analytics 4 (GA4) è una piattaforma ancora nuova e la sua integrazione con Google Tag Manager è solo agli inizi, motivo per cui la sua configurazione dipende ancora molto dalle impostazioni che scegliamo e da una corretta strutturazione del dataLayer.

google analytics 4 ecommerce

 

Difference tra Universal Analytics e Google Analytics 4 ecommerce

Come potreste sapere, la vecchia versione di GA, nota come Universal Analytics o UA, disponeva di un modello dati detto Enhanced Ecommerce o Ecommerce avanzato. Cominciamo col segnalare le principali differenza con il nuovo approccio proposto da Google Analytics 4.

 

Azioni disponibili in google analyitics 4 ecommerce

Abbiamo affrontato la differenza tra gli eventi di GA4 e quelli di UA in questo articolo. Senza ripeterci in questa sede, ci sembrava comunque utile proporre un’adeguata corrispondenza tra le vecchie azioni di Universal Analytics ed i nuovi eventi di GA4, nel caso che stiate leggendo questo guida a ridosso dell’eliminazione dei vecchi account UA .

Nella colonna Eventi GA4 troverete il nome evento o event_name da configurare e l’azione equivalente in UA

Non preoccupatevi, più sotto forniamo anche delle istruzioni per migrare da UA a GA4.

 

Nome evento GA4 Corrispondenza con Enhanced Ecommerce (UA) Descrizione
view_promotion promoView Visualizzazione promozioni
select_promotion promoClick Clic su una promozione
view_item_list impressions Visualizzazioni di un item in una lista
select_item click Clic su un item in una lista
view_item detail Visualizzazione dei dettagli di un item
add_to_cart add Aggiunta al carrello
add_to_wishlist N/A Aggiunta alla wishlist
remove_from_cart remove Rimozione dal carrello
view_cart N/A Visualizzazione del carrello
begin_checkout checkout* Inizio checkout
add_shipping_info checkout_option* Aggiunta dei dati di spedizione
add_payment_info checkout_option* Aggiunta dei dati di pagamento
purchase purchase Acquisto
refund refund Rimborso

* Il checkout funnel funziona in modo leggermente diverso in Google Analytics 4. Non ci sono più dei passaggi standard del percorso di conversione, invece GA4 ci propone il percorso di acquisto più comune per i nostri utenti fino a quando non inseriscono i dati di spedizione e di acquisto.

Sono stati però aggiunti dei dati che mancavano in Universal analytics, ovvero add_to_wishlist e view_cart

 

Dati prodotto

Il modello dati per i prodotti ha anch’esso subito dei cambiamenti. Il concetto di liste di prodotti è stato ampliato, includendo degli ID per le liste e categorie di prodotto multilivello.

 

Parametro GA4 Corrispondenza con Enhanced Ecommerce (UA) Descrizione
item_id id ID / SKU del prodotto
item_name name Name prodotto
item_list_name list Nom lista prodotto
item_list_id N/A ID della lista prodotto
index position Posizione dle prodotto nella lista
item_brand brand Brand del prodotto
item_category category Categoria del prodotto (I livello)
item_category2 category Categoria del prodotto (II livello o alternativa)
item_category3 category Categoria del prodotto (III livello o alternativa)
item_category4 category Categoria del prodotto (IV livello o alternativa)
item_category5 category Categoria del prodotto (V livello o alternativa)
item_variant variant Variante del prodotto
affiliation N/A Affiliaizione store per questo evento
discount N/A Sconto associato al prodotto
coupon coupon Coupon associato al prodotto
price price Prezzo del prodotto
currency N/A Valuta d’acquisto
quantity quantity Quantita’ del prodotto, deve essere un numero intero

 

Come in Enhanced Ecommerce, per ciascun prodotto è sempre necessario specificare almeno item_id o item_name. Tutti gli altri parametri sono opzionali.

Alcuni, come affiliation e currency, sono stati spostati dal livello azioni a quello di prodotto, il che ci permette finalmente di avere i dati corrispondenti per prodotto.

 

Dati delle promozioni

Anche in G4 è possibile raccogliere dati sulle promozioni. Purtroppo, le cose non sono migliorate molto (almeno al momento in cui scriviamo) rispetto ad UA, visto che sono inclusi anche i dati di eventuali banner o comunque fonti non necessariamente collegate a prodotti specifici.

 

Parametro GA4 Corrispondenza con Enhanced Ecommerce (UA) Descrizione
promotion_id id ID della promozione
promotion_name name Nome della promozione
creative_name creative Nome della creatività associata alla promozione
creative_slot position Nome dello slot dove è stata visualizzata la promozione
location_id N/A Posizione della promozione sulla pagina quando è stata visualizzata

 

Così come per i prodotti, anche in questo caso abbiamo dei parametri obbligatori: promotion_id o promotion_name devono sempre essere specificati.

 

Altre azioni misurabili

Di seguito tutte le altre azioni misurabili nel vostro Ecommerce con Google Analytics 4. A ciascuna corrisponde un parametro.

 

Parametro GA4 Corrispondenza con Enhanced Ecommerce (UA) Descrizione
transaction_id id ID univoco della transazione. Obbligatorio per gli eventi purhcase e refund
affiliation affiliation Lo store o affiliato che ha generato la transazione
value revenue Valore associato all’evento
currency currencyCode Valuta locale associata all’acquisto. Obbligatorio per gli eventi purchase.
tax tax Tasse incluse nel valore della transazione.
shipping shipping Costi di spedizione inclusi nel valore della transazione.
items products/impressions/promotions Prodotti associati all’evento.
shipping_tier option Fascia di spedizione associata a add_shipping_info.
payment_type option Metodo di pagamento passato con add_payment_info.
coupon coupon Coupon associato all’evento.
promotion_id N/A ID della promozione associata all’evento.
promotion_name N/A Nome della promozione associata all’evento.
creative_name N/A Name of a promotion creative associated with the event.
creative_slot N/A Nome delle creatività associata all’evento.
location_id N/A ID della posizione della creatività sulla pagina.
item_list_name N/A Nome della lista associata all’evento.
item_list_id N/A ID della lista associata all’evento.

 

Configurazione di Google Analytics 4 ecommerce tramite Google Tag Manager

Aggiornamento: il 24 agosto 2022 il tag Evento GA4 in Google Tag Manager è stato aggiornato, ed ora permette di caricare i dati Ecommerce direttamente da dataLayer (se si utilizza GA4 schema) oppure da un variabile JavaScript personalizzata (o da un template personalizzato) purché restituiscano un oggetto accettato dal GA4 Schema.

Google Tag Manager è senza dubbio lo strumento migliore per configurare l’ecommerce di Google Analytics 4, tuttavia al momento non esiste ancora alcuna tag specifica per questo scopo, le uniche tag ufficiali sono quella di configurazione e la tag evento, di cui abbiamo parlato negli articoli precedenti sull’installazione di GA4 e la creazione di eventi personalizzati.

Al momento, occorre servirsi del tag evento e inserire manualmente i parametri.

ga4 ecommerce configurazione

 

Speriamo di poter aggiornare presto questo articolo annunciando il rilascio di tag specifici.

Un’altra problematica che abbiamo riscontrato è relativa all’utilizzo della variabile personalizzata JavaScript (anche nota come custom template), che tanto ci aiutava con l’Enhanced Ecommerce in UA. In GA4 possiamo ancora utilizzare questo metodo per mappare tutti i gli items che vogliamo, ma saremo comunque costretti ad aggiungere manualmente tutti gli altri parametri come campi individuali nel tag evento. Anche in questo caso speriamo di poter avere presto a disposizione un’unica variabile per raccogliere tutti gli eventi, in modo da minimizzare il numero di tag attivate.

 

Come migrare da Enhanced Ecommerce a Google Analytics 4 ecommerce

Prima di cominciare e riscrivere gli oggetti nel vostro dataLayer, considerate che Google Analytics 4 supporta il modello dati di Enhaced Ecommerce, almeno in certa misura.

Il modo più semplice per eseguire una migrazione non è creare dei nuovi items in GA4. Piuttosto, conviene impostare il valore dei parametri degli items nel tag usando le variabili impressions, promotions o products che usavamo negli oggetti Enhanced Ecommerce. GA4 dovrebbe essere in grado di mappare i nomi dei parametri degli oggetti products di Enhanced Ecommerce sui parametri corrispondenti di Google Analytics 4.

Le differenze maggiori sono quelle evidenziate nelle tabelle presentate sopra, ovvero che non esiste alcun omologo in UA per l’item_list_id di GA4 e che la categoria prodotto è ora divisa in 5 livelli differenti invece di una unica stringa separata da /.

 

Importante: non è obbligatorio eseguire una migrazione. Considerando la quantità di nuove funzioni già disponibili e quelle che sicuramente saranno rilasciate in futuro, potreste voler abbandonare completamente la vostra vecchia struttura dati e crearne una nuova per GA4.

 

Se volete procedere con la migrazione, esistono diversi modelli di tag nella galleria di template di Google Tag Manager, molti dei quali vi permettono di mappare i prodotti, le impression o le promozioni di UA direttamente in GA4.

 

Nomi Evento

Una delle principali caratteristiche di Google Analytics 4 è il suo utilizzo degli event name ed il loro accresciuto valore semantico. Per una lista completa dei nomi evento disponibili per l’Ecommerce di GA4, tornate su.

configurazione eventi ecommerce in google analytics 4

 

Ogni volta che configuriamo un tag per inviare dati a GA4, dobbiamo assicurarci che il campo Nome evento contenga il valore corretto. Qualsiasi refuso o differenza tra il nome dell’evento nel tag ed il parametro accettato da GA4 genererà degli errori nel vostro dataset che non saranno correggibili retroattivamente.

 

Configurazione dei campi del tag evento in GA4

Per creare un tag ecommerce in Google Tag Manager useremo l’unico tag attualmente disponibile, lo stesso Evento Google Analytics 4 descritto precedentemente nell’articolo su gli eventi e le conversioni in GA4. Per prima cosa. Per prima cosa occorre indicare quale sia il tag di configurazione cui il tag evento fa riferimento. Abbiamo affrontato l’argomento in questo articolo sull’installazione di GA4.

Quindi dobbiamo impostare il Nome Evento, o Event Name. Sia che utilizziate una variabile o che lo scriviate direttamente nel codice, è comunque buona norma fare riferimento ai nomi evento riservati da GA4.

tracciamento dati ecommerce google analytics 4

 

Per aggiungere parametri è sufficiente aprire la sezione del tag Parametri Evento e creare una nuova riga per ogni parametro. Nella maggior parte dei casi sarà sufficiente aggiungere il parametro items,  ma per alcune azioni, come ad esempio l’acquisto, richiederanno parametri aggiuntivi.

Nel caso in cui usiate una variabile nel data layer per eseguire un pull di un array di items, fate attenzione al merge ricorsivo. Sarebbe in questo caso opportuno impostare la vostra variabile in modo che utilizzi sempre la 1a versione del Data Layer per non perdere dati da un oggetto all’altro.

 

Attivatore o trigger

Come sopra, assicuratevi di identificare per il vostro tag evento un trigger che si attivi quando e solo quando il dataLayer riceve l’oggetto e-commerce che vi interessa.

google analytics 4 ecommerce trigger google tag manager

 

Il vostro obiettivo dovrebbe essere di progettare il data set in modo che ogni azione di interesse sul vostro ecommerce abbia un tag evento dedicato con il proprio trigger personalizzato.

 

Consigli per un tagging lato server

Una delle possibili alternative per migrare da Enhanced Ecommerce di Universal Analytics a GA4 è il tagging lato server.

Non è un’opzione praticabile da tutti considerati i costi, ma permette di passare il flusso dati di Universal Analytics attraverso il  container nel server direttamente all’endpoint di UA ma anche di GA4 allo stesso tempo.

Quando inviamo un evento di ENhanced Ecommerce UA al server, il client UA lo spezza e genera un event data object come questo:

ga4 ecommerce implementazione lato server

 

Come vedete, il payload di Enhanced Ecommerce è diviso nella Measurement Protocol Request, generando due parametri standard. Nello specifico, notiamo come le dimensioni del product scope non sono mappate nel items array.

A questo punto è possibile attivare il tag GA4 nel container sul server attraverso il client UA ed inviare un evento pulito a GA4. E’ solo necessario modificare event_name, altrimenti ci ritroveremo page_view con come nome per l’acquisto, ed aggiungere l’ID di misurazione corretto.

ga4 ecommerce implementazione lato server id misurazione

 

La sfida è creare una mappatura personalizzata dell’array items, visto che il Server container non permette al momento di eseguire variabili JavaScript.

In teoria potremmo configurare un modello di tag personalizzata per il tagging lato server, ma è probabilmente più saggio attendere che Google evolva le opzioni per la migrazione.

 

Catalogo azioni google analytics 4 ecommerce

Quali azioni sono tracciabili in GA4 e come si configurano nel dataLayer?

I paragrafi che seguono mostrano degli esempi di configurazione del dataLayer e delle tag GTM per la misurazione degli eventi Ecommerce in GA4. Per ciascuno, forniamo un esempio di migrazione dal Universal Analytics a GA4.

View_Promotion

L’evento view_promotion è attivato quando l’utente visualizza una o più oggetti promotion sulla pagina. Le promozioni utilizzano un modello dati diverso dal resto di GA4 Ecommerce, poiché non contemplano i prodotti ma piuttosto banner, campagne etc.

 

Composizione del data layer

Un esempio di view_promotion nel dataLayer potrebbe essere come segue:

 

"window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'view_promotion',
ecommerce: {
items: [{
promotion_id: 'estate_2022',
promotion_name: 'campagna_estate_2022',
creative_name: 'famiglia_al_mare_1',
creative_slot: 'featured_items',
location_id: 'hero_banner'
},{
promotion_id: 'inverno_2023',
promotion_name: 'winter_campaign_2020',
creative_name: 'famiglia_in_montagna_1',
creative_slot: 'featured_items_2',
location_id: 'hero_banner'
}]
}
});

 

I parametri necessari sono promotion_id o promotion_name

Migrazione da Enhanced Ecommerce

Se proprio volete usare l’array promotions i Enhanced Ecommerce invece di creare nuovi items, vi servirà questa variabile:

 

  • Tipo: Data Layer Variable
  • Nome Variabile: ecommerce.promoView.promotions
  • Versione Data Layer: Version 2

 

La variabile andrà aggiunta al tag evento view_promotion come valore nel campo items.

Configurazione del tag

Il tag per view_promotion è questo:

google analytics 4 configurazione tag view_promotion

Impostiamo il campo Event Name o Nome evento come view_promotion. Assicuriamoci di puntare il parametro items ad una variabile del Data Layer che contenga l’array di items . Ad esempio:

 

  • ecommerce.items, se seguite l’esempio suggerito sopra, oppure
  • ecommerce.promoView.promotions, se state migrando da Enhanced Ecommerce

 

Ricordiamoci anche di impostare un trigger personalizzato che passi il valore di event nell’oggetto trasmesso all dataLayaer. (nell’esempio di cui sopra sarebbe view_promotion).

 

Select_promotion

L’evento select_promotion è inviato ogni volta che l’utente fa clic o seleziona una delle promozioni che ha visualizzato.

 

Composizione del data layer

Ecco un esempio di composizione del dataLayer per select_promotion

window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'select_promotion',
ecommerce: {
items: [{
promotion_id: 'estate_2022',
promotion_name: 'campagna_estate_2022',
creative_name: 'famiglia_al_mare_1',
creative_slot: 'featured_items',
location_id: 'hero_banner'
}]
}
});

I parametri obbligatori sono promotion_id o promotion_name.

 

Migrazione da Enhanced Ecommerce

Per usare l’array promotions di Enhanced Ecommerce invece di creare un nuovo oggetto items, avremo bisogno di questa variabile:

 

  • Tipo: Data Layer Variable
  • Nome Variabile: ecommerce.promoClick.promotions
  • Versione Data Layer: Version 2

 

La variabile va aggiunta al vostro evento GA4 select_promotion come valore del campo items .

Configurazione del tag

Ecco un esempio di configurazione per il tag select_promotion:

google analytics 4 configurazione tag select_promotion

Assicuriamoci che il campo Event Name sia select_promotion, e che il parametro items sia impostato su una variabile che contiene l’array di items , ad esempio:

 

  • ecommerce.items, se seguite l’esempio suggerito sopra, oppure
  • ecommerce.promoClick.promotions, se state migrando da Enhanced Ecommerce.

 

Il trigger dovrà essere un evento personalizzato con il valore di  configurato sull’oggetto event  che trasmettiamo al data layer (nel nostro esempio select_promotion).

 

View_item_list

L’evento view_item_list si attiva quando l’utente visualizza gli oggetti in una determinata lista di prodotti. Un esempio di lista di prodotti potrebbe essere i risultati di ricerca, i prodotti in evidenza, i prodotti in upsell, etc.

 

Composizione del data layer

Ecco un esempio di composizione del dataLayer per view_item_list :

 

window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'view_item_list',
ecommerce: {
items: [{
item_name: 'sciarpa_24',
item_id: 'mp1122',
price: '31.10',
item_brand: 'marcasciarpe',
item_category: 'Apparel',
item_category2: 'Accessori',
item_category3: 'Sciarpe',
item_category4: 'Unisex',
item_variant: 'Navy blue',
item_list_name: 'Prodotti in evidenza',
item_list_id: 'FI1',
index: 1,
quantity: '1'
},{
item_name: 'sciarpa_26',
item_id: 'sp2323',
price: '92.00',
item_brand: 'marcasciarpe',
item_category: 'Apparel',
item_category2: 'Accessori',
item_category3: 'Sciarpe',
item_category4: 'Unisex',
item_variant: 'Black',
item_list_name: 'Prodotti in evidenza',
item_list_id: 'FI1',
index: 2,
quantity: '1'
}]
}
});

I parametri obbligatori sono item_name oppure item_id. Consigliamo di provare sempre a popolare il campo item_list_name, così da avere il dato di quale prodotto è stato effettivamente visualizzato.

 

Migrazione da Enhanced Ecommerce

Per usare l’array impressions di Enhanced Ecommerce invece di creare un nuovo oggetto items, avremo bisogno di questa variabile:

 

  • Tipo: Data Layer Variable
  • Nome Variabile: ecommerce.impressions
  • Versione Data Layer: Version 2

 

Creata la variabile sarà possibile aggiungerla al tag evento GA4 view_item_list come valore del campo items.

 

Attenzione: se associate ad impressions altre azioni Enhanced Ecommerce, la variabile non funzionerà, perché ha bisogno dell’array di products .

 

Configurazione del tag

La configurazione per view_item_list è come segue:

google analytics 4 ecommerce configurazione tag view_item_list

Assicuriamoci che il nome evento sia view_item_list e che il parametro items punti ad una variabile con l’array di items :

 

  • ecommerce.items, se seguite l’esempio suggerito sopra, oppure
  • ecommerce.impressions, se state migrando da Enhanced Ecommerce.

 

E come al solito impostiamo un trigger personalizzato impostato sul valore dell’event che mandiamo al dataLayer (nel nostro esempio view_item_list).

 

Select_item

L’evento select_item è generato ogni volta che un utente fa clic o seleziona un prodotto dopo averlo visualizzato in una lista.

 

Composizione del data layer

Ecco un esempio di composizione del dataLayer per select_item :

 

window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'select_item',
ecommerce: {
items: [{
item_name: 'sciarpa_24',
item_id: 'mp1122',
price: '31.10',
item_brand: 'marcasciarpe',
item_category: 'Apparel',
item_category2: 'Coats',
item_category3: 'Parkas',
item_category4: 'Unisex',
item_variant: 'Navy blue',
i

Domande?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Altre cose utili per il tuo marketing Online

Vuoi supporto per i temi di questo articolo?

Prenota un'ora di consulenza gratuita