Universal Analytics: Erweiterte E-Commerce-Berichte für Android

Google Analytics unterstützt erweiterte E-Commerce-Berichte in Universal Analytics-Properties. Erweiterte E-Commerce-Berichte ermöglichen die Messung von Nutzerinteraktionen mit Produkten im gesamten Einkaufserlebnis. Dazu gehören Angebotsimpressionen, Klicks auf Angebote, Produktimpressionen, Produktklicks, Aufrufe von Produktdetails, Hinzufügen von Artikeln zum Einkaufswagen, Entfernen von Artikeln aus dem Einkaufswagen sowie das Einleiten von Bezahlvorgängen, Transaktionen und Erstattungen.

Die aktuellen Versionen von Google Tag Manager und Google Analytics für mobile Apps funktionieren in Verbindung mit Firebase, der Google-Plattform für mobile Apps. Wenn Sie Apps mit dem Firebase SDK messen, haben Sie Zugriff auf eine Reihe von automatisch generierten Berichten zu mobilen Apps, die weiter angepasst und durch In-App-Code ergänzt werden können. Diese Berichte enthalten automatisch Daten zu In-App-Käufen, die vom App Store bei iTunes und Google Play verarbeitet wurden. Sie können zusätzliche Berichte zu E-Commerce generieren, indem Sie vorgeschlagene Ereignisse für E-Commerce-Apps implementieren. Ausführliche Berichte zum Kaufverhalten (d.h. erweiterte E-Commerce-Berichte) sind derzeit nur in Universal Analytics-Properties verfügbar.

In diesem Dokument wird beschrieben, wie Sie Tag Manager für mobile Apps mit dem Firebase SDK verwenden, um erweiterte E-Commerce-Daten an Universal Analytics-Properties zu senden.

Erste Schritte

Bevor Sie beginnen, müssen Sie die folgenden Voraussetzungen für Ihre App erfüllen:

  1. Installieren und konfigurieren Sie Firebase und Google Tag Manager in Ihrer App. Achten Sie darauf, dass Sie Version 11 oder höher des Firebase SDK for Android verwenden.
  2. Importieren Sie diese beiden Pakete:

    • import com.google.firebase.analytics.FirebaseAnalytics.Event;
    • import com.google.firebase.analytics.FirebaseAnalytics.Param;
  3. Erstellen Sie in Ihrem Tag Manager-Container eine benutzerdefinierte Variable namens „promotions“ mit den folgenden Einstellungen:

    • Ereignistyp: Benutzerdefinierter Parameter
    • Ereignisparameterschlüssel: Promotions
    • Standardwert: nicht definiert

Implementierung

In den folgenden Abschnitten wird gezeigt, wie Ereignisse mit den Parametern protokolliert werden, die zum Messen erweiterter E-Commerce-Aktivitäten erforderlich sind. Dazu gehören:

Produktimpressionen

Messen Sie Produktimpressionen, indem Sie das Ereignis mit einem ITEM_LIST-Parameter und einem oder mehreren Elementen (d.h. Produkten) protokollieren, die mit den entsprechenden Feldern definiert sind.

// Define products with relevant parameters

Bundle product1 = new Bundle();
product1.putString( Param.ITEM_ID, "sku1234");  // ITEM_ID or ITEM_NAME is required
product1.putString( Param.ITEM_NAME, "Donut Friday Scented T-Shirt");
product1.putString( Param.ITEM_CATEGORY, "Apparel/Men/Shirts");
product1.putString( Param.ITEM_VARIANT, "Blue");
product1.putString( Param.ITEM_BRAND, "Google");
product1.putDouble( Param.PRICE, 29.99 );
product1.putString( Param.CURRENCY, "USD" );
product1.putLong( Param.INDEX, 1 );     // Position of the item in the list

Bundle product2 = new Bundle();
product2.putString( Param.ITEM_ID, "sku5678");
product2.putString( Param.ITEM_NAME, "Android Workout Capris");
product2.putString( Param.ITEM_CATEGORY, "Apparel/Women/Pants");
product2.putString( Param.ITEM_VARIANT, "Black");
product2.putString( Param.ITEM_BRAND, "Google");
product2.putDouble( Param.PRICE, 39.99 );
product2.putString( Param.CURRENCY, "USD" );
product2.putLong( Param.INDEX, 2 );

// Prepare ecommerce bundle

ArrayList <bundle>items = new ArrayList<bundle>();
items.add(product1);
items.add(product2);

Bundle ecommerceBundle = new Bundle();
ecommerceBundle.putParcelableArrayList( "items", items );

// Set relevant bundle-level parameters

ecommerceBundle.putString( Param.ITEM_LIST, "Search Results" ); // List name

// Log view_search_results or view_item_list event with ecommerce bundle

mFirebaseAnalytics.logEvent( Event.VIEW_SEARCH_RESULTS, ecommerceBundle );

Sehen Sie sich die Tag-Konfiguration für dieses Beispiel an:

  • Tag-Typ: Universal Analytics
  • Track-Typ: Bildschirmaufruf
  • Festzulegende Felder: (Feldname) displayName (z.B.) Bildschirm mit Suchergebnissen
  • Erweiterte E-Commerce-Funktionen aktivieren: True
  • Daten lesen aus: Firebase-Ereignis
  • Trigger, z.B. (Benutzerdefiniert > Einige Ereignisse) Ereignisname ist „view_search_results“

Produktklicks/-auswahl

Erfassen Sie Produktklicks, indem Sie ein SELECT_CONTENT-Ereignis mit einem Artikel (d.h. einem Produkt) erfassen, der mit den entsprechenden Feldern definiert ist:

// Define product with relevant parameters

Bundle product1 = new Bundle();
product1.putString( Param.ITEM_ID, "sku1234"); // ITEM_ID or ITEM_NAME is required
product1.putString( Param.ITEM_NAME, "Donut Friday Scented T-Shirt");
product1.putString( Param.ITEM_CATEGORY, "Apparel/Men/Shirts");
product1.putString( Param.ITEM_VARIANT, "Blue");
product1.putString( Param.ITEM_BRAND, "Google");
product1.putDouble( Param.PRICE, 29.99 );
product1.putString( Param.CURRENCY, "USD" ); // Item-level currency unused today
product1.putLong( Param.INDEX, 1 ); // Position of the item in the list

// Prepare ecommerce bundle

Bundle ecommerceBundle = new Bundle();
ecommerceBundle.putBundle( "items", product1 );

// Set relevant action-level parameters

ecommerceBundle.putString( Param.ITEM_LIST, "Search Results" ); // Optional list name

// Log select_content event with ecommerce bundle

mFirebaseAnalytics.logEvent( Event.SELECT_CONTENT, ecommerceBundle );

Sehen Sie sich die Tag-Konfiguration für dieses Beispiel an:

  • Tag-Typ: Universal Analytics
  • Tracking-Typ: Ereignis
  • Ereigniskategorie, z.B. E-Commerce
  • Ereignisaktion, z.B. : Produktklick
  • Erweiterte E-Commerce-Funktionen aktivieren: True
  • Daten lesen aus: Firebase-Ereignis
  • Trigger, z.B. (Benutzerdefiniert > Einige Ereignisse) Ereignisname ist gleich select_content UND &lbrace;&lbrace;promotions&rbrace;&rbrace; ist gleich undefiniert

Produktdetailansichten

Zum Messen von Produktdetailansichten protokollieren Sie ein VIEW_ITEM-Ereignis mit einem Artikel (d.h. einem Produkt), der mit den entsprechenden Feldern definiert ist:

// Define product with relevant parameters

Bundle product1 = new Bundle();
product1.putString( Param.ITEM_ID, "sku1234"); // ITEM_ID or ITEM_NAME is required
product1.putString( Param.ITEM_NAME, "Donut Friday Scented T-Shirt");
product1.putString( Param.ITEM_CATEGORY, "Apparel/Men/Shirts");
product1.putString( Param.ITEM_VARIANT, "Blue");
product1.putString( Param.ITEM_BRAND, "Google");
product1.putDouble( Param.PRICE, 29.99 );
product1.putString( Param.CURRENCY, "USD" ); // Item-level currency unused today

// Prepare ecommerce bundle

Bundle ecommerceBundle = new Bundle();
ecommerceBundle.putBundle( "items", product1 );

// Log view_item event with ecommerce bundle

mFirebaseAnalytics.logEvent( Event.VIEW_ITEM, ecommerceBundle );

Sehen Sie sich die Tag-Konfiguration für dieses Beispiel an:

  • Tag-Typ: Universal Analytics
  • Track-Typ: Bildschirmaufruf
  • Festzulegende Felder: (Feldname) displayName (z.B.) Bildschirm mit Produktdetails
  • Erweiterte E-Commerce-Funktionen aktivieren: True
  • Daten lesen aus: Firebase-Ereignis
  • Trigger, z.B. (Benutzerdefiniert > Einige Ereignisse) Ereignisname ist „view_item“ UND
  • &lbrace;&lbrace;promotions&rbrace;&rbrace; ist gleich undefiniert

Hinzufügen von Artikeln zum Einkaufswagen

Misst ein Produkt, das in einen Einkaufswagen gelegt wird, indem du ein ADD_TO_CART-Ereignis mit einem Artikel (d.h. einem Produkt) protokollierst, der mit den entsprechenden Feldern definiert wurde:

// Define product with relevant parameters

Bundle product1 = new Bundle();
product1.putString( Param.ITEM_ID, "sku1234"); // ITEM_ID or ITEM_NAME is required
product1.putString( Param.ITEM_NAME, "Donut Friday Scented T-Shirt");
product1.putString( Param.ITEM_CATEGORY, "Apparel/Men/Shirts");
product1.putString( Param.ITEM_VARIANT, "Blue");
product1.putString( Param.ITEM_BRAND, "Google");
product1.putDouble( Param.PRICE, 29.99 );
product1.putString( Param.CURRENCY, "USD" ); // Item-level currency unused today
product1.putLong( Param.QUANTITY, 1 );

// Prepare ecommerce bundle

Bundle ecommerceBundle = new Bundle();
ecommerceBundle.putBundle( "items", product1 );

// Log add_to_cart event with ecommerce bundle

mFirebaseAnalytics.logEvent( Event.ADD_TO_CART, ecommerceBundle );

Sehen Sie sich die Tag-Konfiguration für dieses Beispiel an:

  • Tag-Typ: Universal Analytics
  • Tracking-Typ: Ereignis
  • Ereigniskategorie, z.B. E-Commerce
  • Ereignisaktion, z.B. „In den Warenkorb“
  • Erweiterte E-Commerce-Funktionen aktivieren: True
  • Daten lesen aus: Firebase-Ereignis
  • Trigger, z.B. (Benutzerdefiniert > Einige Ereignisse) Ereignisname ist „add_to_cart“

Aus dem Einkaufswagen entfernte Artikel

Messen Sie, wie ein Produkt aus einem Einkaufswagen entfernt wird. Dazu protokollieren Sie ein REMOVE_FROM_CART-Ereignis mit einem Artikel (d. h. einem Produkt), der mit den entsprechenden Feldern definiert ist:

// Define product with relevant parameters

Bundle product1 = new Bundle();
product1.putString( Param.ITEM_ID, "sku1234"); // ITEM_ID or ITEM_NAME is required
product1.putString( Param.ITEM_NAME, "Donut Friday Scented T-Shirt");
product1.putString( Param.ITEM_CATEGORY, "Apparel/Men/Shirts");
product1.putString( Param.ITEM_VARIANT, "Blue");
product1.putString( Param.ITEM_BRAND, "Google");
product1.putDouble( Param.PRICE, 29.99 );
product1.putString( Param.CURRENCY, "USD" ); // Item-level currency unused today
product1.putLong( Param.QUANTITY, 1 );

// Prepare ecommerce bundle

Bundle ecommerceBundle = new Bundle();
ecommerceBundle.putBundle( "items", product1 );

// Log remove_from_cart event with ecommerce bundle

mFirebaseAnalytics.logEvent( Event.REMOVE_FROM_CART, ecommerceBundle );

Sehen Sie sich die Tag-Konfiguration für dieses Beispiel an:

  • Tag-Typ: Universal Analytics
  • Tracking-Typ: Ereignis
  • Ereigniskategorie, z.B. E-Commerce
  • Ereignisaktion, z.B. „Aus Warenkorb entfernen“
  • Erweiterte E-Commerce-Funktionen aktivieren: True
  • Daten lesen aus: Firebase-Ereignis
  • Trigger, z.B. (Benutzerdefiniert > Einige Ereignisse) Ereignisname ist „remove_from_cart“

Impressionen durch Werbung

Erfassen Sie die Impressionen von Angeboten, indem Sie ein VIEW_ITEM-, VIEW_ITEM_LIST- oder VIEW_SEARCH_RESULTS-Ereignis mit einem Angebotsartikel erfassen, der mit den entsprechenden Feldern definiert ist:

// Define promotion with relevant parameters

Bundle promotion = new Bundle();
promotion.putString( Param.ITEM_ID, "PROMO_1234" ); // promotion ID; either ITEM_ID or ITEM_NAME is required
promotion.putString( Param.ITEM_NAME, "Summer Sale" ); // promotion name
promotion.putString( Param.CREATIVE_NAME, "summer_banner2" );
promotion.putString( Param.CREATIVE_SLOT, "banner_slot1" );

// Prepare ecommerce bundle

ArrayList <bundle>promotions = new ArrayList<bundle>();
promotions.add(promotion);

Bundle ecommerceBundle = new Bundle();
ecommerceBundle.putParcelableArrayList("promotions", promotions );

// Log view_item, view_item_list, or view_search_results event with ecommerce bundle

mFirebaseAnalytics.logEvent(Event.VIEW_ITEM, ecommerceBundle );

Sehen Sie sich die Tag-Konfiguration für dieses Beispiel an:

  • Tag-Typ: Universal Analytics
  • Tracking-Typ: Ereignis
  • Ereigniskategorie, z.B. Interne Werbung
  • Ereignisaktion, z.B. Impression
  • Treffer ohne Interaktion: Wahr
  • Erweiterte E-Commerce-Funktionen aktivieren: True
  • Daten lesen aus: Firebase-Ereignis
  • Trigger, z.B. (Benutzerdefiniert > Einige Ereignisse) Ereignisname ist „view_item“ UND
  • &lbrace;&lbrace;promotions&rbrace;&rbrace; ist nicht undefiniert

Klicks/Auswahl der Werbeaktion

Erfassen Sie die Klicks auf Angebote, indem Sie ein SELECT_CONTENT-Ereignis mit einem Angebot erfassen, das durch die entsprechenden Felder definiert ist:

// Define promotion with relevant parameters

Bundle promotion = new Bundle();
promotion.putString( Param.ITEM_ID, "PROMO_1234"); // promotion ID; either ITEM_ID or ITEM_NAME is required
promotion.putString( Param.ITEM_NAME, "Summer Sale"); // promotion name
promotion.putString( Param.CREATIVE_NAME, "summer_banner2");
promotion.putString( Param.CREATIVE_SLOT, "banner_slot1");

// Prepare ecommerce bundle

ArrayList <bundle>promotions = new ArrayList<bundle>();
promotions.add(promotion);

Bundle ecommerceBundle = new Bundle();
ecommerceBundle.putParcelableArrayList("promotions", promotions );

// Set properties for the event to be shown in the Google Analytics (Firebase) reports.
// These properties will not impact the Universal Analytics reporting.

ecommerceBundle.putString( Param.CONTENT_TYPE, “Internal Promotions” );
ecommerceBundle.putString( Param.ITEM_ID, "PROMO_1234" );

// Log select_content, view_item_list, or view_search_results event with ecommerce bundle

mFirebaseAnalytics.logEvent( Event.SELECT_CONTENT, ecommerceBundle );

Sehen Sie sich die Tag-Konfiguration für dieses Beispiel an:

  • Tag-Typ: Universal Analytics
  • Tracking-Typ: Ereignis
  • Ereigniskategorie, z.B. Interne Werbung
  • Ereignisaktion, z.B. Klick
  • Erweiterte E-Commerce-Funktionen aktivieren: True
  • Daten lesen aus: Firebase-Ereignis
  • Trigger, z.B. (Benutzerdefiniert > Einige Ereignisse) Ereignisname ist gleich select_content UND &lbrace;&lbrace;promotions&rbrace;&rbrace; ist nicht gleich "undefined"

Bezahlvorgang

Bezahlvorgang starten

Messen Sie den ersten Schritt eines Bezahlvorgangs. Protokollieren Sie dazu ein BEGIN_CHECKOUT-Ereignis mit einem oder mehreren Artikeln (d. h. Produkten), die durch die entsprechenden Felder definiert sind:

// Define products with relevant parameters

Bundle product1 = new Bundle();
product1.putString( Param.ITEM_ID, "sku1234"); // ITEM_ID or ITEM_NAME is required
product1.putString( Param.ITEM_NAME, "Donut Friday Scented T-Shirt");
product1.putString( Param.ITEM_CATEGORY, "Apparel/Men/Shirts");
product1.putString( Param.ITEM_VARIANT, "Blue");
product1.putString( Param.ITEM_BRAND, "Google");
product1.putDouble( Param.PRICE, 29.99 );
product1.putString( Param.CURRENCY, "USD" ); // Item-level currency unused today
product1.putLong( Param.QUANTITY, 1 );

// Prepare ecommerce bundle

ArrayList <bundle>items = new ArrayList<bundle>();
items.add(product1);

Bundle ecommerceBundle = new Bundle();
ecommerceBundle.putParcelableArrayList( "items", items );

// Set checkout step and optional checkout option

ecommerceBundle.putLong( Param.CHECKOUT_STEP, 1 ); // Optional for first step
ecommerceBundle.putString( Param.CHECKOUT_OPTION, "Visa" ); // Optional

// Log BEGIN_CHECKOUT event with ecommerce bundle

mFirebaseAnalytics.logEvent( Event.BEGIN_CHECKOUT, ecommerceBundle );

Sehen Sie sich die Tag-Konfiguration für dieses Beispiel an:

  • Tag-Typ: Universal Analytics
  • Track-Typ: Bildschirmaufruf
  • Festzulegende Felder: (Feldname) displayName (z.B.) Warenkorbbildschirm
  • Erweiterte E-Commerce-Funktionen aktivieren: True
  • Daten lesen aus: Firebase-Ereignis
  • Trigger, z.B. (Benutzerdefiniert > Einige Ereignisse) Ereignisname ist „begin_checkout“

Zusätzliche Schritte für den Bezahlvorgang

Erfassen Sie zusätzliche Schritte im Bezahlvorgang, indem Sie ein CHECKOUT_PROGRESS-Ereignis mit einem oder mehreren Artikeln (d.h. Produkten) protokollieren, die durch die entsprechenden Felder definiert sind:

// Define products with relevant parameters

Bundle product1 = new Bundle();
product1.putString( Param.ITEM_ID, "sku1234"); // ITEM_ID or ITEM_NAME is required
product1.putString( Param.ITEM_NAME, "Donut Friday Scented T-Shirt");
product1.putString( Param.ITEM_CATEGORY, "Apparel/Men/Shirts");
product1.putString( Param.ITEM_VARIANT, "Blue");
product1.putString( Param.ITEM_BRAND, "Google");
product1.putDouble( Param.PRICE, 29.99 );
product1.putString( Param.CURRENCY, "USD" ); // Item-level currency unused today
product1.putLong( Param.QUANTITY, 1 );

// Prepare ecommerce bundle

ArrayList <bundle>items = new ArrayList<bundle>();
items.add(product1);

Bundle ecommerceBundle = new Bundle();
ecommerceBundle.putParcelableArrayList( "items", items );

// Set checkout step and optional checkout option

ecommerceBundle.putLong( Param.CHECKOUT_STEP, 2 );
ecommerceBundle.putString( Param.CHECKOUT_OPTION, "Visa" ); // Optional

// Log CHECKOUT_PROGRESS event with ecommerce bundle

mFirebaseAnalytics.logEvent( Event.CHECKOUT_PROGRESS, ecommerceBundle );

Sehen Sie sich die Tag-Konfiguration für dieses Beispiel an:

  • Tag-Typ: Universal Analytics
  • Track-Typ: Bildschirmaufruf
  • Festzulegende Felder: (Feldname) displayName (z.B.) Bezahlschritt 2 – Bildschirm
  • Erweiterte E-Commerce-Funktionen aktivieren: True
  • Daten lesen aus: Firebase-Ereignis
  • Trigger, z.B. (Benutzerdefiniert > Einige Ereignisse) Ereignisname ist „checkout_progress“.

Zahlungs- und Versandoptionen

Mit Bezahloptionen können Sie zusätzliche Informationen zum Status des Bezahlvorgangs erfassen. Sie können Zahlungsoptionen entweder im Rahmen eines Ereignisses für den Bezahlschritt (wie oben gezeigt) messen oder wenn ein Nutzer eine Option auswählt, nachdem das Ereignis für einen bestimmten Bezahlschritt bereits protokolliert wurde.

Messen Sie Zahlungsoptionen nach einem Schritt des Bezahlvorgangs, indem Sie ein SET_CHECKOUT_OPTION-Ereignis mit den entsprechenden Parametern CHECKOUT_STEP und CHECKOUT_OPTION protokollieren:

Bundle ecommerceBundle = new Bundle();
ecommerceBundle.putLong( Param.CHECKOUT_STEP, 2 );
ecommerceBundle.putString( Param.CHECKOUT_OPTION, "Mastercard" );
mFirebaseAnalytics.logEvent( Event.SET_CHECKOUT_OPTION, ecommerceBundle );

Sehen Sie sich die Tag-Konfiguration für dieses Beispiel an:

  • Tag-Typ: Universal Analytics
  • Tracking-Typ: Ereignis
  • Ereigniskategorie, z.B. E-Commerce
  • Ereignisaktion, z.B. „Bezahloption festlegen“
  • Erweiterte E-Commerce-Funktionen aktivieren: True
  • Daten lesen aus: Firebase-Ereignis
  • Trigger, z.B. (Benutzerdefiniert > Einige Ereignisse) Ereignisname ist gleich set_checkout_option

Käufe

Erfassen Sie Käufe, indem Sie ein ECOMMERCE_PURCHASE-Ereignis mit einem oder mehreren Artikeln (d.h. Produkten) protokollieren, die mit den entsprechenden Feldern definiert sind:

// Define product with relevant parameters

Bundle product1 = new Bundle();
product1.putString( Param.ITEM_ID, "sku1234"); // ITEM_ID or ITEM_NAME is required
product1.putString( Param.ITEM_NAME, "Donut Friday Scented T-Shirt");
product1.putString( Param.ITEM_CATEGORY, "Apparel/Men/Shirts");
product1.putString( Param.ITEM_VARIANT, "Blue");
product1.putString( Param.ITEM_BRAND, "Google");
product1.putDouble( Param.PRICE, 29.99 );
product1.putString( Param.CURRENCY, "USD" ); // Item-level currency unused today
product1.putLong( Param.QUANTITY, 1 );

Bundle product2 = new Bundle();
product2.putString( Param.ITEM_ID, "sku5678");
product2.putString( Param.ITEM_NAME, "Android Workout Capris");
product2.putString( Param.ITEM_CATEGORY, "Apparel/Women/Pants");
product2.putString( Param.ITEM_VARIANT, "Black");
product2.putString( Param.ITEM_BRAND, "Google");
product2.putDouble( Param.PRICE, 39.99 );
product2.putString( Param.CURRENCY, "USD" ); // Item-level currency unused today
product2.putLong( Param.QUANTITY, 1 );

// Prepare ecommerce bundle

ArrayList <bundle>items = new ArrayList<bundle>();
items.add(product1);
items.add(product2);

Bundle ecommerceBundle = new Bundle();
ecommerceBundle.putParcelableArrayList( "items", items );

// Set relevant transaction-level parameters

ecommerceBundle.putString( Param.TRANSACTION_ID, "T12345" );
ecommerceBundle.putString( Param.AFFILIATION, "Google Store - Online" );
ecommerceBundle.putDouble( Param.VALUE, 37.39 );    // Revenue
ecommerceBundle.putDouble( Param.TAX, 2.85 );
ecommerceBundle.putDouble( Param.SHIPPING, 5.34 );
ecommerceBundle.putString( Param.CURRENCY, "USD" );
ecommerceBundle.putString( Param.COUPON, "SUMMER2017" );

// Log ecommerce_purchase event with ecommerce bundle

mFirebaseAnalytics.logEvent( Event.ECOMMERCE_PURCHASE, ecommerceBundle );

Sehen Sie sich die Tag-Konfiguration für dieses Beispiel an:

  • Tag-Typ: Universal Analytics
  • Track-Typ: Bildschirmaufruf
  • Festzulegende Felder: (Feldname) displayName (z.B.) „Danke“-Bildschirm
  • Erweiterte E-Commerce-Funktionen aktivieren: True
  • Daten lesen aus: Firebase-Ereignis
  • Trigger, z.B. (Benutzerdefiniert > Einige Ereignisse) Ereignisname ist „ecommerce_purchase“

Erstattungen

Erfassen Sie Erstattungen, indem Sie ein PURCHASE_REFUND-Ereignis mit der entsprechenden Transaktions-ID und optional (für Teilerstattungen) einen oder mehrere Artikel (d.h. Produkte) protokollieren, die mit Artikel-IDs und Mengen definiert sind:

// Prepare ecommerce bundle with transaction ID to be refunded

Bundle ecommerceBundle = new Bundle();
ecommerceBundle.putString( Param.TRANSACTION_ID, "T12345" ); // Required
ecommerceBundle.putDouble( Param.VALUE, 37.39 ); // Optional in Universal Analytics

// (OPTIONAL) For partial refunds, define the item IDs and quantities of products being refunded

Bundle refundedProduct = new Bundle();
refundedProduct.putString( Param.ITEM_ID, "sku1234" ); // Required for partial refund
refundedProduct.putLong( Param.QUANTITY, 1 ); // Required for partial refund

ArrayList <bundle>items = new ArrayList<bundle>();
items.add(refundedProduct);
ecommerceBundle.putParcelableArrayList( "items", items );

// Log purchase_refund event with ecommerce bundle

mFirebaseAnalytics.logEvent( Event.PURCHASE_REFUND, ecommerceBundle );

Sehen Sie sich die Tag-Konfiguration für dieses Beispiel an:

  • Tag-Typ: Universal Analytics
  • Tracking-Typ: Ereignis
  • Ereigniskategorie, z.B. E-Commerce
  • Ereignisaktion, z.B. Rückerstattung
  • Erweiterte E-Commerce-Funktionen aktivieren: True
  • Daten lesen aus: Firebase-Ereignis
  • Trigger, z.B. (Benutzerdefiniert > Einige Ereignisse) Ereignisname ist „purchase_refund“