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
- Transaktionen erfassen
- Erstattungen messen
- Bezahlvorgang analysieren
- Interne Werbung analysieren
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:
- Tracking-Code hinzufügen, um jeden Schritt des Bezahlvorgangs zu erfassen
- Fügen Sie gegebenenfalls Tracking-Code hinzu, um Zahlungsoptionen zu messen.
- 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.
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());