Misurazione dell'e-commerce

Questa guida descrive come raccogliere i dati di e-commerce utilizzando analytics.js.

Panoramica

La misurazione dell'e-commerce ti consente di misurare il numero di transazioni ed entrate generate dal tuo sito web. Su un tipico sito di e-commerce, dopo che un utente fa clic sul pulsante "Acquista" nel browser, le informazioni relative all'acquisto dell'utente vengono inviate al server web, che esegue la transazione. Se l'operazione ha esito positivo, il server reindirizza l'utente a una pagina di ringraziamento o di ricevuta con i dettagli della transazione e una ricevuta dell'acquisto. Puoi utilizzare la libreria analytics.js per inviare i dati di e-commerce dalla pagina di ringraziamento a Google Analytics.

Esistono due tipi di dati di e-commerce che puoi inviare utilizzando analytics.js: dati di transazione e articolo.

Dati delle transazioni

Una transazione rappresenta l'intera transazione che si verifica sul tuo sito e contiene i seguenti valori:

Chiave Tipo di valore Obbligatorio Descrizione
id testo Yes L'ID transazione. (ad es. 1234)
affiliation testo No Il negozio o l'affiliazione da cui è avvenuta la transazione (ad es. Acme Abbigliamento).
revenue currency No Specifica le entrate totali o il totale complessivo associati alla transazione (ad es. 11,99). Questo valore può includere spese di spedizione, imposte o altri aggiustamenti alle entrate totali da includere nel calcolo delle entrate.
shipping currency No Specifica il costo di spedizione totale della transazione. (ad es. 5)
tax currency No Specifica le imposte totali della transazione. (ad es. 1,29)

Dati degli articoli

Un articolo rappresenta i singoli prodotti presenti nel carrello e contiene i seguenti valori:

Chiave Tipo di valore Obbligatorio Descrizione
id testo Yes L'ID transazione. Questo ID è l'ID che collega gli articoli alle transazioni a cui appartengono. (ad es. 1234)
name testo Yes Il nome dell'elemento. (ad es. soffici conigli rosa)
sku testo No Specifica lo SKU o il codice articolo. (ad es. SKU47)
category testo No La categoria a cui appartiene l'articolo (ad es. Giocattoli per feste)
price currency No Il singolo, l'unità e il prezzo di ogni articolo. (ad es. 11,99)
quantity numero intero No Il numero di unità acquistate nella transazione. Se in questo campo viene trasmesso un valore non intero (ad es. 1,5), questo verrà arrotondato al valore intero più vicino.

Implementazione

In genere, la misurazione e-commerce viene implementata dopo che l'utente ha completato la procedura di pagamento. In genere questo si verifica nella pagina di ringraziamento. Quando hai a disposizione e sei pronto per inviare i dati di e-commerce a Google Analytics, devi eseguire un paio di passaggi:

Carica il plug-in per l'e-commerce

Per ridurre le dimensioni della libreria analytics.js, la misurazione e-commerce non viene fornita nella libreria predefinita. Viene invece fornito come modulo plug-in che deve essere caricato prima di essere utilizzato.

Per caricare il plug-in ecommerce, utilizza il seguente comando:

ga('require', 'ecommerce');

Questo comando deve essere eseguito dopo la creazione dell'oggetto tracker e prima di utilizzare qualsiasi funzionalità specifica di e-commerce.

Una volta caricati, un paio di nuovi comandi specifici per la misurazione e-commerce verranno aggiunti al tracker predefinito.

Aggiunta di una transazione

Una volta caricato, il plug-in crea un oggetto carrello trasparente. Puoi aggiungere i dati delle transazioni e degli articoli al carrello degli acquisti e, al termine della configurazione, li invii tutti in una volta.

Puoi aggiungere i dati delle transazioni al carrello degli acquisti utilizzando il comando ecommerce:addTransaction:

ga('ecommerce:addTransaction', {
  'id': '1234',                     // Transaction ID. Required.
  'affiliation': 'Acme Clothing',   // Affiliation or store name.
  'revenue': '11.99',               // Grand Total.
  'shipping': '5',                  // Shipping.
  'tax': '1.29'                     // Tax.
});

Aggiunta di elementi

Successivamente, per aggiungere articoli al carrello, utilizza il comando ecommerce:addItem:

ga('ecommerce:addItem', {
  'id': '1234',                     // Transaction ID. Required.
  'name': 'Fluffy Pink Bunnies',    // Product name. Required.
  'sku': 'DD23444',                 // SKU/code.
  'category': 'Party Toys',         // Category or variation.
  'price': '11.99',                 // Unit price.
  'quantity': '1'                   // Quantity.
});

Invio dati

Infine, dopo aver configurato tutti i dati di e-commerce nel carrello degli acquisti, li invii a Google Analytics utilizzando il comando ecommerce:send:

ga('ecommerce:send');

Questo comando analizza ogni transazione e articolo nel carrello degli acquisti e invia i rispettivi dati a Google Analytics. Al termine, il carrello viene cancellato e pronto per inviare i dati per una nuova transazione. Se è stato inviato un comando ecommerce:send precedente, verranno inviati solo i nuovi dati sulle transazioni e sugli articoli.

Cancellazione dei dati

Se devi cancellare manualmente il carrello degli acquisti di tutte le transazioni e tutti gli articoli, utilizza il seguente comando:

ga('ecommerce:clear');

Specificare le valute locali

Per impostazione predefinita, puoi configurare una valuta globale comune per tutte le transazioni e tutti gli articoli tramite l'interfaccia web di gestione di Google Analytics. Per impostazione predefinita, viene utilizzata la valuta globale per tutti gli articoli e le transazioni. Per i siti web che effettuano transazioni in più valute, il plug-in per l'e-commerce consente di specificare la valuta locale della transazione e i singoli prodotti.

La valuta locale deve essere specificata nello standard ISO 4217. Leggi il documento di riferimento sui codici di valuta per un elenco completo delle valute di conversione supportate.

Per impostare la valuta locale di una determinata transazione e di tutti gli articoli che contiene, devi solo specificare la valuta della transazione:

ga('ecommerce:addTransaction', {
  'id': '1234',
  'affiliation': 'Acme Clothing',
  'revenue': '11.99',
  'shipping': '5',
  'tax': '1.29',
  'currency': 'EUR'  // local currency code.
});

Infine, puoi specificare anche la valuta per ciascun articolo:

  ga('ecommerce:addItem', {
    'id': '1234',
    'name': 'Fluffy Pink Bunnies',
    'sku': 'DD23444',
    'category': 'Party Toys',
    'price': '11.99',
    'quantity': '1',
    'currency': 'GBP' // local currency code.
  });

Supporto di più tracker

Puoi utilizzare il plug-in per l'e-commerce anche se hai implementato più tracker (con nome) nella pagina. Il plug-in funziona esattamente come il tracker predefinito, ad eccezione del fatto che il formato è: trackerName.pluginName:method. Ad esempio, se hai creato un tracker denominato myTracker:

ga('create', 'UA-XXXXX-Y', 'auto', {'name': 'myTracker'});

Dovresti quindi caricare il plug-in di e-commerce per tale tracker denominato utilizzando:

ga('myTracker.require', 'ecommerce');

Per inviare una transazione, puoi creare un oggetto Transaction e passarlo al tracker denominato nel seguente modo:

var transaction = {
  'id': '1234',                    // Transaction ID.
  'affiliation': 'Acme Clothing',  // Affiliation or store name.
  'revenue': '11.99',              // Grand Total.
  'shipping': '5' ,                // Shipping.
  'tax': '1.29'                    // Tax.
};

ga('myTracker.ecommerce:addTransaction', transaction);

Con questa sintassi, l'oggetto Transaction è utilizzabile su più tracker.

Infine, devi inviare i dati della transazione come segue:

ga('myTracker.ecommerce:send');

Esempio

La maggior parte dei siti di e-commerce esegue transazioni sul server, mentre la libreria analytics.js invia i dati a Google Analytics dal browser. È quindi necessario un po' di coordinamento tra server e client per inviare correttamente i dati di e-commerce a Google Analytics.

La maggior parte dei siti di e-commerce visualizza la pagina di ringraziamento utilizzando un motore per i modelli lato server. In questo caso, dovrai aggiungere il codice di misurazione e-commerce al modello lato server e utilizzare la logica server per scrivere dinamicamente i valori dei dati di e-commerce nella pagina finale. Ecco un esempio di come verrebbe visualizzato in PHP.

In PHP, solitamente hai una rappresentazione dei dati di e-commerce. In questo esempio, i dati vengono archiviati in un array associativo:

<?php
// Transaction Data
$trans = array('id'=>'1234', 'affiliation'=>'Acme Clothing',
               'revenue'=>'11.99', 'shipping'=>'5', 'tax'=>'1.29');

// List of Items Purchased.
$items = array(
  array('sku'=>'SDFSDF', 'name'=>'Shoes', 'category'=>'Footwear', 'price'=>'100', 'quantity'=>'1'),
  array('sku'=>'123DSW', 'name'=>'Sandals', 'category'=>'Footwear', 'price'=>'87', 'quantity'=>'1'),
  array('sku'=>'UHDF93', 'name'=>'Socks', 'category'=>'Footwear', 'price'=>'5.99', 'quantity'=>'2')
);
?>

Il primo passaggio consiste nello scrivere una logica per trasformare i dati di e-commerce nella stringa JavaScript richiesta da analytics.js:

<?php
// Function to return the JavaScript representation of a TransactionData object.
function getTransactionJs(&$trans) {
  return <<<HTML
ga('ecommerce:addTransaction', {
  'id': '{$trans['id']}',
  'affiliation': '{$trans['affiliation']}',
  'revenue': '{$trans['revenue']}',
  'shipping': '{$trans['shipping']}',
  'tax': '{$trans['tax']}'
});
HTML;
}

// Function to return the JavaScript representation of an ItemData object.
function getItemJs(&$transId, &$item) {
  return <<<HTML
ga('ecommerce:addItem', {
  'id': '$transId',
  'name': '{$item['name']}',
  'sku': '{$item['sku']}',
  'category': '{$item['category']}',
  'price': '{$item['price']}',
  'quantity': '{$item['quantity']}'
});
HTML;
}
?>

Poi, nel tag <script> devi aggiungere la logica PHP aggiuntiva per generare dinamicamente i dati della transazione e degli articoli:

<!-- Begin HTML -->
<script>
ga('require', 'ecommerce');

<?php
echo getTransactionJs($trans);

foreach ($items as &$item) {
  echo getItemJs($trans['id'], $item);
}
?>

ga('ecommerce:send');
</script>

Una volta eseguita lo script PHP, i dati sulle transazioni e sugli articoli richiesti da analytics.js verranno stampati nella pagina. Una volta eseguito il rendering del codice JavaScript sulla pagina, tutti i dati di e-commerce verranno inviati a Google Analytics.

Tipi di valuta

Il tipo di valuta predefinito può essere configurato tramite l'interfaccia di gestione. Quando invii i valori di valuta utilizzando analytics.js, il valore rappresenta il valore totale di una valuta.

Un punto decimale può essere utilizzato come delimitatore tra la parte intera e la parte frazionaria della valuta. La precisione arriva a un massimo di 6 punti decimali. Per un campo di valuta è valido quanto segue:

1000.000001

Una volta inviato il valore a Google Analytics, tutto il testo viene rimosso fino alla prima cifra, al carattere - o al carattere . (decimale). Pertanto:

$-55.00

diventerà:

-55.00