Mit E-Commerce können Sie Nutzerinteraktionen mit Produkten im gesamten Kaufprozess messen. Dazu gehören Interaktionen wie Aufrufe von Produktlisten, Klicks auf Produktlisten, Aufrufe von Produktdetails, Hinzufügen von Produkten zum Einkaufswagen, Starten des Bezahlvorgangs, Käufe und Erstattungen.
Weitere Informationen zur Implementierung von E-Commerce-Web-Apps finden Sie unter E-Commerce in Google Analytics.
Hinweis
Sie müssen Ihr Projekt eingerichtet haben und wie in der Einführung in Analytics beschrieben auf Analytics zugreifen können. Für die Analyse von E-Commerce-Transaktionen müssen Sie Ihr Firebase-Projekt mit einem Analytics-Konto verknüpfen und in Ihrer App das Android SDK 17.3.0 oder iOS 6.20.0 oder höher verwenden.
Implementierung
Eine typische E-Commerce-Implementierung misst eine der folgenden Aktionen:
- Produkt aus einer Liste auswählen
- Produktdetails ansehen
- Produkt in einen Einkaufswagen legen / daraus entfernen
- Bezahlvorgang starten
- Käufe oder Erstattungen durchführen
- Angebote anwenden
Im Mittelpunkt dieser Aktionen stehen Produkte. Produkte können als Array von Elementen instrumentiert werden, das zu vorgeschriebenen E-Commerce-Ereignissen hinzugefügt werden kann. Zusätzlich zu den vorgeschriebenen Parametern können Sie bis zu 27 benutzerdefinierte Parameter in das Artikelarray aufnehmen.
Im folgenden Beispiel wird gezeigt, wie ein Array von Elementen erstellt wird, auf das in diesem Leitfaden immer wieder verwiesen wird.
Swift
// A pair of jeggings var jeggings: [String: Any] = [ AnalyticsParameterItemID: "SKU_123", AnalyticsParameterItemName: "jeggings", AnalyticsParameterItemCategory: "pants", AnalyticsParameterItemVariant: "black", AnalyticsParameterItemBrand: "Google", AnalyticsParameterPrice: 9.99, ] // A pair of boots var boots: [String: Any] = [ AnalyticsParameterItemID: "SKU_456", AnalyticsParameterItemName: "boots", AnalyticsParameterItemCategory: "shoes", AnalyticsParameterItemVariant: "brown", AnalyticsParameterItemBrand: "Google", AnalyticsParameterPrice: 24.99, ] // A pair of socks var socks: [String: Any] = [ AnalyticsParameterItemID: "SKU_789", AnalyticsParameterItemName: "ankle_socks", AnalyticsParameterItemCategory: "socks", AnalyticsParameterItemVariant: "red", AnalyticsParameterItemBrand: "Google", AnalyticsParameterPrice: 5.99, ]
Objective-C
// A pair of jeggings NSMutableDictionary *jeggings = [@{ kFIRParameterItemID: @"SKU_123", kFIRParameterItemName: @"jeggings", kFIRParameterItemCategory: @"pants", kFIRParameterItemVariant: @"black", kFIRParameterItemBrand: @"Google", kFIRParameterPrice: @9.99, } mutableCopy]; // A pair of boots NSMutableDictionary *boots = [@{ kFIRParameterItemID: @"SKU_456", kFIRParameterItemName: @"boots", kFIRParameterItemCategory: @"shoes", kFIRParameterItemVariant: @"brown", kFIRParameterItemBrand: @"Google", kFIRParameterPrice: @24.99, } mutableCopy]; // A pair of socks NSMutableDictionary *socks = [@{ kFIRParameterItemID: @"SKU_789", kFIRParameterItemName: @"ankle_socks", kFIRParameterItemCategory: @"socks", kFIRParameterItemVariant: @"red", kFIRParameterItemBrand: @"Google", kFIRParameterPrice: @5.99, } mutableCopy];
Kotlin+KTX
val itemJeggings = Bundle().apply { putString(FirebaseAnalytics.Param.ITEM_ID, "SKU_123") putString(FirebaseAnalytics.Param.ITEM_NAME, "jeggings") putString(FirebaseAnalytics.Param.ITEM_CATEGORY, "pants") putString(FirebaseAnalytics.Param.ITEM_VARIANT, "black") putString(FirebaseAnalytics.Param.ITEM_BRAND, "Google") putDouble(FirebaseAnalytics.Param.PRICE, 9.99) } val itemBoots = Bundle().apply { putString(FirebaseAnalytics.Param.ITEM_ID, "SKU_456") putString(FirebaseAnalytics.Param.ITEM_NAME, "boots") putString(FirebaseAnalytics.Param.ITEM_CATEGORY, "shoes") putString(FirebaseAnalytics.Param.ITEM_VARIANT, "brown") putString(FirebaseAnalytics.Param.ITEM_BRAND, "Google") putDouble(FirebaseAnalytics.Param.PRICE, 24.99) } val itemSocks = Bundle().apply { putString(FirebaseAnalytics.Param.ITEM_ID, "SKU_789") putString(FirebaseAnalytics.Param.ITEM_NAME, "ankle_socks") putString(FirebaseAnalytics.Param.ITEM_CATEGORY, "socks") putString(FirebaseAnalytics.Param.ITEM_VARIANT, "red") putString(FirebaseAnalytics.Param.ITEM_BRAND, "Google") putDouble(FirebaseAnalytics.Param.PRICE, 5.99) }
Java
Bundle itemJeggings = new Bundle(); itemJeggings.putString(FirebaseAnalytics.Param.ITEM_ID, "SKU_123"); itemJeggings.putString(FirebaseAnalytics.Param.ITEM_NAME, "jeggings"); itemJeggings.putString(FirebaseAnalytics.Param.ITEM_CATEGORY, "pants"); itemJeggings.putString(FirebaseAnalytics.Param.ITEM_VARIANT, "black"); itemJeggings.putString(FirebaseAnalytics.Param.ITEM_BRAND, "Google"); itemJeggings.putDouble(FirebaseAnalytics.Param.PRICE, 9.99); Bundle itemBoots = new Bundle(); itemBoots.putString(FirebaseAnalytics.Param.ITEM_ID, "SKU_456"); itemBoots.putString(FirebaseAnalytics.Param.ITEM_NAME, "boots"); itemBoots.putString(FirebaseAnalytics.Param.ITEM_CATEGORY, "shoes"); itemBoots.putString(FirebaseAnalytics.Param.ITEM_VARIANT, "brown"); itemBoots.putString(FirebaseAnalytics.Param.ITEM_BRAND, "Google"); itemBoots.putDouble(FirebaseAnalytics.Param.PRICE, 24.99); Bundle itemSocks = new Bundle(); itemSocks.putString(FirebaseAnalytics.Param.ITEM_ID, "SKU_789"); itemSocks.putString(FirebaseAnalytics.Param.ITEM_NAME, "ankle_socks"); itemSocks.putString(FirebaseAnalytics.Param.ITEM_CATEGORY, "socks"); itemSocks.putString(FirebaseAnalytics.Param.ITEM_VARIANT, "red"); itemSocks.putString(FirebaseAnalytics.Param.ITEM_BRAND, "Google"); itemSocks.putDouble(FirebaseAnalytics.Param.PRICE, 5.99);
Web
// A pair of jeggings const item_jeggings = { item_id: 'SKU_123', item_name: 'jeggings', item_category: 'pants', item_variant: 'black', item_brand: 'Google', price: 9.99 }; // A pair of boots const item_boots = { item_id: 'SKU_456', item_name: 'boots', item_category: 'shoes', item_variant: 'brown', item_brand: 'Google', price: 24.99 }; // A pair of socks const item_socks = { item_id: 'SKU_789', item_name: 'ankle_socks', item_category: 'socks', item_variant: 'red', item_brand: 'Google', price: 5.99 };
Web
// A pair of jeggings const item_jeggings = { item_id: 'SKU_123', item_name: 'jeggings', item_category: 'pants', item_variant: 'black', item_brand: 'Google', price: 9.99 }; // A pair of boots const item_boots = { item_id: 'SKU_456', item_name: 'boots', item_category: 'shoes', item_variant: 'brown', item_brand: 'Google', price: 24.99 }; // A pair of socks const item_socks = { item_id: 'SKU_789', item_name: 'ankle_socks', item_category: 'socks', item_variant: 'red', item_brand: 'Google', price: 5.99 };
Dart
// A pair of jeggings
final jeggings = AnalyticsEventItem(
itemId: "SKU_123",
itemName: "jeggings",
itemCategory: "pants",
itemVariant: "black",
itemBrand: "Google",
price: 9.99,
);
// A pair of boots
final boots = AnalyticsEventItem(
itemId: "SKU_456",
itemName: "boots",
itemCategory: "shoes",
itemVariant: "brown",
itemBrand: "Google",
price: 24.99,
);
// A pair of socks
final socks = AnalyticsEventItem(
itemId: "SKU_789",
itemName: "ankle_socks",
itemCategory: "socks",
itemVariant: "red",
itemBrand: "Google",
price: 5.99,
);
Produkt aus einer Liste auswählen
Wenn einem Nutzer eine Liste mit Ergebnissen angezeigt wird, zeichnen Sie ein view_item_list
-Ereignis mit einem items
-Arrayparameter auf, der die angezeigten Produkte enthält.
Swift
// Add item indexes jeggings[AnalyticsParameterIndex] = 1 boots[AnalyticsParameterIndex] = 2 socks[AnalyticsParameterIndex] = 3 // Prepare ecommerce parameters var itemList: [String: Any] = [ AnalyticsParameterItemListID: "L001", AnalyticsParameterItemListName: "Related products", ] // Add items array itemList[AnalyticsParameterItems] = [jeggings, boots, socks] // Log view item list event Analytics.logEvent(AnalyticsEventViewItemList, parameters: itemList)
Objective-C
// Add item indexes jeggings[kFIRParameterIndex] = @1; boots[kFIRParameterIndex] = @2; socks[kFIRParameterIndex] = @3; // Prepare ecommerce parameters NSMutableDictionary *itemList = [@{ kFIRParameterItemListID: @"L001", kFIRParameterItemListName: @"Related products", } mutableCopy]; // Add items array itemList[kFIRParameterItems] = @[jeggings, boots, socks]; // Log view item list event [FIRAnalytics logEventWithName:kFIREventViewItemList parameters:itemList];
Kotlin+KTX
val itemJeggingsWithIndex = Bundle(itemJeggings).apply { putLong(FirebaseAnalytics.Param.INDEX, 1) } val itemBootsWithIndex = Bundle(itemBoots).apply { putLong(FirebaseAnalytics.Param.INDEX, 2) } val itemSocksWithIndex = Bundle(itemSocks).apply { putLong(FirebaseAnalytics.Param.INDEX, 3) } firebaseAnalytics.logEvent(FirebaseAnalytics.Event.VIEW_ITEM_LIST) { param(FirebaseAnalytics.Param.ITEM_LIST_ID, "L001") param(FirebaseAnalytics.Param.ITEM_LIST_NAME, "Related products") param( FirebaseAnalytics.Param.ITEMS, arrayOf(itemJeggingsWithIndex, itemBootsWithIndex, itemSocksWithIndex), ) }
Java
Bundle itemJeggingsWithIndex = new Bundle(itemJeggings); itemJeggingsWithIndex.putLong(FirebaseAnalytics.Param.INDEX, 1); Bundle itemBootsWithIndex = new Bundle(itemBoots); itemBootsWithIndex.putLong(FirebaseAnalytics.Param.INDEX, 2); Bundle itemSocksWithIndex = new Bundle(itemSocks); itemSocksWithIndex.putLong(FirebaseAnalytics.Param.INDEX, 3); Bundle viewItemListParams = new Bundle(); viewItemListParams.putString(FirebaseAnalytics.Param.ITEM_LIST_ID, "L001"); viewItemListParams.putString(FirebaseAnalytics.Param.ITEM_LIST_NAME, "Related products"); viewItemListParams.putParcelableArray(FirebaseAnalytics.Param.ITEMS, new Parcelable[]{itemJeggingsWithIndex, itemBootsWithIndex, itemSocksWithIndex}); mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.VIEW_ITEM_LIST, viewItemListParams);
Web
import { getAnalytics, logEvent } from "firebase/analytics"; // Prepare ecommerce params const params1 = { item_list_id: 'L001', item_list_name: 'Related products', items: [item_jeggings, item_boots, item_socks] }; // Log event const analytics = getAnalytics(); logEvent(analytics, 'view_item_list', params1);
Web
// Prepare ecommerce params const params1 = { item_list_id: 'L001', item_list_name: 'Related products', items: [item_jeggings, item_boots, item_socks] }; // Log event firebase.analytics().logEvent(firebase.analytics.EventName.VIEW_ITEM_LIST, params1);
Dart
await FirebaseAnalytics.instance.logViewItemList(
itemListId: "L001",
itemListName: "Related products",
items: [jeggings, boots, socks],
);
Wenn ein Nutzer ein bestimmtes Produkt aus der Liste auswählt, loggen Sie ein select_item
-Ereignis mit dem ausgewählten Produkt in einem items
-Arrayparameter.
Swift
// Prepare ecommerce parameters var selectedItem: [String: Any] = [ AnalyticsParameterItemListID: "L001", AnalyticsParameterItemListName: "Related products", ] // Add items array selectedItem[AnalyticsParameterItems] = [jeggings] // Log select item event Analytics.logEvent(AnalyticsEventSelectItem, parameters: selectedItem)
Objective-C
// Prepare ecommerce parameters NSMutableDictionary *selectedItem = [@{ kFIRParameterItemListID: @"L001", kFIRParameterItemListName: @"Related products", } mutableCopy]; // Add items array selectedItem[kFIRParameterItems] = @[jeggings]; // Log select item event [FIRAnalytics logEventWithName:kFIREventSelectItem parameters:selectedItem];
Kotlin+KTX
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM) { param(FirebaseAnalytics.Param.ITEM_LIST_ID, "L001") param(FirebaseAnalytics.Param.ITEM_LIST_NAME, "Related products") param(FirebaseAnalytics.Param.ITEMS, arrayOf(itemJeggings)) }
Java
Bundle selectItemParams = new Bundle(); selectItemParams.putString(FirebaseAnalytics.Param.ITEM_LIST_ID, "L001"); selectItemParams.putString(FirebaseAnalytics.Param.ITEM_LIST_NAME, "Related products"); selectItemParams.putParcelableArray(FirebaseAnalytics.Param.ITEMS, new Parcelable[]{itemJeggings}); mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM, selectItemParams);
Web
import { getAnalytics, logEvent } from "firebase/analytics"; // Prepare ecommerce event params const params2 = { item_list_id: 'L001', item_list_name: 'Related products', items: [item_jeggings] }; // Log event const analytics = getAnalytics(); logEvent(analytics, 'select_item', params2);
Web
// Prepare ecommerce event params const params2 = { item_list_id: 'L001', item_list_name: 'Related products', items: [item_jeggings] }; // Log event firebase.analytics().logEvent(firebase.analytics.EventName.SELECT_ITEM, params2);
Dart
await FirebaseAnalytics.instance.logSelectItem(
itemListId: "L001",
itemListName: "Related products",
items: [jeggings],
);
Produktdetails ansehen
Wenn Sie messen möchten, wie oft Produktdetails aufgerufen werden, zeichnen Sie jedes Mal ein view_item
-Ereignis auf, wenn ein Nutzer den Detailbildschirm eines Produkts aufruft.
Swift
// Prepare ecommerce parameters var productDetails: [String: Any] = [ AnalyticsParameterCurrency: "USD", AnalyticsParameterValue: 9.99 ] // Add items array productDetails[AnalyticsParameterItems] = [jeggings] // Log view item event Analytics.logEvent(AnalyticsEventViewItem, parameters: productDetails)
Objective-C
// Prepare ecommerce parameters NSMutableDictionary *productDetails = [@{ kFIRParameterCurrency: @"USD", kFIRParameterValue: @9.99 } mutableCopy]; // Add items array productDetails[kFIRParameterItems] = @[jeggings]; // Log view item event [FIRAnalytics logEventWithName:kFIREventViewItem parameters:productDetails];
Kotlin+KTX
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.VIEW_ITEM) { param(FirebaseAnalytics.Param.CURRENCY, "USD") param(FirebaseAnalytics.Param.VALUE, 9.99) param(FirebaseAnalytics.Param.ITEMS, arrayOf(itemJeggings)) }
Java
Bundle viewItemParams = new Bundle(); viewItemParams.putString(FirebaseAnalytics.Param.CURRENCY, "USD"); viewItemParams.putDouble(FirebaseAnalytics.Param.VALUE, 9.99); viewItemParams.putParcelableArray(FirebaseAnalytics.Param.ITEMS, new Parcelable[]{itemJeggings}); mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.VIEW_ITEM, viewItemParams);
Web
import { getAnalytics, logEvent } from "firebase/analytics"; // Prepare ecommerce event params const params3 = { currency: 'USD', value: 9.99, items: [item_jeggings] }; // Log event const analytics = getAnalytics(); logEvent(analytics, 'view_item', params3);
Web
// Prepare ecommerce event params const params3 = { currency: 'USD', value: 9.99, items: [item_jeggings] }; // Log event firebase.analytics().logEvent(firebase.analytics.EventName.VIEW_ITEM, params3);
Dart
await FirebaseAnalytics.instance.logViewItem(
currency: 'USD',
value: 9.99,
items: [jeggings],
);
Ein Produkt in einen Einkaufswagen legen / daraus entfernen
Wenn Sie erfassen möchten, dass ein Produkt einer Wunschliste oder einem Einkaufswagen hinzugefügt wird, loggen Sie das Ereignis add_to_wishlist
bzw. add_to_cart
mit den entsprechenden Produkten in einem items
-Arrayparameter.
Swift
// Specify order quantity jeggings[AnalyticsParameterQuantity] = 2 // Prepare item detail params var itemDetails: [String: Any] = [ AnalyticsParameterCurrency: "USD", AnalyticsParameterValue: 19.98 ] // Add items itemDetails[AnalyticsParameterItems] = [jeggings] // Log an event when product is added to wishlist Analytics.logEvent(AnalyticsEventAddToWishlist, parameters: itemDetails) // Log an event when product is added to cart Analytics.logEvent(AnalyticsEventAddToCart, parameters: itemDetails)
Objective-C
// Specify order quantity jeggings[kFIRParameterQuantity] = @2; // Prepare item detail params NSMutableDictionary *itemDetails = [@{ kFIRParameterCurrency: @"USD", kFIRParameterValue: @19.98 } mutableCopy]; // Add items itemDetails[kFIRParameterItems] = @[jeggings]; // Log an event when product is added to wishlist [FIRAnalytics logEventWithName:kFIREventAddToWishlist parameters:itemDetails]; // Log an event when product is added to cart [FIRAnalytics logEventWithName:kFIREventAddToCart parameters:itemDetails];
Kotlin+KTX
val itemJeggingsWishlist = Bundle(itemJeggings).apply { putLong(FirebaseAnalytics.Param.QUANTITY, 2) } firebaseAnalytics.logEvent(FirebaseAnalytics.Event.ADD_TO_WISHLIST) { param(FirebaseAnalytics.Param.CURRENCY, "USD") param(FirebaseAnalytics.Param.VALUE, 2 * 9.99) param(FirebaseAnalytics.Param.ITEMS, arrayOf(itemJeggingsWishlist)) }
Java
Bundle itemJeggingsWishlist = new Bundle(itemJeggings); itemJeggingsWishlist.putLong(FirebaseAnalytics.Param.QUANTITY, 2); Bundle addToWishlistParams = new Bundle(); addToWishlistParams.putString(FirebaseAnalytics.Param.CURRENCY, "USD"); addToWishlistParams.putDouble(FirebaseAnalytics.Param.VALUE, 2 * 9.99); addToWishlistParams.putParcelableArray(FirebaseAnalytics.Param.ITEMS, new Parcelable[]{itemJeggingsWishlist}); mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.ADD_TO_WISHLIST, addToWishlistParams);
Web
import { getAnalytics, logEvent } from "firebase/analytics"; // Specify order quantity const item_jeggings_quantity = { ...item_jeggings, quantity: 2 }; // Prepare ecommerce bundle const params4 = { currency: 'USD', value: 19.98, items: [item_jeggings_quantity] }; // Log event when a product is added to a wishlist const analytics = getAnalytics(); logEvent(analytics, 'add_to_wishlist', params4); // Log event when a product is added to the cart logEvent(analytics, 'add_to_cart', params4);
Web
// Specify order quantity const item_jeggings_quantity = { ...item_jeggings, quantity: 2 }; // Prepare ecommerce bundle const params4 = { currency: 'USD', value: 19.98, items: [item_jeggings_quantity] }; // Log event when a product is added to a wishlist firebase.analytics().logEvent(firebase.analytics.EventName.ADD_TO_WISHLIST, params4); // Log event when a product is added to the cart firebase.analytics().logEvent(firebase.analytics.EventName.ADD_TO_CART, params4);
Dart
final jeggingsWithQuantity = AnalyticsEventItem(
itemId: jeggings.itemId,
itemName: jeggings.itemName,
itemCategory: jeggings.itemCategory,
itemVariant: jeggings.itemVariant,
itemBrand: jeggings.itemBrand,
price: jeggings.price,
quantity: 2,
);
await FirebaseAnalytics.instance.logAddToWishlist(
currency: 'USD',
value: 19.98,
items: [jeggingsWithQuantity],
);
await FirebaseAnalytics.instance.logAddToCart(
currency: 'USD',
value: 19.98,
items: [jeggingsWithQuantity],
);
Wenn sich ein Nutzer den Einkaufswagen ansieht, loggen Sie das Ereignis view_cart
mit allen items
im Einkaufswagen.
Swift
// Specify order quantity jeggings[AnalyticsParameterQuantity] = 2 boots[AnalyticsParameterQuantity] = 1 // Prepare order parameters var orderParameters: [String: Any] = [ AnalyticsParameterCurrency: "USD", AnalyticsParameterValue: 44.97 ] // Add items array orderParameters[AnalyticsParameterItems] = [jeggings, boots] // Log event when cart is viewed Analytics.logEvent(AnalyticsEventViewCart, parameters: orderParameters)
Objective-C
// Specify order quantity jeggings[kFIRParameterQuantity] = @2; boots[kFIRParameterQuantity] = @1; // Prepare order parameters NSMutableDictionary *orderParameters = [@{ kFIRParameterCurrency: @"USD", kFIRParameterValue: @44.97 } mutableCopy]; // Add items array orderParameters[kFIRParameterItems] = @[jeggings, boots]; // Log event when cart is viewed [FIRAnalytics logEventWithName:kFIREventViewCart parameters:orderParameters];
Kotlin+KTX
val itemJeggingsCart = Bundle(itemJeggings).apply { putLong(FirebaseAnalytics.Param.QUANTITY, 2) } val itemBootsCart = Bundle(itemBoots).apply { putLong(FirebaseAnalytics.Param.QUANTITY, 1) } firebaseAnalytics.logEvent(FirebaseAnalytics.Event.VIEW_CART) { param(FirebaseAnalytics.Param.CURRENCY, "USD") param(FirebaseAnalytics.Param.VALUE, 2 * 9.99 + 1 * 24.99) param(FirebaseAnalytics.Param.ITEMS, arrayOf(itemJeggingsCart, itemBootsCart)) }
Java
Bundle itemJeggingsCart = new Bundle(itemJeggings); itemJeggingsCart.putLong(FirebaseAnalytics.Param.QUANTITY, 2); Bundle itemBootsCart = new Bundle(itemBoots); itemBootsCart.putLong(FirebaseAnalytics.Param.QUANTITY, 1); Bundle viewCartParams = new Bundle(); viewCartParams.putString(FirebaseAnalytics.Param.CURRENCY, "USD"); viewCartParams.putDouble(FirebaseAnalytics.Param.VALUE, (2 * 9.99) + (1 * 24.99)); viewCartParams.putParcelableArray(FirebaseAnalytics.Param.ITEMS, new Parcelable[]{itemJeggingsCart, itemBootsCart}); mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.VIEW_CART, viewCartParams);
Web
import { getAnalytics, logEvent } from "firebase/analytics"; // Specify order quantity const item_jeggings_quantity = { ...item_jeggings, quantity: 2 }; const item_boots_quantity = { ...item_boots, quantity: 1 }; // Prepare ecommerce params const params5 = { currency: 'USD', value: 44.97, items: [item_jeggings_quantity, item_boots_quantity] }; // Log event when the cart is viewed const analytics = getAnalytics(); logEvent(analytics, 'view_cart', params5);
Web
// Specify order quantity const item_jeggings_quantity = { ...item_jeggings, quantity: 2 }; const item_boots_quantity = { ...item_boots, quantity: 1 }; // Prepare ecommerce params const params5 = { currency: 'USD', value: 44.97, items: [item_jeggings_quantity, item_boots_quantity] }; // Log event when the cart is viewed firebase.analytics().logEvent(firebase.analytics.EventName.VIEW_CART, params5);
Dart
await FirebaseAnalytics.instance.logViewCart(
currency: 'USD',
value: 19.98,
items: [jeggingsWithQuantity],
);
Wenn Sie erfassen möchten, wann ein Nutzer ein Produkt aus dem Einkaufswagen entfernt, loggen Sie das Ereignis remove_from_cart
.
Swift
// Specify removal quantity boots[AnalyticsParameterQuantity] = 1 // Prepare params var removeParams: [String: Any] = [ AnalyticsParameterCurrency: "USD", AnalyticsParameterValue: 24.99 ] // Add items removeParams[AnalyticsParameterItems] = [boots] // Log removal event Analytics.logEvent(AnalyticsEventRemoveFromCart, parameters: removeParams)
Objective-C
// Specify removal quantity boots[kFIRParameterQuantity] = @1; // Prepare params NSMutableDictionary *removeParams = [@{ kFIRParameterCurrency: @"USD", kFIRParameterValue: @24.99 } mutableCopy]; // Add items removeParams[kFIRParameterItems] = @[boots]; // Log removal event [FIRAnalytics logEventWithName:kFIREventRemoveFromCart parameters:removeParams];
Kotlin+KTX
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.REMOVE_FROM_CART) { param(FirebaseAnalytics.Param.CURRENCY, "USD") param(FirebaseAnalytics.Param.VALUE, 1 * 24.99) param(FirebaseAnalytics.Param.ITEMS, arrayOf(itemBootsCart)) }
Java
Bundle removeCartParams = new Bundle(); removeCartParams.putString(FirebaseAnalytics.Param.CURRENCY, "USD"); removeCartParams.putDouble(FirebaseAnalytics.Param.VALUE, (1 * 24.99)); removeCartParams.putParcelableArray(FirebaseAnalytics.Param.ITEMS, new Parcelable[]{itemBootsCart}); mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.REMOVE_FROM_CART, removeCartParams);
Web
import { getAnalytics, logEvent } from "firebase/analytics"; // Prepare ecommerce params const params6 = { currency: 'USD', value: 24.99, items: [item_jeggings] }; // Log event const analytics = getAnalytics(); logEvent(analytics, 'remove_from_cart', params6);
Web
// Prepare ecommerce params const params6 = { currency: 'USD', value: 24.99, items: [item_jeggings] }; // Log event firebase.analytics().logEvent(firebase.analytics.EventName.REMOVE_FROM_CART, params6);
Dart
final jeggingsWithQuantity = AnalyticsEventItem(
itemId: jeggings.itemId,
itemName: jeggings.itemName,
itemCategory: jeggings.itemCategory,
itemVariant: jeggings.itemVariant,
itemBrand: jeggings.itemBrand,
price: jeggings.price,
quantity: 1,
);
await FirebaseAnalytics.instance.logRemoveFromCart(
currency: 'USD',
value: 9.99,
items: [jeggingsWithQuantity],
);
Bezahlvorgang starten
Messen Sie den ersten Schritt im Bezahlvorgang, indem Sie ein begin_checkout
-Ereignis mit einem oder mehreren items
erfassen, die mit den relevanten Feldern definiert sind. In dieser Phase kann auch ein Gutschein zur gesamten Bestellung hinzugefügt werden, indem er dem Ereignis hinzugefügt wird. Er kann auch auf einen bestimmten Artikel angewendet werden, indem er bestimmten Elementen im items
-Array hinzugefügt wird.
Swift
// Prepare checkout params var checkoutParams: [String: Any] = [ AnalyticsParameterCurrency: "USD", AnalyticsParameterValue: 14.98, AnalyticsParameterCoupon: "SUMMER_FUN" ]; // Add items checkoutParams[AnalyticsParameterItems] = [jeggings] // Log checkout event Analytics.logEvent(AnalyticsEventBeginCheckout, parameters: checkoutParams)
Objective-C
// Prepare checkout params NSMutableDictionary *checkoutParams = [@{ kFIRParameterCurrency: @"USD", kFIRParameterValue: @14.98, kFIRParameterCoupon: @"SUMMER_FUN" } mutableCopy]; // Add items checkoutParams[kFIRParameterItems] = @[jeggings]; // Log checkout event [FIRAnalytics logEventWithName:kFIREventBeginCheckout parameters:checkoutParams];
Kotlin+KTX
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.BEGIN_CHECKOUT) { param(FirebaseAnalytics.Param.CURRENCY, "USD") param(FirebaseAnalytics.Param.VALUE, 14.98) param(FirebaseAnalytics.Param.COUPON, "SUMMER_FUN") param(FirebaseAnalytics.Param.ITEMS, arrayOf(itemJeggingsCart)) }
Java
Bundle beginCheckoutParams = new Bundle(); beginCheckoutParams.putString(FirebaseAnalytics.Param.CURRENCY, "USD"); beginCheckoutParams.putDouble(FirebaseAnalytics.Param.VALUE, 14.98); beginCheckoutParams.putString(FirebaseAnalytics.Param.COUPON, "SUMMER_FUN"); beginCheckoutParams.putParcelableArray(FirebaseAnalytics.Param.ITEMS, new Parcelable[]{itemJeggingsCart}); mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.BEGIN_CHECKOUT, beginCheckoutParams);
Web
import { getAnalytics, logEvent } from "firebase/analytics"; // Prepare ecommerce params const params7 = { currency: 'USD', value: 14.98, // Total Revenue coupon: 'SUMMER_FUN', items: [item_jeggings] }; // Log event const analytics = getAnalytics(); logEvent(analytics, 'begin_checkout', params7);
Web
// Prepare ecommerce params const params7 = { currency: 'USD', value: 14.98, // Total Revenue coupon: 'SUMMER_FUN', items: [item_jeggings] }; // Log event firebase.analytics().logEvent(firebase.analytics.EventName.BEGIN_CHECKOUT, params7);
Dart
await FirebaseAnalytics.instance.logBeginCheckout(
currency: 'USD',
value: 15.98, // Discount applied.
coupon: "SUMMER_FUN",
items: [jeggingsWithQuantity],
);
Wenn ein Nutzer mit dem Bezahlvorgang fortfährt und Versandinformationen hinzufügt, loggen Sie ein add_shipping_info
-Ereignis. Verwenden Sie den Parameter shipping_tier
, um die Lieferoption des Nutzers anzugeben, z. B. „Landweg“, „Luft“ oder „Nächster Tag“.
Swift
// Prepare shipping params var shippingParams: [String: Any] = [ AnalyticsParameterCurrency: "USD", AnalyticsParameterValue: 14.98, AnalyticsParameterCoupon: "SUMMER_FUN", AnalyticsParameterShippingTier: "Ground" ] // Add items shippingParams[AnalyticsParameterItems] = [jeggings] // Log added shipping info event Analytics.logEvent(AnalyticsEventAddShippingInfo, parameters: shippingParams)
Objective-C
// Prepare shipping params NSMutableDictionary *shippingParams = [@{ kFIRParameterCurrency: @"USD", kFIRParameterValue: @14.98, kFIRParameterCoupon: @"SUMMER_FUN", kFIRParameterShippingTier: @"Ground" } mutableCopy]; // Add items shippingParams[kFIRParameterItems] = @[jeggings]; // Log added shipping info event [FIRAnalytics logEventWithName:kFIREventAddShippingInfo parameters:shippingParams];
Kotlin+KTX
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.ADD_SHIPPING_INFO) { param(FirebaseAnalytics.Param.CURRENCY, "USD") param(FirebaseAnalytics.Param.VALUE, 14.98) param(FirebaseAnalytics.Param.COUPON, "SUMMER_FUN") param(FirebaseAnalytics.Param.SHIPPING_TIER, "Ground") param(FirebaseAnalytics.Param.ITEMS, arrayOf(itemJeggingsCart)) }
Java
Bundle addShippingParams = new Bundle(); addShippingParams.putString(FirebaseAnalytics.Param.CURRENCY, "USD"); addShippingParams.putDouble(FirebaseAnalytics.Param.VALUE, 14.98); addShippingParams.putString(FirebaseAnalytics.Param.COUPON, "SUMMER_FUN"); addShippingParams.putString(FirebaseAnalytics.Param.SHIPPING_TIER, "Ground"); addShippingParams.putParcelableArray(FirebaseAnalytics.Param.ITEMS, new Parcelable[]{itemJeggingsCart}); mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.ADD_SHIPPING_INFO, addShippingParams);
Web
import { getAnalytics, logEvent } from "firebase/analytics"; // Prepare ecommerce params const params8 = { currency: 'USD', value: 14.98, // Total Revenue coupon: 'SUMMER_FUN', shipping_tier: 'Ground', items: [item_jeggings] }; // Log event const analytics = getAnalytics(); logEvent(analytics, 'add_shipping_info', params8);
Web
// Prepare ecommerce params const params8 = { currency: 'USD', value: 14.98, // Total Revenue coupon: 'SUMMER_FUN', shipping_tier: 'Ground', items: [item_jeggings] }; // Log event firebase.analytics().logEvent(firebase.analytics.EventName.ADD_SHIPPING_INFO, params8);
Dart
await FirebaseAnalytics.instance.logAddShippingInfo(
currency: 'USD',
value: 15.98,
coupon: "SUMMER_FUN",
shippingTier: "Ground",
items: [jeggingsWithQuantity],
);
add_payment_info
erfassen, wenn ein Nutzer seine Zahlungsinformationen sendet. Fügen Sie gegebenenfalls payment_type
für die ausgewählte Zahlungsmethode in dieses Ereignis ein.
Swift
// Prepare payment params var paymentParams: [String: Any] = [ AnalyticsParameterCurrency: "USD", AnalyticsParameterValue: 14.98, AnalyticsParameterCoupon: "SUMMER_FUN", AnalyticsParameterPaymentType: "Visa" ] // Add items paymentParams[AnalyticsParameterItems] = [jeggings] // Log added payment info event Analytics.logEvent(AnalyticsEventAddPaymentInfo, parameters: paymentParams)
Objective-C
// Prepare payment params NSMutableDictionary *paymentParams = [@{ kFIRParameterCurrency: @"USD", kFIRParameterValue: @14.98, kFIRParameterCoupon: @"SUMMER_FUN", kFIRParameterPaymentType: @"Visa" } mutableCopy]; // Add items paymentParams[kFIRParameterItems] = @[jeggings]; // Log added payment info event [FIRAnalytics logEventWithName:kFIREventAddPaymentInfo parameters:paymentParams];
Kotlin+KTX
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.ADD_PAYMENT_INFO) { param(FirebaseAnalytics.Param.CURRENCY, "USD") param(FirebaseAnalytics.Param.VALUE, 14.98) param(FirebaseAnalytics.Param.COUPON, "SUMMER_FUN") param(FirebaseAnalytics.Param.PAYMENT_TYPE, "Visa") param(FirebaseAnalytics.Param.ITEMS, arrayOf(itemJeggingsCart)) }
Java
Bundle addPaymentParams = new Bundle(); addPaymentParams.putString(FirebaseAnalytics.Param.CURRENCY, "USD"); addPaymentParams.putDouble(FirebaseAnalytics.Param.VALUE, 14.98); addPaymentParams.putString(FirebaseAnalytics.Param.COUPON, "SUMMER_FUN"); addPaymentParams.putString(FirebaseAnalytics.Param.PAYMENT_TYPE, "Visa"); addPaymentParams.putParcelableArray(FirebaseAnalytics.Param.ITEMS, new Parcelable[]{itemJeggingsCart}); mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.ADD_PAYMENT_INFO, addPaymentParams);
Web
import { getAnalytics, logEvent } from "firebase/analytics"; // Prepare ecommerce params const params9 = { currency: 'USD', value: 14.98, // Total Revenue coupon: 'SUMMER_FUN', payment_type: 'Visa', items: [item_jeggings] }; // Log event const analytics = getAnalytics(); logEvent(analytics, 'add_payment_info', params9);
Web
// Prepare ecommerce params const params9 = { currency: 'USD', value: 14.98, // Total Revenue coupon: 'SUMMER_FUN', payment_type: 'Visa', items: [item_jeggings] }; // Log event firebase.analytics().logEvent(firebase.analytics.EventName.ADD_PAYMENT_INFO, params9);
Dart
await FirebaseAnalytics.instance.logAddPaymentInfo(
currency: 'USD',
value: 15.98,
coupon: "SUMMER_FUN",
paymentType: "Visa",
items: [jeggingsWithQuantity],
);
Kauf oder Erstattung durchführen
Messen Sie einen Kauf, indem Sie ein purchase
-Ereignis mit einem oder mehreren items
erfassen, die mit den relevanten Feldern definiert sind.
Swift
// Prepare purchase params var purchaseParams: [String: Any] = [ AnalyticsParameterTransactionID: "T12345", AnalyticsParameterAffiliation: "Google Store", AnalyticsParameterCurrency: "USD", AnalyticsParameterValue: 14.98, AnalyticsParameterTax: 2.58, AnalyticsParameterShipping: 5.34, AnalyticsParameterCoupon: "SUMMER_FUN" ] // Add items purchaseParams[AnalyticsParameterItems] = [jeggings] // Log purchase event Analytics.logEvent(AnalyticsEventPurchase, parameters: purchaseParams)
Objective-C
// Prepare purchase params NSMutableDictionary *purchaseParams = [@{ kFIRParameterTransactionID: @"T12345", kFIRParameterAffiliation: @"Google Store", kFIRParameterCurrency: @"USD", kFIRParameterValue: @14.98, kFIRParameterTax: @2.58, kFIRParameterShipping: @5.34, kFIRParameterCoupon: @"SUMMER_FUN" } mutableCopy]; // Add items purchaseParams[kFIRParameterItems] = @[jeggings]; // Log purchase event [FIRAnalytics logEventWithName:kFIREventPurchase parameters:purchaseParams];
Kotlin+KTX
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.PURCHASE) { param(FirebaseAnalytics.Param.TRANSACTION_ID, "T12345") param(FirebaseAnalytics.Param.AFFILIATION, "Google Store") param(FirebaseAnalytics.Param.CURRENCY, "USD") param(FirebaseAnalytics.Param.VALUE, 14.98) param(FirebaseAnalytics.Param.TAX, 2.58) param(FirebaseAnalytics.Param.SHIPPING, 5.34) param(FirebaseAnalytics.Param.COUPON, "SUMMER_FUN") param(FirebaseAnalytics.Param.ITEMS, arrayOf(itemJeggingsCart)) }
Java
Bundle purchaseParams = new Bundle(); purchaseParams.putString(FirebaseAnalytics.Param.TRANSACTION_ID, "T12345"); purchaseParams.putString(FirebaseAnalytics.Param.AFFILIATION, "Google Store"); purchaseParams.putString(FirebaseAnalytics.Param.CURRENCY, "USD"); purchaseParams.putDouble(FirebaseAnalytics.Param.VALUE, 14.98); purchaseParams.putDouble(FirebaseAnalytics.Param.TAX, 2.58); purchaseParams.putDouble(FirebaseAnalytics.Param.SHIPPING, 5.34); purchaseParams.putString(FirebaseAnalytics.Param.COUPON, "SUMMER_FUN"); purchaseParams.putParcelableArray(FirebaseAnalytics.Param.ITEMS, new Parcelable[]{itemJeggingsCart}); mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.PURCHASE, purchaseParams);
Web
import { getAnalytics, logEvent } from "firebase/analytics"; // Prepare ecommerce bundle const params10 = { transaction_id: 'T12345', affiliation: 'Google Store', currency: 'USD', value: 14.98, // Total Revenue tax: 2.85, shipping: 5.34, coupon: 'SUMMER_FUN', items: [item_jeggings] }; // Log event const analytics = getAnalytics(); logEvent(analytics, 'purchase', params10);
Web
// Prepare ecommerce bundle const params10 = { transaction_id: 'T12345', affiliation: 'Google Store', currency: 'USD', value: 14.98, // Total Revenue tax: 2.85, shipping: 5.34, coupon: 'SUMMER_FUN', items: [item_jeggings] }; // Log event firebase.analytics().logEvent(firebase.analytics.EventName.PURCHASE, params10);
Dart
await FirebaseAnalytics.instance.logPurchase(
transactionId: "12345",
affiliation: "Google Store",
currency: 'USD',
value: 15.98,
shipping: 2.00,
tax: 1.66,
coupon: "SUMMER_FUN",
items: [jeggingsWithQuantity],
);
Erfassen Sie Erstattungen, indem Sie ein refund
-Ereignis mit dem entsprechenden transaction_id
und optional einem oder mehreren items
protokollieren, die mit item_id
und quantity
definiert sind. Wir empfehlen, Artikelinformationen in das refund
-Ereignis aufzunehmen, damit Sie in Analytics Messwerte zu Erstattungen auf Artikelebene sehen können.
Swift
// Prepare refund params var refundParams: [String: Any] = [ AnalyticsParameterTransactionID: "T12345", AnalyticsParameterCurrency: "USD", AnalyticsParameterValue: 9.99, ] // (Optional) for partial refunds, define the item ID and quantity of refunded items let refundedProduct: [String: Any] = [ AnalyticsParameterItemID: "SKU_123", AnalyticsParameterQuantity: 1, ]; // Add items refundParams[AnalyticsParameterItems] = [refundedProduct] // Log refund event Analytics.logEvent(AnalyticsEventRefund, parameters: refundParams)
Objective-C
// Prepare refund params NSMutableDictionary *refundParams = [@{ kFIRParameterTransactionID: @"T12345", kFIRParameterCurrency: @"USD", kFIRParameterValue: @9.99, } mutableCopy]; // (Optional) for partial refunds, define the item ID and quantity of refunded items NSDictionary *refundedProduct = @{ kFIRParameterItemID: @"SKU_123", kFIRParameterQuantity: @1, }; // Add items refundParams[kFIRParameterItems] = @[refundedProduct]; // Log refund event [FIRAnalytics logEventWithName:kFIREventRefund parameters:refundParams];
Kotlin+KTX
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.REFUND) { param(FirebaseAnalytics.Param.TRANSACTION_ID, "T12345") param(FirebaseAnalytics.Param.AFFILIATION, "Google Store") param(FirebaseAnalytics.Param.CURRENCY, "USD") param(FirebaseAnalytics.Param.VALUE, 9.99) // (Optional) for partial refunds, define the item ID and quantity of refunded items param(FirebaseAnalytics.Param.ITEM_ID, "SKU_123") param(FirebaseAnalytics.Param.QUANTITY, 1) param(FirebaseAnalytics.Param.ITEMS, arrayOf(itemJeggings)) }
Java
Bundle refundParams = new Bundle(); refundParams.putString(FirebaseAnalytics.Param.TRANSACTION_ID, "T12345"); refundParams.putString(FirebaseAnalytics.Param.AFFILIATION, "Google Store"); refundParams.putString(FirebaseAnalytics.Param.CURRENCY, "USD"); refundParams.putDouble(FirebaseAnalytics.Param.VALUE, 9.99); // (Optional) for partial refunds, define the item ID and quantity of refunded items refundParams.putString(FirebaseAnalytics.Param.ITEM_ID, "SKU_123"); refundParams.putLong(FirebaseAnalytics.Param.QUANTITY, 1); refundParams.putParcelableArray(FirebaseAnalytics.Param.ITEMS, new Parcelable[]{itemJeggings}); mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.REFUND, refundParams);
Web
import { getAnalytics, logEvent } from "firebase/analytics"; // Prepare ecommerce params const params11 = { transaction_id: 'T12345', // Required affiliation: 'Google Store', currency: 'USD', value: 9.99, items: [] }; // (Optional) For partial refunds, define the item_id and quantity of refunded items const refundedProduct = { item_id: 'SKU_123', // Required quantity: 1 // Required }; params11.items.push(refundedProduct); // Log event const analytics = getAnalytics(); logEvent(analytics, 'refund', params11);
Web
// Prepare ecommerce params const params11 = { transaction_id: 'T12345', // Required affiliation: 'Google Store', currency: 'USD', value: 9.99, items: [] }; // (Optional) For partial refunds, define the item_id and quantity of refunded items const refundedProduct = { item_id: 'SKU_123', // Required quantity: 1 // Required }; params11.items.push(refundedProduct); // Log event firebase.analytics().logEvent(firebase.analytics.EventName.REFUND, params11);
Dart
await FirebaseAnalytics.instance.logRefund(
transactionId: "12345",
affiliation: "Google Store",
currency: 'USD',
value: 15.98,
items: [jeggingsWithQuantity],
);
Werbeaktionen anwenden
Der E-Commerce-Bericht unterstützt das Erfassen von Impressionen und Klicks bei internen Werbeaktionen, z. B. bei Bannern, die für ein Angebot geschaltet werden.
Angebotsimpressionen werden in der Regel mit der ersten Bildschirmansicht gemessen. Dazu wird das Ereignis view_promotion
mit einem items
-Parameter protokolliert, um das beworbene Produkt anzugeben. Wenn ein Nutzer auf eine Werbeaktion geklickt hat, zeichnen Sie ein select_promotion
-Ereignis mit diesem Produkt als item
-Parameter auf.
Swift
// Prepare promotion parameters var promoParams: [String: Any] = [ AnalyticsParameterPromotionID: "T12345", AnalyticsParameterPromotionName:"Summer Sale", AnalyticsParameterCreativeName: "summer2020_promo.jpg", AnalyticsParameterCreativeSlot: "featured_app_1", AnalyticsParameterLocationID: "HERO_BANNER", ] // Add items promoParams[AnalyticsParameterItems] = [jeggings] // Log event when promotion is displayed Analytics.logEvent(AnalyticsEventViewPromotion, parameters: promoParams) // Log event when promotion is selected Analytics.logEvent(AnalyticsEventSelectPromotion, parameters: promoParams)
Objective-C
// Prepare promotion parameters NSMutableDictionary *promoParams = [@{ kFIRParameterPromotionID: @"T12345", kFIRParameterPromotionName: @"Summer Sale", kFIRParameterCreativeName: @"summer2020_promo.jpg", kFIRParameterCreativeSlot: @"featured_app_1", kFIRParameterLocationID: @"HERO_BANNER", } mutableCopy]; // Add items promoParams[kFIRParameterItems] = @[jeggings]; // Log event when promotion is displayed [FIRAnalytics logEventWithName:kFIREventViewPromotion parameters:promoParams]; // Log event when promotion is selected [FIRAnalytics logEventWithName:kFIREventSelectPromotion parameters:promoParams];
Kotlin+KTX
val promoParams = Bundle().apply { putString(FirebaseAnalytics.Param.PROMOTION_ID, "SUMMER_FUN") putString(FirebaseAnalytics.Param.PROMOTION_NAME, "Summer Sale") putString(FirebaseAnalytics.Param.CREATIVE_NAME, "summer2020_promo.jpg") putString(FirebaseAnalytics.Param.CREATIVE_SLOT, "featured_app_1") putString(FirebaseAnalytics.Param.LOCATION_ID, "HERO_BANNER") putParcelableArray(FirebaseAnalytics.Param.ITEMS, arrayOf<Parcelable>(itemJeggings)) } // Promotion displayed firebaseAnalytics.logEvent(FirebaseAnalytics.Event.VIEW_PROMOTION, promoParams) // Promotion selected firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_PROMOTION, promoParams)
Java
Bundle promoParams = new Bundle(); promoParams.putString(FirebaseAnalytics.Param.PROMOTION_ID, "SUMMER_FUN"); promoParams.putString(FirebaseAnalytics.Param.PROMOTION_NAME, "Summer Sale"); promoParams.putString(FirebaseAnalytics.Param.CREATIVE_NAME, "summer2020_promo.jpg"); promoParams.putString(FirebaseAnalytics.Param.CREATIVE_SLOT, "featured_app_1"); promoParams.putString(FirebaseAnalytics.Param.LOCATION_ID, "HERO_BANNER"); promoParams.putParcelableArray(FirebaseAnalytics.Param.ITEMS, new Parcelable[]{itemJeggings}); // Promotion displayed mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.VIEW_PROMOTION, promoParams); // Promotion selected mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_PROMOTION, promoParams);
Web
import { getAnalytics, logEvent } from "firebase/analytics"; // Prepare ecommerce params const params12 = { promotion_id: 'ABC123', promotion_name: 'Summer Sale', creative_name: 'summer2020_promo.jpg', creative_slot: 'featured_app_1', location_id: 'HERO_BANNER', items: [item_jeggings] }; // Log event when a promotion is displayed const analytics = getAnalytics(); logEvent(analytics, 'view_promotion', params12); // Log event when a promotion is selected logEvent(analytics, 'select_promotion', params12);
Web
// Prepare ecommerce params const params12 = { promotion_id: 'ABC123', promotion_name: 'Summer Sale', creative_name: 'summer2020_promo.jpg', creative_slot: 'featured_app_1', location_id: 'HERO_BANNER', items: [item_jeggings] }; // Log event when a promotion is displayed firebase.analytics().logEvent(firebase.analytics.EventName.VIEW_PROMOTION, params12); // Log event when a promotion is selected firebase.analytics().logEvent(firebase.analytics.EventName.SELECT_PROMOTION, params12);
Dart
await FirebaseAnalytics.instance.logViewPromotion(
promotionId: "SUMMER_FUN",
promotionName: "Summer Sale",
creativeName: "summer2020_promo.jpg",
creativeSlot: "featured_app_1",
locationId: "HERO_BANNER",
);
await FirebaseAnalytics.instance.logSelectPromotion(
promotionId: "SUMMER_FUN",
promotionName: "Summer Sale",
creativeName: "summer2020_promo.jpg",
creativeSlot: "featured_app_1",
locationId: "HERO_BANNER",
);
Benutzerdefinierte Parameter auf Artikelebene senden
Ein benutzerdefinierter Parameter auf Artikelebene ist ein Parameter, der nicht zu den Parametern gehört, die Google in die Liste der erforderlichen oder optionalen Parameter für einen E-Commerce-Artikel aufnimmt. Mit dem benutzerdefinierten Parameter können Sie Informationen zu einem Artikel erfassen, die für Ihr Unternehmen nützlich sind.
Sie können über Ihre App bis zu 27 benutzerdefinierte Parameter auf Artikelebene im Artikelarray senden. Davon lassen sich 10 benutzerdefinierte Dimensionen auf Artikelebene für Standard-Properties und 25 für Analytics 360-Properties konfigurieren. Dadurch können Sie aus einem größeren Parameterpool auswählen, ohne Ihre App neu taggen zu müssen.
Swift
// A pair of jeggings
var jeggings: [String: Any] = [
AnalyticsParameterItemID: "SKU_123",
AnalyticsParameterItemName: "jeggings",
AnalyticsParameterItemCategory: "pants",
AnalyticsParameterItemVariant: "black",
AnalyticsParameterItemBrand: "Google",
AnalyticsParameterPrice: 9.99,
AnalyticsParameterItemColor: "blue", // The item-scoped custom parameter
]
Objective-C
// A pair of jeggings
NSMutableDictionary *jeggings = [@{
kFIRParameterItemID: @"SKU_123",
kFIRParameterItemName: @"jeggings",
kFIRParameterItemCategory: @"pants",
kFIRParameterItemVariant: @"black",
kFIRParameterItemBrand: @"Google",
kFIRParameterPrice: @9.99,
kFIRParameterItemColor: @"blue", // The item-scoped custom parameter
} mutableCopy];
Kotlin+KTX
val itemJeggings = Bundle().apply {
putString(FirebaseAnalytics.Param.ITEM_ID, "SKU_123")
putString(FirebaseAnalytics.Param.ITEM_NAME, "jeggings")
putString(FirebaseAnalytics.Param.ITEM_CATEGORY, "pants")
putString(FirebaseAnalytics.Param.ITEM_VARIANT, "black")
putString(FirebaseAnalytics.Param.ITEM_BRAND, "Google")
putDouble(FirebaseAnalytics.Param.PRICE, 9.99)
putString(FirebaseAnalytics.Param.ITEM_COLOR, "blue") // The item-scoped custom parameter
}
Java
Bundle itemJeggings = new Bundle();
itemJeggings.putString(FirebaseAnalytics.Param.ITEM_ID, "SKU_123");
itemJeggings.putString(FirebaseAnalytics.Param.ITEM_NAME, "jeggings");
itemJeggings.putString(FirebaseAnalytics.Param.ITEM_CATEGORY, "pants");
itemJeggings.putString(FirebaseAnalytics.Param.ITEM_VARIANT, "black");
itemJeggings.putString(FirebaseAnalytics.Param.ITEM_BRAND, "Google");
itemJeggings.putDouble(FirebaseAnalytics.Param.PRICE, 9.99);
itemJeggings.putDouble(FirebaseAnalytics.Param.ITEM_COLOR, 9.99); // The item-scoped custom parameter
Web
// A pair of jeggings
const item_jeggings = {
item_id: 'SKU_123',
item_name: 'jeggings',
item_category: 'pants',
item_variant: 'black',
item_brand: 'Google',
price: 9.99,
item_color: 'blue' // The item-scoped custom parameter
};
Web
// A pair of jeggings
const item_jeggings = {
item_id: 'SKU_123',
item_name: 'jeggings',
item_category: 'pants',
item_variant: 'black',
item_brand: 'Google',
price: 9.99,
item_color: 'blue' // The item-scoped custom parameter
};
Dart
// A pair of jeggings
final jeggings = AnalyticsEventItem(
itemId: "SKU_123",
itemName: "jeggings",
itemCategory: "pants",
itemVariant: "black",
itemBrand: "Google",
price: 9.99,
itemColor: "blue", // The item-scoped custom parameter
);