Erweiterte E-Commerce-Berichte

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

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

Wenn Sie die E-Commerce-Analyse 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. Unter Mit mehreren Tracking-Objekten arbeiten erfahren Sie, wie Sie Daten von einer Seite aus an mehrere Properties senden.

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 erweiterte E-Commerce-Plug-in 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

Es gibt mehrere Arten von E-Commerce-Daten, die Sie senden können:

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 dem Produkt zugeordnete Marke (z. B. Google)
category Text Nein Die Kategorie, zu der das Produkt gehört (z.B. Bekleidung). Verwenden Sie / als Trennzeichen, um bis zu fünf Hierarchieebenen anzugeben (z.B. Bekleidung/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 in den Einkaufswagen gelegt 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 dem Produkt zugeordnete Marke (z. B. Google)
category Text Nein Die Kategorie, zu der das Produkt gehört (z.B. Bekleidung). Verwenden Sie / als Trennzeichen, um bis zu fünf Hierarchieebenen anzugeben (z.B. Bekleidung/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 einem Produkt zugewiesen 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, Steuerkosten oder andere Anpassungen des Gesamtumsatzes enthalten, die in Ihre Umsatzberechnungen einbezogen werden sollen.

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

Aktionen für Produkte und Angebote

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 in den Einkaufswagen
remove Entfernen Sie ein oder mehrere Produkte aus einem Einkaufswagen.
checkout Der Bezahlvorgang für ein oder mehrere Produkte wird gestartet.
checkout_option Senden des Optionswerts für einen bestimmten Bezahlschritt.
purchase Der Verkauf von einem oder mehreren Produkten.
refund Die Erstattung für ein oder mehrere Produkte.
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 startet den Bezahlvorgang für ein oder mehrere Produkte.
checkout_progress Ein Nutzer schließt den Bezahlvorgang nach dem ersten Schritt 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 mit der analytics.js-Bibliothek zu messen.

E-Commerce-Plug-in laden

Um die Größe der analytics.js-Bibliothek zu verringern, sind erweiterte E-Commerce-Berichte nicht in der Standardbibliothek 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 erfolgen, nachdem Sie das Tracker-Objekt erstellt haben und bevor Sie eine der Funktionen für erweiterte E-Commerce-Berichte verwenden.

Erweiterte E-Commerce-Daten senden

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

E-Commerce-Aktivitäten messen

Eine typische Implementierung für erweiterte E-Commerce-Berichte misst Produktimpressionen und eine der folgenden Aktionen:

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

Impressionen messen

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

Ein 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 ausgeführte Aktion anzugeben.

Beispielsweise misst der folgende Code einen Klick auf einen Produktlink, 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).
});

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

Impressionen und Aktionen kombinieren

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

Das folgende Beispiel zeigt, wie eine Produktdetailansicht mit einem Abschnitt mit ähnlichen Produkten analysiert wird:

// 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 einem 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.

Analysieren von Erstattungen

Wenn Sie eine ganze Transaktion erstatten möchten, legen Sie eine refund-Aktion fest und geben Sie 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 für eine teilweise 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 normal gemessenen Verhaltens auf der Website ist (d.h. nicht vom Nutzer initiiert), empfehlen wir, 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 im Bezahlvorgang:

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

1. Schritte für den Bezahlvorgang messen

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

  • Feld „step

    Für jeden Schritt des Bezahlvorgangs, den Sie messen, müssen Sie einen step-Wert angeben. Dieser Wert wird verwendet, um Ihre Checkout-Aktionen 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. z. B. die Standardzahlungsart für den Nutzer (z. B. Visa).

  • Bezahlschritt messen

    Wenn Sie einen Schritt des Bezahlvorgangs messen möchten, verwenden Sie ec:addProduct für jedes Produkt und ec:setAction geben einen Bezahlvorgang an. Gegebenenfalls kann ec:setAction einen zusätzlichen actionFieldObject ausführen, um den Bezahlvorgang mit einer step und einem option zu beschreiben.

    Das folgende Beispiel zeigt, wie du den ersten Schritt eines Bezahlvorgangs mit einem einzelnen Produkt und einigen zusätzlichen Informationen zur Zahlungsart messen kannst:

    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. Analysieren der Zahlungs- und Versandoptionen

Mit Kassenoptionen 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 die vom Nutzer ausgewählte Option festgelegt wurde. 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 werden wahrscheinlich messen wollen, 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. Sie können diese Namen konfigurieren, indem Sie auf der Google Analytics-Weboberfläche im Bereich Verwaltung die Datenansicht (Profil) auswählen und auf E-Commerce-Einstellungen klicken. Folgen Sie der Anleitung zum Einrichten von E-Commerce, um jeden Schritt des Bezahlvorgangs, den Sie analysieren 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 Bezahlvorgang-Trichter hinzugefügt: 1. Warenkorb überprüfen, 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 das Messen 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.

Impressionen der Werbung

Impressionen für interne Werbung werden im Allgemeinen 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 die Aktion promo_click festgelegt wird. 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 die 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 der 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 einer 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 klickt ein Nutzer auf den Produkteintrag, um weitere Details zu sehen und Interesse an diesem Produkt zu zeigen.

Wenn Sie diesen Produktklick erfassen möchten, verwenden Sie ec:addProduct und ec:setAction:

// 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';
    }
  });
}

Die Produktverknüpfung könnte dann wie folgt implementiert werden:

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

Ansicht „Produktdetails“ messen

Nach dem Klicken auf den Produkteintrag öffnet ein Nutzer die Seite mit den Produktdetails.

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 aus dem Warenkorb messen

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

Wenn Sie messen möchten, ob 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.
}

Analysieren des Bezahlvorgangs

Jetzt kann der Nutzer mit dem Bezahlvorgang beginnen, 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 der Weboberfläche 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-Trichter hinzugefügt: 1. Zahlungsdetails und 2. Versanddetails
Abbildung 2:E-Commerce-Einrichtung – Checkout-Trichter

Schritt 1 – Zahlung

Um den ersten Schritt des Bezahlvorgangs zu messen, verwenden Sie ec:addProduct für jedes Produkt im Einkaufswagen und ec:setAction, um ein checkout anzugeben. Bei ec:setAction wird ein actionFieldObject verwendet, um den Schritt des Bezahlvorgangs mit einer Zahl zu beschreiben. Zusätzliche Informationen zur Standardzahlungsart für diesen Nutzer wurden im Feld option 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

Um den zweiten Schritt des Bezahlvorgangs zu erfassen, verwenden Sie ec:addProduct für jedes Produkt im Einkaufswagen und ec:setAction, um einen Bezahlvorgang anzugeben. In diesem Fall haben wir beim Senden des ersten Seitenaufrufs keine zusätzlichen Informationen zur ausgewählten Versandoption. Dies wird separat mit ec:setAction zur Angabe einer checkout_option bearbeitet.

// 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>

Transaktionen 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, fügen Sie jedes Produkt mit ec:addProduct hinzu und anschließend mit ec:setAction, um eine purchase anzugeben. Informationen auf Transaktionsebene wie der Gesamtumsatz, Steuern usw. können über eine 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 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 angeben.

Die Landeswä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.

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