Dieses Dokument bietet eine Übersicht über die Messung von In-App-E-Commerce-Aktionen und -Impressionen mit dem Google Analytics SDK Version 4 für Android.
Übersicht
Mit erweiterten E-Commerce-Berichten können Nutzerinteraktionen mit Produkten im gesamten Kaufprozess gemessen werden. Dazu zählen Produktimpressionen, Produktklicks, das Aufrufen von Produktdetails, das Hinzufügen eines Produkts zum Einkaufswagen, das Starten des Bezahlvorgangs, Transaktionen und Erstattungen.
Implementierung
Für die Messung von erweiterten E-Commerce-Berichten müssen Sie die Klasse HitBuilder
und die zugehörigen Methoden verwenden, um E-Commerce-Daten für Produkte, Impressionen und Angebote zu senden. Für die Erstellung von E-Commerce-Informationen stehen auch Google Analytics-E-Commerce-Klassen zur Verfügung.
Mit erweiterten E-Commerce-Berichten können Sie:
- E-Commerce-Aktivitäten messen
- Transaktionen messen
- Erstattungen messen
- Bezahlvorgang messen
- Interne Werbung analysieren
E-Commerce-Aktivitäten messen
Bei einer typischen erweiterten E-Commerce-Implementierung werden Produktimpressionen und eine der folgenden Aktionen gemessen:
- Produkt auswählen
- Produktdetails ansehen.
- Impressionen und Auswahl interner Werbung.
- Hinzufügen oder Entfernen eines Produkts in den Einkaufswagen.
- Bezahlvorgang für ein Produkt starten
- Käufe und Erstattungen.
Impressionen messen
Erstellen Sie zum Messen einer Produktimpression ein Product
-Objekt und senden Sie es mit der Treffermethode addImpression
. Product
muss einen Namen oder eine ID 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 mithilfe der Methode addProduct
mit einem Product
-Objekt zum Hinzufügen von Produktdetails und der Methode setProductAction
mit einem ProductAction
-Objekt zum Angeben der auszuführenden Aktion gemessen.
Mit dem folgenden Code wird beispielsweise die Auswahl eines Produkts in einer Liste von Suchergebnissen gemessen:
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
Wenn Sie sowohl Produktimpressionen als auch Aktionen haben, können Sie diese in einem einzigen Treffer kombinieren und analysieren.
Das folgende Beispiel zeigt, wie eine Produktdetailansicht mit einem ähnlichen Produktbereich gemessen 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
Sie können eine Transaktion mit der Methode addProduct
mit einem Product
-Objekt zum Hinzufügen von Produktdetails und der Methode setProductAction
mit einem ProductAction
-Objekt zur Angabe einer Kaufaktion erfassen. Details auf Transaktionsebene wie Gesamtumsatz, Steuern und Versandkosten finden Sie im Objekt ProductAction
.
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-Verwaltungs-Weboberfläche eine gemeinsame, globale Währung für alle Transaktionen und Artikel konfigurieren.
Die Landeswährung muss im Standard ISO 4217
angegeben werden.
Eine vollständige Liste der unterstützten Conversion-Währungen finden Sie in der Referenz zu Währungscodes.
Lokale Währungen werden über die currencyCode-Tracker-Property angegeben. Dieser Tracker sendet beispielsweise Währungswerte in 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());
Rückerstattungen messen
Wenn Sie eine ganze Transaktion erstatten möchten, verwenden Sie die Methode setProductAction
mit einem ProductAction
-Objekt, um die Transaktions-ID und den Typ der Erstattungsaktion 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-ID(s) 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 über ein Ereignis senden müssen, das nicht Teil des normalerweise gemessenen Nutzerverhaltens ist (also nicht vom Nutzer initiiert), sollten Sie ein Ereignis ohne Interaktion senden. Dadurch wird verhindert, dass bestimmte Messwerte vom Ereignis betroffen sind. 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());
Bezahlvorgang analysieren
So messen Sie jeden Schritt im Bezahlvorgang:
- Fügen Sie Tracking-Code hinzu, um die einzelnen Schritte des Bezahlvorgangs zu erfassen.
- Fügen Sie gegebenenfalls Tracking-Code hinzu, um die Zahlungsoptionen zu erfassen.
- Optional können Sie für den Bericht „Bezahltrichter“ nutzerfreundliche Schrittnamen festlegen. Konfigurieren Sie dazu im Bereich „Verwaltung“ der Weboberfläche die E-Commerce-Einstellungen.
1. Schritte beim Bezahlvorgang analysieren
Für jeden Schritt des Bezahlvorgangs müssen Sie den entsprechenden Tracking-Code implementieren, um Daten an Google Analytics zu senden.
Feld „Step
“
Für jeden zu erfassenden Bezahlvorgang-Schritt sollte ein step
-Wert angegeben werden. Mit diesem Wert werden die Aktionen für den Bezahlvorgang den Labels zugeordnet, die Sie für die einzelnen Schritte in den E-Commerce-Einstellungen konfiguriert haben.
Feld „Option
“
Wenn Sie zum Zeitpunkt der Messung zusätzliche Informationen zum jeweiligen Bezahlvorgang-Schritt haben, können Sie das Feld option
mit der Aktion checkout
festlegen, um diese Informationen zu erfassen. Beispiel: die Standardzahlungsmethode für den Nutzer (z. B. 'Visa');
Schritt des Bezahlvorgangs messen
Verwenden Sie zum Messen eines Bezahlvorgangs die Methode addProduct
mit einem Product
-Objekt, um Produktdetails hinzuzufügen, und die Methode setProductAction
mit einem ProductAction
-Objekt, um eine Kaufaktion anzugeben. Gegebenenfalls kannst du auch an der Kasse ein step
und ein option
festlegen.
Das folgende Beispiel zeigt, wie der erste Schritt eines Kaufvorgangs mit einem einzelnen Produkt und einigen zusätzlichen Informationen zur Zahlungsart gemessen wird:
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. Kassenoptionen analysieren
Mit Google Checkout-Optionen können Sie zusätzliche Informationen zum Status des Bezahlvorgangs erfassen. Das ist in Fällen nützlich, in denen Sie einen Bezahlvorgangschritt gemessen haben, aber nach dem Festlegen einer vom Nutzer ausgewählten Option zusätzliche Informationen zum selben Schritt verfügbar sind. Der Nutzer wählt beispielsweise eine Versandmethode aus.
Wenn du eine Zahlungsoption analysieren möchtest, verwende setAction
, um eine Zahlungsoption anzugeben und die Schrittnummer sowie die Beschreibung der Option anzugeben.
Wahrscheinlich möchten Sie diese Aktion erfassen, sobald der Nutzer eine Aktion ausgeführt hat, um mit dem nächsten Schritt im Bezahlvorgang fortzufahren. 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. Trichterkonfiguration für den Bezahlvorgang
Jeder Schritt im Bezahlvorgang kann einen aussagekräftigen Namen haben, der in Berichten verwendet wird. Rufen Sie zum Konfigurieren dieser Namen auf der Google Analytics-Weboberfläche den Bereich Verwaltung auf, wählen Sie die Ansicht (Profil) aus und klicken Sie auf E-Commerce-Einstellungen. Folgen Sie der Anleitung zum Einrichten von E-Commerce, um jedem Bezahlschritt, der erfasst werden soll, ein Label hinzuzufügen.

Interne Werbung messen
Erweiterte E-Commerce-Berichte umfassen die Analyse von Impressionen und Klicks interner Werbung, z. B. Banner, die für einen Ausverkauf angezeigt werden.
Werbeimpressionen
Impressionen für interne Angebote werden in der Regel mit dem ersten Bildschirmaufruf mithilfe der Methode addPromotion
mit einem Promotion
-Objekt gemessen, 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 Angebote können mit der Methode addPromotion
mit einem Promotion
-Objekt und der Methode setPromotionAction
auf Promotion.ACTION_CLICK
oder Promotion.ACTION_VIEW
gemessen werden, um einen Angebotsklick bzw. eine Angebotsansicht anzugeben. 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());