E-Commerce-Messung

In diesem Leitfaden wird beschrieben, wie Sie E-Commerce-Daten mit analytics.js erfassen.

Überblick

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

Es gibt zwei Arten von E-Commerce-Daten, die mit analytics.js gesendet werden können: Transaktionsdaten und Artikeldaten.

Transaktionsdaten

Eine Transaktion stellt die gesamte Transaktion auf Ihrer Website dar. Sie enthält die folgenden Werte:

Schlüssel Werttyp Erforderlich Beschreibung
id Text Yes Die Transaktions-ID. (z.B. 1234)
affiliation Text Nein Das Geschäft oder die Zugehörigkeit, über die diese Transaktion erfolgt ist (z.B. Acme Clothing).
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 enthalten, die in Ihre Umsatzberechnungen einbezogen werden sollen.
shipping currency Nein Gibt die Gesamtversandkosten der Transaktion an. (z.B. 5)
tax currency Nein Gibt die Gesamtsteuer für die Transaktion an. (z. B. 1,29)

Artikeldaten

Ein Artikel steht für die einzelnen Produkte, die sich im Einkaufswagen befanden, und enthält die folgenden Werte:

Schlüssel Werttyp Erforderlich Beschreibung
id Text Yes Die Transaktions-ID. Über diese ID werden Artikel mit den Transaktionen verknüpft, zu denen sie gehören. (z.B. 1234)
name Text Yes Der Name des Elements (z.B. Pinkfarbene Häschen)
sku Text Nein Gibt die SKU 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 Einheit, die Einheit und der Preis des jeweiligen Artikels. (z. B. 11,99)
quantity Ganzzahl Nein Die Anzahl der bei der Transaktion gekauften Einheiten. Wird in dieses Feld ein Wert übergeben, der keine ganze Zahl ist (z.B. 1.5), wird er auf die nächste Ganzzahl gerundet.

Implementierung

In der Regel implementieren Sie die E-Commerce-Messung, sobald der Nutzer den Bezahlvorgang abgeschlossen hat. Dieser Fehler tritt in der Regel auf der „Dankeschön“-Seite auf. Wenn Sie E-Commerce-Daten an Google Analytics gesendet haben und bereit sind, müssen Sie einige Schritte ausführen:

E-Commerce-Plug-in laden

Um die Größe der analytics.js-Bibliothek zu reduzieren, ist die E-Commerce-Messung nicht in der Standardbibliothek 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 nach dem Erstellen des Tracker-Objekts und vor der Verwendung einer E-Commerce-Funktion erfolgen.

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

Transaktion hinzufügen

Nach dem Laden des Plug-ins wird ein transparentes Einkaufswagenobjekt erstellt. Sie können Transaktions- und Artikeldaten in den Einkaufswagen legen und nach der vollständigen Konfiguration alle Daten auf einmal senden.

Mit dem Befehl ecommerce:addTransaction fügen Sie dem Einkaufswagen Transaktionsdaten 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.
});

Hinzufügen von Elementen

Als Nächstes verwenden Sie 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 sie mit dem Befehl ecommerce:send an Google Analytics:

ga('ecommerce:send');

Dieser Befehl durchläuft alle Transaktionen und Artikel im Einkaufswagen und sendet die entsprechenden Daten an Google Analytics. Anschließend wird der Einkaufswagen geleert und es können Daten für eine neue Transaktion gesendet werden. Wenn ein vorheriger ecommerce:send-Befehl ausgegeben wurde, werden nur neue Transaktions- und Artikeldaten gesendet.

Daten löschen

Wenn Sie alle Transaktionen und Artikel manuell aus dem Einkaufswagen löschen müssen, verwenden Sie den folgenden Befehl:

ga('ecommerce:clear');

Lokale Währungen angeben

Standardmäßig können Sie über die Google Analytics-Verwaltungsweboberfläche eine gemeinsame, globale Währung für alle Transaktionen und Artikel konfigurieren. Standardmäßig wird für alle Artikel und Transaktionen die globale Währung verwendet. Bei Websites, die Transaktionen in mehreren Währungen ausführen, können Sie mit dem E-Commerce-Plug-in die Landeswährung der Transaktion sowie einzelne Produkte angeben.

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

Wenn Sie die Landeswährung für eine bestimmte Transaktion und alle zugehörigen Artikel festlegen möchten, 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.
});

Außerdem können Sie die Währung pro Element 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 für mehrere Tracker

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

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

Anschließend laden Sie das E-Commerce-Plug-in für diesen benannten Tracker folgendermaßen:

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

Zum Senden einer Transaktion können Sie ein Transaktionsobjekt erstellen und es wie folgt 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 auf mehreren Trackern verwendet werden.

Abschließend würden Sie die Transaktionsdaten wie folgt 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. Es ist also ein wenig Koordination zwischen Server und Client erforderlich, um E-Commerce-Daten richtig an Google Analytics zu senden.

Die meisten E-Commerce-Websites rendern die Dankeschön-Seite mit einer serverseitigen Vorlagen-Engine. In diesem Fall würden Sie den E-Commerce-Messcode in die serverseitige Vorlage einfügen und mithilfe der Serverlogik die E-Commerce-Datenwerte dynamisch auf die endgültige Seite schreiben. Hier sehen Sie ein Beispiel dafür, wie dies in PHP aussehen würde.

In PHP haben Sie normalerweise eine Darstellung der E-Commerce-Daten. In diesem Beispiel sind 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 zur Umwandlung der E-Commerce-Daten in den von analytics.js benötigten JavaScript-String zu schreiben:

<?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 <script>-Tag die zusätzliche PHP-Logik hinzu, um die 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 das JavaScript auf der Seite im Browser gerendert wurde, werden alle E-Commerce-Daten an Google Analytics gesendet.

Währungstypen

Die Standardwährungsart kann über die Verwaltungsoberfläche konfiguriert werden. Wenn Sie mit analytics.js Währungswerte senden, stellt der Wert den Gesamtwert einer Währung dar.

Ein Dezimalpunkt kann als Trennzeichen zwischen dem Ganzen 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

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

$-55.00

wird zu:

-55.00