E-Commerce-Messung

In diesem Leitfaden wird beschrieben, wie E-Commerce-Daten mit analytics.js erfasst werden.

Übersicht

Mit E-Commerce-Messungen können Sie die Anzahl der Transaktionen und den Umsatz Ihrer Website messen. Bei einer typischen E-Commerce-Website klickt ein Nutzer im Browser auf die Schaltfläche „Kaufen“. Daraufhin werden die Kaufinformationen des Nutzers an den Webserver gesendet, über den die Transaktion durchgeführt wird. Wenn der Vorgang erfolgreich war, leitet der Server den Nutzer zu einer Dankeschön- oder Belegseite mit Transaktionsdetails und einem Beleg des Kaufs weiter. Sie können die analytics.js-Bibliothek verwenden, um die E-Commerce-Daten von der „Danke“-Seite an Google Analytics zu senden.

Es gibt zwei Arten von E-Commerce-Daten, die Sie über analytics.js senden können: Transaktions- und Artikeldaten.

Transaktionsdaten

Eine Transaktion stellt die gesamte Transaktion dar, die auf Ihrer Website stattfindet, und enthält die folgenden Werte:

Schlüssel Werttyp Required Beschreibung
id Text Ja Die Transaktions-ID. (z.B. 1234)
affiliation Text Nein Geschäft oder Zugehörigkeit, von der diese Transaktion erfolgt ist (z.B. Acme Kleidung).
revenue currency Nein Gibt den Gesamtumsatz oder die Gesamtsumme der Transaktion an (z. B. 11,99). Dieser Wert kann Versandkosten, Steuerkosten oder andere Anpassungen des Gesamtumsatzes umfassen, die du bei der Umsatzberechnung berücksichtigen möchtest.
shipping currency Nein Gibt die Versandkosten für die Transaktion insgesamt an. (z.B. 5)
tax currency Nein Gibt die Gesamtsteuer für die Transaktion an. (z. B. 1,29)

Artikeldaten

Ein Artikel stellt die einzelnen Produkte dar, die sich im Einkaufswagen befanden, und enthält die folgenden Werte:

Schlüssel Werttyp Required Beschreibung
id Text Ja Die Transaktions-ID. Mit dieser ID werden Elemente mit den Transaktionen verknüpft, zu denen sie gehören. (z.B. 1234)
name Text Ja Der Name des Artikels. (z.B. Flauschige Rosa-Häschen)
sku Text Nein Gibt die Artikelnummer oder den Artikelcode an. (z.B. SKU47)
category Text Nein Die Kategorie, zu der der Artikel gehört (z.B. Partyspielzeug)
price currency Nein Die Stückzahl pro Einheit für den jeweiligen Artikel. (z. B. 11,99)
quantity integer Nein Die Anzahl der in der Transaktion erworbenen Einheiten. Wenn ein nicht ganzzahliger Wert an dieses Feld übergeben wird (z. B. 1,5), wird er auf den nächsten Ganzzahlwert gerundet.

Implementierung

Normalerweise implementieren Sie E-Commerce-Analysen, sobald der Nutzer den Kaufvorgang abgeschlossen hat. Dies geschieht normalerweise auf der „Danke“-Seite. Sobald du bereit bist und E-Commerce-Daten an Google Analytics senden möchtest, musst du einige Schritte ausführen:

E-Commerce-Plug-in laden

Um die Größe der analytics.js-Bibliothek zu reduzieren, ist die E-Commerce-Messung in der Standardbibliothek nicht verfügbar. Stattdessen wird es als Plug-in-Modul bereitgestellt, das vor der Verwendung geladen werden muss.

Verwenden Sie den folgenden Befehl, um das E-Commerce-Plug-in zu laden:

ga('require', 'ecommerce');

Dieser Befehl muss ausgeführt werden, nachdem Sie Ihr Tracker-Objekt erstellt haben und bevor Sie eine der E-Commerce-Funktionen verwenden.

Nach dem Laden werden dem Standard-Tracker einige neue Befehle speziell für die E-Commerce-Messung hinzugefügt.

Transaktion hinzufügen

Sobald das Plug-in geladen wurde, wird ein transparentes Einkaufswagenobjekt erstellt. Sie können Transaktions- und Artikeldaten in den Einkaufswagen legen. Danach senden Sie alle Daten auf einmal.

Mit dem Befehl ecommerce:addTransaction fügen Sie Transaktionsdaten zum Einkaufswagen hinzu:

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.
});

Elemente werden hinzugefügt

Verwenden Sie dann den Befehl ecommerce:addItem, um Artikel in den Einkaufswagen zu legen:

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.
});

Daten senden

Nachdem Sie alle E-Commerce-Daten im Einkaufswagen konfiguriert haben, senden Sie die Daten mit dem Befehl ecommerce:send an Google Analytics:

ga('ecommerce:send');

Mit diesem Befehl werden die einzelnen Transaktionen und Artikel im Einkaufswagen ausgeführt und die entsprechenden Daten an Google Analytics gesendet. Sobald der Vorgang abgeschlossen ist, wird der Einkaufswagen gelöscht und ist bereit, Daten für eine neue Transaktion zu senden. Wenn ein vorheriger ecommerce:send-Befehl ausgegeben wurde, werden nur neue Transaktions- und Artikeldaten gesendet.

Daten löschen

Wenn Sie den Einkaufswagen aller Transaktionen und Artikel manuell löschen möchten, verwenden Sie den folgenden Befehl:

ga('ecommerce:clear');

Lokale Währungen angeben

Standardmäßig kannst du über die Google Analytics-Verwaltungs-Weboberfläche eine gemeinsame, globale Währung für alle Transaktionen und Artikel konfigurieren. Standardmäßig wird die globale Währung für alle Artikel und Transaktionen verwendet. Bei Websites, auf denen Transaktionen in mehreren Währungen ausgeführt werden, kannst du mit dem E-Commerce-Plug-in die lokale Währung der Transaktion sowie einzelne Produkte angeben.

Die Landeswährung muss im Standard ISO 4217 angegeben werden. Eine vollständige Liste der unterstützten Währungen finden Sie in der Referenz zu Währungscodes.

Um die lokale Währung einer bestimmten Transaktion und aller zugehörigen Elemente festzulegen, müssen Sie nur die Währung für die Transaktion angeben:

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

Schließlich können Sie auch die Währung pro Artikel angeben:

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

Unterstützung mehrerer Tracker

Du kannst auch das E-Commerce-Plug-in verwenden, wenn du auf deiner Seite mehrere (benannte) Tracker implementiert hast. Das Plug-in funktioniert genauso wie der Standard-Tracker, nur dass das Format trackerName.pluginName:method ist. Wenn du beispielsweise einen Tracker mit dem Namen myTracker erstellt hast:

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

Laden Sie dann das E-Commerce-Plug-in für diesen benannten Tracker so:

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

Zum Senden einer Transaktion können Sie ein Transaktionsobjekt erstellen und so an den benannten Tracker übergeben:

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

Mit dieser Syntax kann das Transaktionsobjekt für mehrere Tracker verwendet werden.

Abschließend würden Sie die Transaktionsdaten so senden:

ga('myTracker.ecommerce:send');

Beispiel

Die meisten E-Commerce-Websites führen Transaktionen auf dem Server aus, während die analytics.js-Bibliothek Daten vom Browser an Google Analytics sendet. Damit Server- und E-Commerce-Daten korrekt an Google Analytics gesendet werden können, sind ein wenig Koordination erforderlich.

Die meisten E-Commerce-Websites rendern ihre „Danke“-Seite mithilfe einer serverseitigen Vorlagen-Engine. In diesem Fall kannst du der serverseitigen Vorlage den E-Commerce-Messcode hinzufügen und die E-Commerce-Datenwerte mithilfe von Serverlogik dynamisch auf der endgültigen Seite schreiben. Hier siehst du ein Beispiel dafür, wie dies in PHP aussehen würde.

In PHP würden Sie normalerweise einige E-Commerce-Daten darstellen. In diesem Beispiel werden die Daten in einem assoziativen Array gespeichert:

<?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')
);
?>

Der erste Schritt besteht darin, eine Logik zu schreiben, mit der die E-Commerce-Daten in den von analytics.js erforderlichen JavaScript-String umgewandelt werden:

<?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;
}
?>

Fügen Sie dann im Tag <script> die zusätzliche PHP-Logik hinzu, um Transaktions- und Artikeldaten dynamisch auszugeben:

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

<?php
echo getTransactionJs($trans);

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

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

Sobald das PHP-Skript ausgeführt wurde, werden die für analytics.js erforderlichen Transaktions- und Artikeldaten auf der Seite ausgegeben. Sobald der JavaScript-Code auf der Seite im Browser gerendert wird, werden alle E-Commerce-Daten an Google Analytics gesendet.

Währungsarten

Der Standardwährungstyp kann über die Verwaltungsoberfläche konfiguriert werden. Wenn Sie mithilfe von analytics.js Währungswerte senden, stellt der Wert den Gesamtwert einer Währung dar.

Ein Dezimalpunkt kann als Trennzeichen zwischen dem gesamten und dem Bruchteil der Währung verwendet werden. Die Genauigkeit kann mit bis zu sechs Dezimalstellen angegeben werden. Folgendes gilt für ein Währungsfeld:

1000.000001

Sobald der Wert an Google Analytics gesendet wurde, wird der gesamte Text bis zur ersten Ziffer, dem Zeichen - oder dem Zeichen . (Dezimal) entfernt. Das bedeutet:

$-55.00

wird zu:

-55.00