Erweiterter E-Commerce

Das erweiterte E-Commerce-Plug-in für analytics.js ermöglicht die Messung von Nutzerinteraktionen mit Produkten auf E-Commerce-Websites im gesamten Kaufprozess, einschließlich Produktimpressionen, Produktklicks, Aufrufen von Produktdetails, Hinzufügen eines Produkts zum Einkaufswagen, Initiieren des Bezahlvorgangs, Transaktionen und Erstattungen.

Migration und Kompatibilität mit dem E-Commerce-Plug-in (ecommerce.js)

Wenn Sie die E-Commerce-Messung bereits implementiert haben und erweiterte E-Commerce-Berichte verwenden möchten, haben Sie zwei Hauptoptionen:

Neue Property verwenden

Sie können für eine neu erstellte Property einen zusätzlichen Tracker hinzufügen und erweiterte E-Commerce-Berichte für die neue Property taggen bzw. aktivieren. Wie Sie von einer Seite aus Daten an mehrere Properties senden, erfahren Sie unter Mit mehreren Tracking-Objekten arbeiten.

Vorhandene Property migrieren

Für die Migration vom E-Commerce-Plug-in zum Plug-in für erweiterte E-Commerce-Berichte sollten aktuelle analytics.js-Nutzer Verweise entfernen und durch erweiterten E-Commerce-Code ersetzen.

Wenn Sie derzeit ga.js verwenden, müssen Sie zuerst zu analytics.js migrieren, bevor Sie das Plug-in für erweiterte E-Commerce-Berichte verwenden können.

Transaktions- und Artikeldaten, die zuvor mit dem Plug-in ecommerce.js erfasst wurden, sind von der Migration nicht betroffen und bleiben in den Properties und Profilen verfügbar, an die sie ursprünglich gesendet wurden.

Datentypen und Aktionen für erweiterte E-Commerce-Berichte

Sie können verschiedene Arten von E-Commerce-Daten senden:

Impressionsdaten

Informationen zu einem angesehenen Produkt Sie wird als impressionFieldObject bezeichnet und enthält die folgenden Werte:

Schlüssel Werttyp Erforderlich Beschreibung
id Text *Ja

Die Produkt-ID oder SKU (z.B. P67890).

* Es muss entweder id oder name festgelegt werden.

name Text *Ja

Der Name des Produkts (z.B. Android-T-Shirt).

* Es muss entweder id oder name festgelegt werden.

list Text Nein Die Liste oder Sammlung, zu der das Produkt gehört (z.B. Suchergebnisse)
list_name Text Nein Die Liste oder Sammlung, zu der das Produkt gehört (z.B. Suchergebnisse)
brand Text Nein Die mit dem Produkt verbundene Marke (z.B. Google).
category Text Nein Die Kategorie, zu der das Produkt gehört (z.B. Bekleidung). Verwende / als Trennzeichen für bis zu fünf Hierarchieebenen (z.B. Kleidung/Herren/T-Shirts).
variant Text Nein Die Variante des Produkts (z.B. Schwarz).
position Ganzzahl Nein Die Position des Produkts in einer Liste oder Sammlung (z.B. 2).
list_position Ganzzahl Nein Die Position des Produkts in einer Liste oder Sammlung (z.B. 2).
price Zahl Nein Der Preis eines Produkts (z. B. 29,20).

Produktdaten

Produktdaten stellen einzelne Produkte dar, die angesehen oder dem Einkaufswagen hinzugefügt wurden. Sie werden als productFieldObject bezeichnet und enthalten die folgenden Werte:

Schlüssel Werttyp Erforderlich Beschreibung
id Text *Ja

Die Produkt-ID oder SKU (z.B. P67890).

* Es muss entweder „id“ oder „name“ festgelegt werden.

name Text *Ja

Der Name des Produkts (z.B. Android-T-Shirt).

* Es muss entweder „id“ oder „name“ festgelegt werden.

brand Text Nein Die mit dem Produkt verbundene Marke (z.B. Google).
category Text Nein Die Kategorie, zu der das Produkt gehört (z.B. Bekleidung). Verwenden Sie / als Trennzeichen für bis zu fünf Hierarchieebenen (z.B. Kleidung/Herren/T-Shirts).
variant Text Nein Die Variante des Produkts (z.B. Schwarz).
price Zahl Nein Der Preis eines Produkts (z. B. 29,20).
quantity Ganzzahl Nein Die Menge eines Produkts (z.B. 2).
coupon Text Nein Der Gutscheincode, der mit einem Produkt verknüpft ist (z.B. SUMMER_SALE13).
position Ganzzahl Nein Die Position des Produkts in einer Liste oder Sammlung (z.B. 2).
list_position Ganzzahl Nein Die Position des Produkts in einer Liste oder Sammlung (z.B. 2).

Angebotsdaten

Informationen zu einem aufgerufenen Angebot Sie wird als promoFieldObject bezeichnet und enthält die folgenden Werte:

Schlüssel Werttyp Erforderlich Beschreibung
id Text *Ja

Die Angebots-ID (z.B. PROMO_1234).

* Es muss entweder id oder name festgelegt werden.

name Text *Ja

Der Name der Werbeaktion (z.B. Sommerschlussverkauf).

* Es muss entweder id oder name festgelegt werden.

creative Text Nein Das mit der Werbeaktion verknüpfte Creative (z.B. sommer_banner2).
creative_name Text Nein Der Name des Creatives (z.B. sommer_banner2).
position Text Nein Die Position des Creatives (z.B. „banner_slot_1“).
creative_slot Text Nein Der Name der Creative-Fläche (z.B. „banner_slot_1“).

Aktionsdaten

Informationen zu einer durchgeführten E-Commerce-Aktion Sie wird als actionFieldObject bezeichnet und enthält die folgenden Werte:

Schlüssel Werttyp Erforderlich Beschreibung
id Text *Ja

Die Transaktions-ID (z.B. T1234).

* Erforderlich, wenn der Aktionstyp purchase oder refund ist

affiliation Text Nein Das Geschäft oder die Zugehörigkeit, über das bzw.die diese Transaktion erfolgt ist (z. B. Google Store)
revenue Zahl Nein

Gibt den Gesamtumsatz oder die Gesamtsumme der Transaktion an (z. B. 11,99). Dieser Wert kann Versandkosten, Steuern oder andere Anpassungen des Gesamtumsatzes umfassen, die Sie in Ihre Umsatzberechnungen einbeziehen möchten.

value Zahl Nein Wert (d.h. der Umsatz), der dem Ereignis zugeordnet ist.
tax Zahl Nein Die Gesamtsteuer, die der Transaktion zugewiesen ist.
shipping Zahl Nein Die Versandkosten, die der Transaktion zugewiesen sind.
coupon Text Nein Der bei der Transaktion eingelöste Transaktionsgutschein.
list Text Nein Die Liste, zu der die verknüpften Produkte gehören. Optional.
items array Nein Das Array, das die verknüpften Produkte enthält.
step Ganzzahl Nein Eine Zahl, die einen Schritt im Kaufvorgang darstellt. Optional bei „checkout“-Aktionen.
checkout_step Ganzzahl Nein Eine Zahl, die einen Schritt im Kaufvorgang darstellt.
option Text Nein Zusätzliches Feld für checkout- und checkout_option-Aktionen, mit denen Optionsinformationen auf der Zahlungsseite beschrieben werden können, z. B. die ausgewählte Zahlungsmethode.
checkout_option Text Nein Checkout-Option (d.h. ausgewählte Zahlungsmethode).

Produkt- und Werbeaktionen

Aktionen geben an, wie Produkt- und Angebotsdaten interpretiert werden, die Sie an Google Analytics senden.

Aktion Veranstaltung Beschreibung
click Ein Klick auf ein Produkt oder einen Produktlink für ein oder mehrere Produkte.
detail Eine Ansicht der Produktdetails.
add Hinzufügen eines oder mehrerer Produkte zum Einkaufswagen
remove Entfernen Sie ein oder mehrere Produkte aus einem Einkaufswagen.
checkout Initiieren des Bezahlvorgangs für ein oder mehrere Produkte
checkout_option Senden des Optionswerts für einen bestimmten Bezahlschritt.
purchase Der Verkauf eines oder mehrerer Produkte.
refund Die Erstattung für mindestens ein Produkt.
promo_click Ein Klick auf eine interne Werbung.
add_to_cart Ein Nutzer legt ein oder mehrere Produkte in den Einkaufswagen.
begin_checkout Ein Nutzer initiiert den Bezahlvorgang für ein oder mehrere Produkte.
checkout_progress Ein Nutzer schließt nach dem ersten Schritt den Bezahlvorgang ab.
purchase Ein Nutzer schließt einen Kauf ab.
refund Ein Nutzer erhält eine Erstattung für ein oder mehrere Produkte.
remove_from_cart Ein Nutzer entfernt ein oder mehrere Produkte aus dem Einkaufswagen.
select_content Ein Nutzer klickt auf ein Produkt oder einen Produktlink.
set_checkout_option Der Schritt des Bezahlvorgangs, den ein Nutzer abschließt.
view_item Ein Nutzer sieht sich Details zu einem Produkt an.
view_item_list Ein Nutzer ruft eine Liste mit einem oder mehreren Produkten auf.
view_promotion Ein Nutzer klickt auf eine interne Werbung.
view_refund Ein Nutzer sieht eine Erstattung für ein oder mehrere Produkte.

Implementierung

In den folgenden Abschnitten wird beschrieben, wie Sie das Plug-in für erweiterte E-Commerce-Berichte implementieren, um E-Commerce-Aktivitäten auf einer Website mithilfe der analytics.js-Bibliothek zu messen.

E-Commerce-Plug-in laden

Um die Größe der analytics.js-Bibliothek zu reduzieren, sind erweiterte E-Commerce-Berichte in der Standardbibliothek nicht enthalten. Stattdessen wird es als Plug-in-Modul bereitgestellt, das vor der Verwendung geladen werden muss.

Verwenden Sie den folgenden Befehl, um das Plug-in für erweiterte E-Commerce-Berichte zu laden:

ga('require', 'ec');

Dieser Befehl muss nach dem Erstellen des Tracker-Objekts und vor der Verwendung einer der Funktionen für erweiterte E-Commerce-Berichte erfolgen.

Erweiterte E-Commerce-Daten senden

Nach dem Laden werden dem Standard-Tracker einige neue Befehle hinzugefügt, die für erweiterte E-Commerce-Berichte spezifisch sind, und Sie können mit dem Senden von E-Commerce-Daten beginnen.

E-Commerce-Aktivitäten messen

Bei einer typischen Implementierung für erweiterte E-Commerce-Berichte werden Produktimpressionen und eine der folgenden Aktionen erfasst:

  • Klicks auf einen Produktlink.
  • Produktdetails werden angezeigt.
  • Impressionen und Klicks interner Werbeaktionen.
  • Hinzufügen oder Entfernen eines Produkts in den Einkaufswagen.
  • Initiieren des Bezahlvorgangs für ein Produkt
  • Käufe und Erstattungen.

Messen von Impressionen

Produktimpressionen werden mit dem Befehl ec:addImpression gemessen. Details zum Produkt werden in einem impressionFieldObject hinzugefügt.

Beispielsweise misst der folgende Code die Impression eines Produkts in einer Liste von Suchergebnissen:

ga('ec:addImpression', {            // Provide product details in an impressionFieldObject.
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel/T-Shirts',   // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'list': 'Search Results',         // Product list (string).
  'position': 1,                    // Product position (number).
  'dimension1': 'Member'            // Custom dimension (string).
});

Eine impressionFieldObject muss einen name- oder id-Wert haben. Alle anderen Werte sind optional und müssen nicht festgelegt werden.

Aktionen messen

Aktionen werden mithilfe des Befehls ec:addProduct mit einem productFieldObject zum Hinzufügen von Produktdetails und dem Befehl ec:setAction gemessen, um die auszuführende Aktion anzugeben.

Mit dem folgenden Code wird beispielsweise ein Klick auf einen Produktlink erfasst, der in einer Liste von Suchergebnissen angezeigt wird:

ga('ec:addProduct', {               // Provide product details in a productFieldObject.
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel',            // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'position': 1,                    // Product position (number).
  'dimension1': 'Member'            // Custom dimension (string).
});

ga('ec:setAction', 'click', {       // click action.
  'list': 'Search Results'          // Product list (string).
});

Eine productFieldObject muss einen name- oder id-Wert haben. Alle anderen Werte sind optional und müssen nicht festgelegt werden.

Impressionen und Aktionen kombinieren

Falls sowohl Produktimpressionen als auch eine Aktion vorliegen, kann dies in einem einzigen Treffer kombiniert und gemessen werden.

Im folgenden Beispiel wird gezeigt, wie Sie eine Produktdetailansicht mit einem zugehörigen Produktbereich messen:

// The impression from a Related Products section.
ga('ec:addImpression', {            // Provide product details in an impressionFieldObject.
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel/T-Shirts',   // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'list': 'Related Products',       // Product list (string).
  'position': 1                     // Product position (number).
});

// The product being viewed.
ga('ec:addProduct', {                 // Provide product details in an productFieldObject.
  'id': 'P67890',                     // Product ID (string).
  'name': 'YouTube Organic T-Shirt',  // Product name (string).
  'category': 'Apparel/T-Shirts',     // Product category (string).
  'brand': 'YouTube',                 // Product brand (string).
  'variant': 'gray',                  // Product variant (string).
  'position': 2                       // Product position (number).
});

ga('ec:setAction', 'detail');       // Detail action.

Transaktionen messen

Messen Sie eine Transaktion mit dem Befehl ec:setAction und setzen Sie den Aktionstyp auf purchase. Details auf Transaktionsebene wie Gesamtumsatz, Steuern und Versandkosten werden in einer actionFieldObject bereitgestellt:

ga('ec:addProduct', {               // Provide product details in an productFieldObject.
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel',            // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'black',               // Product variant (string).
  'price': '29.20',                 // Product price (number).
  'coupon': 'APPARELSALE',          // Product coupon (string).
  'quantity': 1                     // Product quantity (number).
});

ga('ec:setAction', 'purchase', {          // Transaction details are provided in an actionFieldObject.
  'id': 'T12345',                         // (Required) Transaction id (string).
  'affiliation': 'Google Store - Online', // Affiliation (string).
  'revenue': '37.39',                     // Revenue (number).
  'tax': '2.85',                          // Tax (number).
  'shipping': '5.34',                     // Shipping (number).
  'coupon': 'SUMMER2013'                  // Transaction coupon (string).
});

Ein actionFieldObject muss einen id-Wert haben, wenn der Aktionstyp purchase oder refund ist. Alle anderen Werte sind optional und müssen nicht festgelegt werden.

Erfassen von Erstattungen

Für die Erstattung einer gesamten Transaktion legen Sie eine refund-Aktion fest und geben die Transaktions-ID an:

// Refund an entire transaction.
ga('ec:setAction', 'refund', {
  // Transaction ID is only required field for full refund.
  'id': 'T12345'
});

Wenn keine übereinstimmende Transaktion gefunden wird, wird der refund-Treffer nicht verarbeitet.

Legen Sie zum Messen einer teilweisen Erstattung eine refund-Aktion fest und geben Sie die Transaktions-ID, die Produkt-IDs und die Produktmengen an, die erstattet werden sollen:

// Refund a single product.
ga('ec:addProduct', {
  'id': 'P12345',       // Product ID is required for partial refund.
  'quantity': 1         // Quantity is required for partial refund.
});

ga('ec:setAction', 'refund', {
  'id': 'T12345',       // Transaction ID is required for partial refund.
});

Ereignisse ohne Interaktion für Erstattungen verwenden

Wenn Sie Erstattungsdaten mithilfe eines Ereignisses senden müssen und das Ereignis nicht Teil des normalerweise gemessenen Verhaltens auf der Website ist (d.h. nicht vom Nutzer initiiert), wird empfohlen, ein Ereignis ohne Interaktion zu senden. Dadurch wird verhindert, dass Messwerte wie die Absprungrate, die Zeit auf der Website usw. durch das Ereignis beeinflusst werden. Beispiel:

ga('send', 'event', 'Ecommerce', 'Refund', {'nonInteraction': 1});

Messen des Bezahlvorgangs

So messen Sie die einzelnen Schritte eines Bezahlvorgangs:

  • Fügen Sie Code hinzu, um jeden Schritt des Bezahlvorgangs zu erfassen.
  • Fügen Sie gegebenenfalls einen Code hinzu, um Zahlungsoptionen zu messen.
  • Sie können optional benutzerfreundliche Schrittnamen für den Bericht zum Kassentrichter festlegen, indem Sie auf der Weboberfläche im Bereich „Verwaltung“ die E-Commerce-Einstellungen konfigurieren.

1. Bezahlvorgang-Schritte messen

Für jeden Schritt im Bezahlvorgang müssen Sie den entsprechenden Code implementieren, um Daten an Google Analytics zu senden:

  • Feld „step

    Für jeden Bezahlschritt, den Sie messen, müssen Sie einen step-Wert angeben. Dieser Wert wird verwendet, um Ihre Bezahlaktionen den Labels zuzuordnen, die Sie in den E-Commerce-Einstellungen für jeden Schritt konfiguriert haben.

  • Feld „option

    Wenn Sie zum Zeitpunkt der Messung des Schritts zusätzliche Informationen zum jeweiligen Schritt des Bezahlvorgangs haben, können Sie das Feld option mit einer checkout-Aktion festlegen, um diese Informationen zu erfassen. Zum Beispiel die Standardzahlungsart für den Nutzer (z.B. Visa).

  • Bezahlschritt messen

    Verwenden Sie ec:addProduct für jedes Produkt und ec:setAction geben Sie einen Bezahlvorgang an, um einen Schritt des Bezahlvorgangs zu messen. Gegebenenfalls kann ec:setAction einen zusätzlichen actionFieldObject verwenden, um den Schritt des Bezahlvorgangs mit step und option zu beschreiben.

    Das folgende Beispiel zeigt, wie der erste Schritt eines Bezahlvorgangs mit einem einzelnen Produkt und einigen zusätzlichen Informationen zur Zahlungsart gemessen wird:

    ga('ec:addProduct', {               // Provide product details in an productFieldObject.
      'id': 'P12345',                   // Product ID (string).
      'name': 'Android Warhol T-Shirt', // Product name (string).
      'category': 'Apparel',            // Product category (string).
      'brand': 'Google',                // Product brand (string).
      'variant': 'black',               // Product variant (string).
      'price': '29.20',                 // Product price (number).
      'quantity': 1                     // Product quantity (number).
    });
    
    // Add the step number and additional info about the checkout to the action.
    ga('ec:setAction','checkout', {
        'step': 1,
        'option': 'Visa'
    });
    

2. Bezahlvorgang-Optionen messen

Mit den Bezahloptionen können Sie zusätzliche Informationen zum Status des Bezahlvorgangs abrufen. Das ist nützlich, wenn Sie einen Schritt des Bezahlvorgangs beim ersten Seitenaufruf gemessen haben, aber zusätzliche Informationen zum selben Schritt verfügbar sind, nachdem der Nutzer eine Option ausgewählt hat. Beispielsweise wählt der Nutzer eine Versandmethode aus.

Wenn Sie eine Direktkaufoption messen möchten, verwenden Sie ec:setAction, um eine checkout_option anzugeben. Fügen Sie außerdem die Schrittnummer und die Optionsbeschreibung hinzu.

Sie möchten diese Aktion wahrscheinlich messen, sobald der Nutzer auf einen Klick geklickt hat, um zum nächsten Schritt im Bezahlvorgang zu gelangen. Beispiel:

// (On "Next" button click)
ga('ec:setAction', 'checkout_option', {'step': 2, 'option': 'FedEx'});

ga('send', 'event', 'Checkout', 'Option', {
    hitCallback: function() {
      // advance to next page
    },
});

3. Konfiguration des Checkout-Trichters

Sie können jedem Schritt im Bezahlvorgang einen aussagekräftigen Namen geben, der in Berichten verwendet wird. Rufen Sie zum Konfigurieren dieser Namen den Bereich Verwaltung der Google Analytics-Weboberfläche auf, wählen Sie die Datenansicht (Profil) aus und klicken Sie auf E-Commerce-Einstellungen. Folgen Sie der Anleitung zum Einrichten von E-Commerce, um jeden Schritt des Bezahlvorgangs, den Sie messen möchten, mit einem Label zu versehen.

E-Commerce-Einstellungen im Bereich „Verwaltung“ der Google Analytics-Weboberfläche. E-Commerce ist aktiviert und es wurden vier Labels für Schritte im Checkout-Trichter hinzugefügt: 1. Warenkorb bewerten, 2. Zahlungsinformationen erfassen, 3. Kaufdetails bestätigen
     4. Beleg
Abbildung 1: E-Commerce-Einrichtung – Checkout-Trichter

Interne Werbung messen

Das Plug-in für erweiterte E-Commerce-Berichte unterstützt die Messung von Impressionen und Klicks für interne Werbung, z. B. Banner, die angezeigt werden, um einen Verkauf in einem anderen Bereich einer Website zu bewerben.

Werbeimpressionen

Impressionen für interne Werbung werden in der Regel beim Laden der Seite gemessen und mit dem ersten Seitenaufruf über den Befehl ec:addPromo gesendet. Beispiel:

ga('ec:addPromo', {               // Promo details provided in a promoFieldObject.
  'id': 'PROMO_1234',             // Promotion ID. Required (string).
  'name': 'Summer Sale',          // Promotion name (string).
  'creative': 'summer_banner2',   // Creative (string).
  'position': 'banner_slot1'      // Position  (string).
});

Klicks auf die Werbung

Klicks auf interne Werbung können gemessen werden, indem Sie die Aktion promo_click festlegen. Beispiel:

// Identify the promotion that was clicked.
ga('ec:addPromo', {
  'id': 'PROMO_1234',
  'name': 'Summer Sale',
  'creative': 'summer_banner2',
  'position': 'banner_slot1'
});

// Send the promo_click action with an event.
ga('ec:setAction', 'promo_click');
ga('send', 'event', 'Internal Promotions', 'click', 'Summer Sale');

Wenn Sie beispielsweise eine Produktdetailseite mit einer Impression und einem Klick auf eine Werbeaktion messen möchten, müssen Sie zuerst Produkt- und Impressionsdaten mit dem ersten Seitenaufruf und dann die Daten zum Klick auf die Werbeaktion in einem separaten Ereignis senden:

// 1. Send product and impression data with pageview.
ga('ec:addProduct', {
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel',            // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'position': 1,                    // Product position (number).
});

// The impression from the Related Products section.
ga('ec:addImpression', {
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel/T-Shirts',   // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'list': 'Related Products',       // Product list (string).
  'position': 1,                    // Product position (number).
});

ga('ec:setAction', 'detail');       // Detail action.

ga('send', 'pageview');             // Send the product data with initial pageview.


// 2. Send the promo click data when the promo click occurs.
// Call this function when promo click occurs.
function onPromoClick() {
  ga('ec:addPromo', {
    'id': 'PROMO_1234',
    'name': 'Summer Sale',
    'creative': 'summer_banner2',
    'position': 'banner_slot1'
  });

  // Send the promo_click action with an event.
  ga('ec:setAction', 'promo_click');
  ga('send', 'event', 'Internal Promotions', 'click', 'Summer Sale');
}

Ein promoFieldObject muss einen name- oder id-Wert haben. Alle anderen Werte sind optional und müssen nicht festgelegt werden.

Vollständiges Beispiel

Die folgenden Code-Snippets zeigen, wie der E-Commerce-Lebenszyklus eines einzelnen Produkts mit dem Plug-in für erweiterte E-Commerce-Berichte von der ersten Impression bis zur Transaktion gemessen werden kann.

Produktimpressionen messen

In diesem Beispiel sieht sich ein Nutzer das Produkt zuerst in einer Liste von Suchergebnissen an. Wenn Sie diese Produktimpression messen möchten, verwenden Sie den Befehl ec:addImpression und geben Sie die Produktdetails in einem impressionFieldObject an:

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

ga('ec:addImpression', {
  'id': 'P12345',                   // Product details are provided in an impressionFieldObject.
  'name': 'Android Warhol T-Shirt',
  'category': 'Apparel/T-Shirts',
  'brand': 'Google',
  'variant': 'black',
  'list': 'Search Results',
  'position': 1                     // 'position' indicates the product position in the list.
});

ga('ec:addImpression', {
  'id': 'P67890',
  'name': 'YouTube Organic T-Shirt',
  'category': 'Apparel/T-Shirts',
  'brand': 'YouTube',
  'variant': 'gray',
  'list': 'Search Results',
  'position': 2
});

ga('send', 'pageview');              // Send product impressions with initial pageview.

Produktklicks messen

Als Nächstes zeigt ein Nutzer Interesse an diesem Produkt, indem er auf den Produkteintrag klickt, um weitere Details zu sehen.

Verwenden Sie ec:addProduct und ec:setAction, um diesen Produktklick zu messen:

// Called when a link to a product is clicked.
function onProductClick() {
  ga('ec:addProduct', {
    'id': 'P12345',
    'name': 'Android Warhol T-Shirt',
    'category': 'Apparel',
    'brand': 'Google',
    'variant': 'black',
    'position': 1
  });
  ga('ec:setAction', 'click', {list: 'Search Results'});

  // Send click with an event, then send user to product page.
  ga('send', 'event', 'UX', 'click', 'Results', {
    hitCallback: function() {
      document.location = '/product_details?id=P12345';
    }
  });
}

Der Produktlink könnte dann wie folgt implementiert werden:

<a href="/next-page.html"
   onclick="onProductClick(); return !ga.loaded;">
  Android Warhol T-Shirt
</a>

Produktdetailansicht messen

Nach dem Klicken auf den Produkteintrag wird die Seite mit den Produktdetails aufgerufen.

Verwenden Sie ec:addProduct und ec:setAction, um eine detail-Aktion anzugeben, um diese Produktdetailansicht zu messen:

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

ga('ec:addProduct', {
  'id': 'P12345',
  'name': 'Android Warhol T-Shirt',
  'category': 'Apparel',
  'brand': 'Google',
  'variant': 'black'
});

ga('ec:setAction', 'detail');

ga('send', 'pageview');       // Send product details view with the initial pageview.

Hinzufügen oder Entfernen von Artikeln im Warenkorb messen

Durch Hinzufügen zum Einkaufswagen signalisiert der Nutzer, dass er den Artikel kaufen möchte.

Wenn Sie messen möchten, wie ein Produkt in den Einkaufswagen gelegt oder daraus entfernt wird, verwenden Sie ec:addProduct und legen Sie den Typ add oder remove fest:

// Called when a product is added to a shopping cart.
function addToCart(product) {
  ga('ec:addProduct', {
    'id': product.id,
    'name': product.name,
    'category': product.category,
    'brand': product.brand,
    'variant': product.variant,
    'price': product.price,
    'quantity': product.qty
  });
  ga('ec:setAction', 'add');
  ga('send', 'event', 'UX', 'click', 'add to cart');     // Send data using an event.
}

Bezahlvorgang messen

Jetzt ist der Nutzer bereit, den Bezahlvorgang zu starten, der in diesem Beispiel zwei Schritte auf separaten Seiten umfasst:

  • Zahlungsdetails hinzufügen (payment.html)
  • Fügen Sie Versanddetails hinzu (shipping.html).

Prüfen Sie gegebenenfalls, ob Sie in der Admin-Konsole unter E-Commerce-Einstellungen einen Checkout-Trichter richtig konfiguriert haben. Beispiel:

E-Commerce-Einstellungen im Bereich „Verwaltung“ der Google Analytics-Weboberfläche. E-Commerce ist aktiviert und es wurden Labels für Schritte im Bezahlvorgang hinzugefügt: 1. Zahlungsdetails und 2. Versanddetails
Abbildung 2: E-Commerce-Einrichtung – Checkout-Trichter

Schritt 1: Zahlung

Wenn Sie den ersten Schritt des Bezahlvorgangs messen möchten, verwenden Sie ec:addProduct für jedes Produkt im Einkaufswagen und ec:setAction, um ein checkout anzugeben. ec:setAction verwendet einen actionFieldObject, um den Schritt des Bezahlvorgangs mit einer Zahl zu beschreiben. Im Feld option wurden zusätzliche Informationen zur Standardzahlungsart für diesen Nutzer eingefügt:

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

/**
 * Called when the user begins the checkout process.
 * @param {Array} cart An array representing the user's shopping cart.
 */
function checkout(cart) {
  for(var i = 0; i < cart.length; i++) {
    var product = cart[i];
    ga('ec:addProduct', {
      'id': product.id,
      'name': product.name,
      'category': product.category,
      'brand': product.brand,
      'variant':  product.variant,
      'price': product.price,
      'quantity': product.qty
    });
  }
}

// In the case of checkout actions, an additional actionFieldObject can
// specify a checkout step and option.
ga('ec:setAction','checkout', {
    'step': 1,            // A value of 1 indicates this action is first checkout step.
    'option': 'Visa'      // Used to specify additional info about a checkout stage, e.g. payment method.
});
ga('send', 'pageview');   // Pageview for payment.html

Schritt 2 – Versand

Wenn Sie den zweiten Schritt des Bezahlvorgangs messen möchten, verwenden Sie ec:addProduct für jedes Produkt im Einkaufswagen und ec:setAction, um einen Bezahlvorgang anzugeben. In diesem Fall haben wir keine zusätzlichen Informationen zur Versandoption, die beim Senden des ersten Seitenaufrufs ausgewählt wurde. Dies wird separat mit ec:setAction verarbeitet, um eine checkout_option anzugeben.

// Measure checkout step 2:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

/**
 * Called when the user begins the checkout process.
 * @param {Array} cart An array representing the user's shopping cart.
 */
function checkout(cart) {
  for(var i = 0; i < cart.length; i++) {
    var product = cart[i];
    ga('ec:addProduct', {
      'id': product.id,
      'name': product.name,
      'category': product.category,
      'brand': product.brand,
      'variant':  product.variant,
      'price': product.price,
      'quantity': product.qty
    });
  }
}

ga('ec:setAction','checkout', {'step': 2});
ga('send', 'pageview');     // Pageview for shipping.html


// Called when user has completed shipping options.
function onShippingComplete(stepNumber, shippingOption) {
  ga('ec:setAction', 'checkout_option', {
    'step': stepNumber,
    'option': shippingOption
  });

  ga('send', 'event', 'Checkout', 'Option', {
     hitCallback: function() {
       // Advance to next page.
     }
  });
}

Das Formular könnte dann wie folgt implementiert werden:

<a href="/next-page.html"
   onclick="onShippingComplete(2, 'FedEx'); return !ga.loaded;">
  Continue
</a>

Transaktion messen

Schließlich schließt der Nutzer den Bezahlvorgang ab und sendet den Kauf.

Wenn Sie den Verkauf eines oder mehrerer Produkte messen möchten, verwenden Sie ec:addProduct, um jedes Produkt hinzuzufügen, und dann ec:setAction, um eine purchase anzugeben. Informationen auf Transaktionsebene wie der Gesamtumsatz, Steuern usw. können über ein actionFieldObject angegeben werden. Beispiel:

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

ga('ec:addProduct', {
  'id': 'P12345',
  'name': 'Android Warhol T-Shirt',
  'category': 'Apparel',
  'brand': 'Google',
  'variant': 'black',
  'price': '29.20',
  'quantity': 1
});

// Transaction level information is provided via an actionFieldObject.
ga('ec:setAction', 'purchase', {
  'id': 'T12345',
  'affiliation': 'Google Store - Online',
  'revenue': '37.39',
  'tax': '2.85',
  'shipping': '5.34',
  'coupon': 'SUMMER2013'    // User added a coupon at checkout.
});

ga('send', 'pageview');     // Send transaction data with initial pageview.

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 Elemente konfigurieren. Standardmäßig wird für alle Artikel und Transaktionen die globale Währung verwendet. Bei Websites, auf denen Transaktionen in mehreren Währungen ausgeführt werden, können Sie mit dem E-Commerce-Plug-in die Landeswährung der Transaktion angeben.

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

Landeswährungen werden mit der Tracker-Eigenschaft currencyCode angegeben. Dieser Tracker sendet beispielsweise Währungswerte als Euro:

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

ga('set', 'currencyCode', 'EUR'); // Set currency to Euros.

ga('ec:addProduct', {
  'id': 'P12345',
  'name': 'Android Warhol T-Shirt',
  'category': 'Apparel',
  'brand': 'Google',
  'variant': 'black',
  'price': '21.89',
  'quantity': 1
});

ga('ec:setAction', 'purchase', {
  id: 'T12345',
  affiliation: 'Google Store - Online',
  revenue: '28.03',
  tax: '2.14',
  shipping: '4.00',
  coupon: 'SUMMER2013'
});

ga('send', 'pageview');