Erweitertes E-Commerce-Tracking

In diesem Dokument erhalten Sie einen Überblick darüber, wie Sie mit dem Google Analytics SDK Version 4 für Android Aktionen und Impressionen für In-App-E-Commerce messen.

Überblick

Erweiterte E-Commerce-Berichte ermöglichen die Messung von Nutzerinteraktionen mit Produkten über das gesamte Einkaufserlebnis der Nutzer hinweg. Dazu gehören Produktimpressionen, Produktklicks, das Aufrufen von Produktdetails, das Hinzufügen eines Produkts zum Einkaufswagen, das Initiieren des Bezahlvorgangs, Transaktionen und Erstattungen.

Implementierung

Für erweiterte E-Commerce-Analysen müssen Sie die Klasse HitBuilder und deren Methoden zum Senden von E-Commerce-Daten für Produkte, Impressionen und Angebote verwenden. Außerdem wird eine Reihe von Google Analytics-E-Commerce-Klassen bereitgestellt, um E-Commerce-Informationen zu erstellen.

Mit erweiterten E-Commerce-Berichten haben Sie folgende Möglichkeiten:

E-Commerce-Aktivitäten messen

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

  • Produkt auswählen
  • Produktdetails werden angezeigt.
  • Impressionen und Auswahl interner Werbeaktionen.
  • Hinzufügen oder Entfernen eines Produkts zum Einkaufswagen.
  • Initiieren des Bezahlvorgangs für ein Produkt
  • Käufe und Erstattungen.

Impressionen messen

Wenn Sie eine Produktimpression messen möchten, erstellen Sie ein Product-Objekt und senden Sie es mit einem Treffer über die Methode addImpression. Ein Product muss einen Namen oder einen ID-Wert haben. Alle anderen Werte sind optional und müssen nicht festgelegt werden.

Product product = new Product()
    .setId("P12345")
    .setName("Android Warhol T-Shirt")
    .setCategory("Apparel/T-Shirts")
    .setBrand("Google")
    .setVariant("Black")
    .setPosition(1)
    .setCustomDimension(1, "Member");
HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder()
    .addImpression(product, "Search Results");

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.setScreenName("searchResults");
t.send(builder.build());

Weitere Informationen zur Methode getTracker finden Sie unter Erweiterte Konfiguration.

Aktionen messen

Aktionen werden gemessen, indem die Methode addProduct mit einem Product-Objekt zum Hinzufügen von Produktdetails und die Methode setProductAction mit einem ProductAction-Objekt verwendet wird, um die ausgeführte Aktion anzugeben.

Beispielsweise misst der folgende Code die Auswahl eines Produkts, das in einer Liste von Suchergebnissen angezeigt wird:

Product product =  new Product()
    .setId("P12345")
    .setName("Android Warhol T-Shirt")
    .setCategory("Apparel/T-Shirts")
    .setBrand("Google")
    .setVariant("Black")
    .setPosition(1)
    .setCustomDimension(1, "Member");
ProductAction productAction = new ProductAction(ProductAction.ACTION_CLICK)
    .setProductActionList("Search Results");
HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder()
    .addProduct(product)
    .setProductAction(productAction);

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.setScreenName("searchResults");
t.send(builder.build());

Impressionen und Aktionen kombinieren

Falls 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 product from a related products section.
Product relatedProduct =  new Product()
    .setId("P12346")
    .setName("Android Warhol T-Shirt")
    .setCategory("Apparel/T-Shirts")
    .setBrand("Google")
    .setVariant("White")
    .setPosition(1);

// The product being viewed.
Product viewedProduct =  new Product()
    .setId("P12345")
    .setName("Android Warhol T-Shirt")
    .setCategory("Apparel/T-Shirts")
    .setBrand("Google")
    .setVariant("Black")
    .setPosition(1);

ProductAction productAction = new ProductAction(ProductAction.ACTION_DETAIL);
HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder()
    .addImpression(relatedProduct, "Related Products")
    .addProduct(viewedProduct)
    .setProductAction(productAction);

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.setScreenName("product");
t.send(builder.build());

Transaktionen messen

Zum Messen einer Transaktion verwenden Sie die Methode addProduct mit einem Product-Objekt, um Produktdetails hinzuzufügen, und die Methode setProductAction mit einem ProductAction-Objekt, um eine Kaufaktion anzugeben. Details auf Transaktionsebene wie der Gesamtumsatz, Steuern und Versandkosten werden im ProductAction-Objekt angegeben.

Product product =  new Product()
    .setId("P12345")
    .setName("Android Warhol T-Shirt")
    .setCategory("Apparel/T-Shirts")
    .setBrand("Google")
    .setVariant("black")
    .setPrice(29.20)
    .setCouponCode("APPARELSALE")
    .setQuantity(1);
ProductAction productAction = new ProductAction(ProductAction.ACTION_PURCHASE)
    .setTransactionId("T12345")
    .setTransactionAffiliation("Google Store - Online")
    .setTransactionRevenue(37.39)
    .setTransactionTax(2.85)
    .setTransactionShipping(5.34)
    .setTransactionCouponCode("SUMMER2013");
HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder()
    .addProduct(product)
    .setProductAction(productAction);

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.setScreenName("transaction");
t.send(builder.build());

Währung angeben

Standardmäßig können Sie über die Google Analytics-Verwaltungsweboberfläche eine gemeinsame, globale Währung für alle Transaktionen und Artikel konfigurieren.

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

Landeswährungen werden mit der Eigenschaft „currencyCode“ (Tracker) angegeben. Dieser Tracker sendet beispielsweise Währungswerte als Euro:

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.setScreenName("transaction");
t.set("&cu", "EUR");  // Set tracker currency to Euros.
t.send(builder.build());

Analysieren von Erstattungen

Verwenden Sie für die Erstattung einer gesamten Transaktion die Methode setProductAction mit einem ProductAction-Objekt, um die Transaktions-ID und einen Erstattungsaktionstyp anzugeben:

// Refund an entire transaction.
ProductAction productAction = new ProductAction(ProductAction.ACTION_REFUND)
    .setTransactionId("T12345");  // Transaction ID is only required field for a full refund.
HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder()
    .setProductAction(productAction);

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.setScreenName("refund");
t.send(builder.build());

Wenn keine übereinstimmende Transaktion gefunden wird, wird die Erstattung nicht verarbeitet.

Wenn Sie eine teilweise Erstattung messen möchten, verwenden Sie die Methode setProductAction mit einem ProductAction-Objekt, um die Transaktions-ID, die Produkt-IDs und die Produktmengen anzugeben, die erstattet werden sollen:

// Refund a single product.
Product product =  new Product()
    .setId("P12345")  // Product ID is required for partial refund.
    .setQuantity(1);  // Quanity is required for partial refund.
ProductAction productAction = new ProductAction(ProductAction.ACTION_REFUND)
    .setTransactionId("T12345");  // Transaction ID is required for partial refund.
HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder()
    .addProduct(product)
    .setProductAction(productAction);

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.setScreenName("refundProduct");
t.send(builder.build());

Ereignisse ohne Interaktion für Erstattungen verwenden

Wenn Sie Erstattungsdaten mithilfe eines Ereignisses senden müssen und das Ereignis nicht Teil des normal gemessenen Nutzerverhaltens ist (d.h. nicht vom Nutzer initiiert), empfehlen wir, ein Ereignis ohne Interaktion zu senden. Dadurch wird verhindert, dass bestimmte Messwerte durch das Ereignis beeinflusst werden. Beispiel:

// Refund an entire transaction.
ProductAction productAction = new ProductAction(ProductAction.ACTION_REFUND)
    .setTransactionId("T12345");
HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder()
    .setProductAction(productAction)
    .setNonInteraction(true)
    .setCategory("Ecommerce")
    .setAction("Refund");

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.send(builder.build());

Messen des Bezahlvorgangs

So messen Sie die einzelnen Schritte im Bezahlvorgang:

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

1. Schritte für den Bezahlvorgang messen

Für jeden Schritt im Bezahlvorgang müssen Sie den entsprechenden Tracking-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 Direktkaufaktionen 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. beispielsweise die Standardzahlungsart für den Nutzer (z.B. „Visa“).

Bezahlschritt messen

Wenn du einen Schritt des Bezahlvorgangs messen möchtest, verwende die Methode addProduct mit einem Product-Objekt, um Produktdetails hinzuzufügen, und die Methode setProductAction mit einem ProductAction-Objekt, um eine Bezahlaktion anzugeben. Bei Bedarf kannst du beim Bezahlen auch step und option festlegen.

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

Product product =  new Product()
    .setId("P12345")
    .setName("Android Warhol T-Shirt")
    .setCategory("Apparel/T-Shirts")
    .setBrand("Google")
    .setVariant("black")
    .setPrice(29.20)
    .setQuantity(1);
// Add the step number and additional info about the checkout to the action.
ProductAction productAction = new ProductAction(ProductAction.ACTION_CHECKOUT)
    .setCheckoutStep(1)
    .setCheckoutOptions("Visa");
HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder()
    .addProduct(product)
    .setProductAction(productAction);

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.setScreenName("checkoutStep1");
t.send(builder.build());

2. Analysieren der Zahlungs- und Versandoptionen

Mit Bezahloptionen können Sie zusätzliche Informationen zum Status des Bezahlvorgangs erfassen. Das ist nützlich, wenn Sie einen Schritt des Bezahlvorgangs gemessen haben, aber zusätzliche Informationen zum selben Schritt verfügbar sind, nachdem eine vom Nutzer ausgewählte Option festgelegt wurde. Beispielsweise wählt der Nutzer eine Versandmethode aus.

Wenn Sie eine Direktkaufoption messen möchten, verwenden Sie setAction, um eine Bezahloption anzugeben. Geben Sie dabei die Schrittnummer und die Optionsbeschreibung an.

Sie möchten diese Aktion wahrscheinlich messen, sobald der Nutzer eine Aktion ausgeführt hat, um zum nächsten Schritt im Bezahlvorgang überzugehen. Beispiel:

// (On "Next" button click.)
ProductAction productAction = new ProductAction(ProductAction.ACTION_CHECKOUT_OPTIONS)
    .setCheckoutStep(1)
    .setCheckoutOptions("FedEx");
HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder()
    .setProductAction(productAction)
    .setCategory("Checkout")
    .setAction("Option");

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.send(builder.build());

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

Erweiterte E-Commerce-Berichte unterstützen die Messung von Impressionen und Klicks für interne Werbung, z. B. Banner, die zum Bewerben eines Verkaufs angezeigt werden.

Impressionen der Werbung

Impressionen für interne Werbung werden im Allgemeinen beim ersten Bildschirmaufruf gemessen. Dazu wird die Methode addPromotion mit einem Promotion-Objekt verwendet, um die Details der Werbeaktion anzugeben. Beispiel:

Promotion promotion = new Promotion()
    .setId("PROMO_1234")
    .setName("Summer Sale")
    .setCreative("summer_banner2")
    .setPosition("banner_slot1");
HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder()
    .addPromotion(promotion);

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.setScreenName("promotions");
t.send(builder.build());

Klicks auf die Werbung

Klicks auf interne Werbung können mithilfe der Methode addPromotion mit einem Promotion-Objekt gemessen werden. Die Methode setPromotionAction muss entweder auf Promotion.ACTION_CLICK oder Promotion.ACTION_VIEW gesetzt sein, um einen Klick auf die Werbung bzw. einen Aufruf zu kennzeichnen. Beispiel:

Promotion promotion = new Promotion()
    .setId("PROMO_1234")
    .setName("Summer Sale")
    .setCreative("summer_banner2")
    .setPosition("banner_slot1");
HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder()
    .addPromotion(promotion)
    .setPromotionAction(Promotion.ACTION_CLICK)
    .setCategory("Internal Promotions")
    .setAction("click")
    .setLabel("Summer Sale");

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.send(builder.build());