อีคอมเมิร์ซที่เพิ่มประสิทธิภาพของ Universal Analytics สําหรับ Android

Google Analytics รองรับอีคอมเมิร์ซที่เพิ่มประสิทธิภาพในพร็อพเพอร์ตี้ Universal Analytics อีคอมเมิร์ซที่เพิ่มประสิทธิภาพช่วยให้สามารถวัดการโต้ตอบของผู้ใช้กับผลิตภัณฑ์ต่างๆ ในประสบการณ์การช็อปปิ้งของผู้ใช้ได้ ซึ่งอาจรวมถึงการแสดงผลโปรโมชัน การคลิกโปรโมชัน การแสดงผลผลิตภัณฑ์ การคลิกผลิตภัณฑ์ การดูรายละเอียดผลิตภัณฑ์ การเพิ่มสินค้าลงในรถเข็นช็อปปิ้ง การนำสินค้าออกจากรถเข็นช็อปปิ้ง การเริ่มชำระเงิน ธุรกรรม และการคืนเงิน

Google Tag Manager และ Google Analytics สำหรับแอปบนอุปกรณ์เคลื่อนที่เวอร์ชันล่าสุด ทำงานร่วมกับ Firebase ซึ่งเป็นแพลตฟอร์มแอปบนอุปกรณ์เคลื่อนที่ของ Google เมื่อวัดผลแอปด้วย Firebase SDK คุณจะมีสิทธิ์เข้าถึงโฮสต์ของรายงานแอปบนอุปกรณ์เคลื่อนที่ที่สร้างโดยอัตโนมัติ ซึ่งสามารถปรับแต่งและเสริมด้วยโค้ดในแอปได้ รายงานเหล่านี้จะรวมข้อมูลเกี่ยวกับการซื้อในแอปที่ประมวลผลโดย App Store บน iTunes และ Google Play โดยอัตโนมัติ สร้างรายงานเกี่ยวกับอีคอมเมิร์ซเพิ่มเติมได้โดยใช้เหตุการณ์ที่แนะนําสําหรับแอปอีคอมเมิร์ซ ปัจจุบันรายงานเชิงลึกเกี่ยวกับพฤติกรรมการช็อปปิ้ง (เช่น อีคอมเมิร์ซที่เพิ่มประสิทธิภาพ) มีให้บริการในพร็อพเพอร์ตี้ Universal Analytics เท่านั้น

เอกสารนี้จะอธิบายวิธีใช้ Tag Manager สำหรับแอปบนอุปกรณ์เคลื่อนที่ด้วย Firebase SDK เพื่อส่งข้อมูลอีคอมเมิร์ซที่เพิ่มประสิทธิภาพไปยังพร็อพเพอร์ตี้ Universal Analytics

ขั้นตอนแรกๆ

ก่อนที่จะเริ่มต้นใช้งาน ให้ตั้งค่าข้อกำหนดเบื้องต้นต่อไปนี้สำหรับแอปของคุณ

  1. ติดตั้งและกำหนดค่า Firebase และ Google Tag Manager ในแอป ตรวจสอบว่าคุณใช้ Firebase SDK เวอร์ชัน 11 ขึ้นไปสำหรับ Android
  2. นำเข้าแพ็กเกจ 2 รายการต่อไปนี้

    • import com.google.firebase.analytics.FirebaseAnalytics.Event;
    • import com.google.firebase.analytics.FirebaseAnalytics.Param;
  3. ในคอนเทนเนอร์ Tag Manager ให้สร้างตัวแปรที่กำหนดโดยผู้ใช้ที่มีชื่อว่า "โปรโมชัน" โดยมีการตั้งค่าดังต่อไปนี้

    • ประเภทเหตุการณ์: พารามิเตอร์ที่กำหนดเอง
    • คีย์พารามิเตอร์เหตุการณ์: promotion
    • ค่าเริ่มต้น: ไม่ระบุ

การใช้งาน

ส่วนต่อไปนี้แสดงวิธีบันทึกเหตุการณ์ด้วยพารามิเตอร์ที่จําเป็นในการวัดกิจกรรมอีคอมเมิร์ซที่เพิ่มประสิทธิภาพ เช่น

การแสดงผลผลิตภัณฑ์

วัดการแสดงผลผลิตภัณฑ์โดยการบันทึกเหตุการณ์ด้วยพารามิเตอร์ ITEM_LIST และสินค้าอย่างน้อย 1 รายการ (เช่น ผลิตภัณฑ์) ที่ระบุด้วยช่องที่เกี่ยวข้อง

// 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 );

ดูการกำหนดค่าแท็กสำหรับตัวอย่างนี้

  • ประเภทแท็ก: Universal Analytics
  • ประเภทแทร็ก: การดูหน้าจอ
  • ฟิลด์ที่จะต้องตั้งค่า: (ชื่อช่อง) screenName (ค่า เช่น) หน้าจอผลการค้นหา
  • เปิดใช้ฟีเจอร์อีคอมเมิร์ซที่เพิ่มประสิทธิภาพ: จริง
  • อ่านข้อมูลจาก: เหตุการณ์ Firebase
  • ทริกเกอร์ เช่น (กำหนดเอง > บางเหตุการณ์) ชื่อเหตุการณ์เท่ากับ view_search_results

การคลิก/การเลือกผลิตภัณฑ์

วัดยอดคลิกผลิตภัณฑ์โดยการบันทึกเหตุการณ์ SELECT_CONTENT ที่มีสินค้า (เช่น ผลิตภัณฑ์) กำหนดด้วยช่องที่เกี่ยวข้อง ดังนี้

// 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 );

ดูการกำหนดค่าแท็กสำหรับตัวอย่างนี้

  • ประเภทแท็ก: Universal Analytics
  • ประเภทการติดตาม: เหตุการณ์
  • หมวดหมู่เหตุการณ์ เช่น อีคอมเมิร์ซ
  • การทำงานของเหตุการณ์ เช่น การคลิกผลิตภัณฑ์
  • เปิดใช้ฟีเจอร์อีคอมเมิร์ซที่เพิ่มประสิทธิภาพ: จริง
  • อ่านข้อมูลจาก: เหตุการณ์ Firebase
  • ทริกเกอร์ เช่น (กำหนดเอง > บางเหตุการณ์) ชื่อเหตุการณ์เท่ากับ select_content AND &lbrace;&lbrace;promotions&rbrace;&rbrace; เท่ากับไม่ระบุ

การดูรายละเอียดผลิตภัณฑ์

วัดการดูรายละเอียดผลิตภัณฑ์โดยการบันทึกเหตุการณ์ VIEW_ITEM กับสินค้า (ซึ่งก็คือผลิตภัณฑ์) ที่กำหนดด้วยช่องที่เกี่ยวข้อง ดังนี้

// 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 );

ดูการกำหนดค่าแท็กสำหรับตัวอย่างนี้

  • ประเภทแท็ก: Universal Analytics
  • ประเภทแทร็ก: การดูหน้าจอ
  • ฟิลด์ที่จะต้องตั้งค่า: (ชื่อช่อง) screenName (ค่า เช่น) หน้าจอรายละเอียดผลิตภัณฑ์
  • เปิดใช้ฟีเจอร์อีคอมเมิร์ซที่เพิ่มประสิทธิภาพ: จริง
  • อ่านข้อมูลจาก: เหตุการณ์ Firebase
  • ทริกเกอร์ เช่น (กำหนดเอง > บางเหตุการณ์) ชื่อเหตุการณ์เท่ากับ view_item และ
  • &lbrace;&lbrace;โปรโมชัน&rbrace;&rbrace; เท่ากับไม่ระบุ

การเพิ่มลงในรถเข็น

วัดผลิตภัณฑ์ที่เพิ่มลงในรถเข็นช็อปปิ้งโดยการบันทึกเหตุการณ์ ADD_TO_CART ที่มีสินค้า (เช่น ผลิตภัณฑ์) ที่ระบุด้วยช่องที่เกี่ยวข้อง ดังนี้

// 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 );

ดูการกำหนดค่าแท็กสำหรับตัวอย่างนี้

  • ประเภทแท็ก: Universal Analytics
  • ประเภทการติดตาม: เหตุการณ์
  • หมวดหมู่เหตุการณ์ เช่น อีคอมเมิร์ซ
  • การกระทำของเหตุการณ์ เช่น : เพิ่มลงในรถเข็น
  • เปิดใช้ฟีเจอร์อีคอมเมิร์ซที่เพิ่มประสิทธิภาพ: จริง
  • อ่านข้อมูลจาก: เหตุการณ์ Firebase
  • ทริกเกอร์ เช่น (กำหนดเอง > บางเหตุการณ์) ชื่อเหตุการณ์เท่ากับ add_to_cart

การนำออกจากรถเข็น

วัดผลิตภัณฑ์ที่กำลังถูกนำออกจากรถเข็นช็อปปิ้งโดยการบันทึกเหตุการณ์ REMOVE_FROM_CART ที่มีสินค้า (เช่น ผลิตภัณฑ์) กำหนดด้วยช่องที่เกี่ยวข้อง ดังนี้

// 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 );

ดูการกำหนดค่าแท็กสำหรับตัวอย่างนี้

  • ประเภทแท็ก: Universal Analytics
  • ประเภทการติดตาม: เหตุการณ์
  • หมวดหมู่เหตุการณ์ เช่น อีคอมเมิร์ซ
  • การทำงานของกิจกรรม เช่น นำออกจากรถเข็น
  • เปิดใช้ฟีเจอร์อีคอมเมิร์ซที่เพิ่มประสิทธิภาพ: จริง
  • อ่านข้อมูลจาก: เหตุการณ์ Firebase
  • ทริกเกอร์ เช่น (กำหนดเอง > บางเหตุการณ์) ชื่อเหตุการณ์เท่ากับ remove_from_cart

การแสดงผลของการโปรโมต

วัดการแสดงผลโปรโมชันโดยการบันทึกเหตุการณ์ VIEW_ITEM, VIEW_ITEM_LIST หรือ VIEW_SEARCH_RESULTS ที่มีรายการโปรโมชันที่ระบุด้วยช่องที่เกี่ยวข้อง ดังนี้

// 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 );

ดูการกำหนดค่าแท็กสำหรับตัวอย่างนี้

  • ประเภทแท็ก: Universal Analytics
  • ประเภทการติดตาม: เหตุการณ์
  • หมวดหมู่เหตุการณ์ เช่น การโปรโมตภายใน
  • การทำงานของเหตุการณ์ เช่น การแสดงผล
  • Hit ที่ไม่มีการโต้ตอบ: จริง
  • เปิดใช้ฟีเจอร์อีคอมเมิร์ซที่เพิ่มประสิทธิภาพ: จริง
  • อ่านข้อมูลจาก: เหตุการณ์ Firebase
  • ทริกเกอร์ เช่น (กำหนดเอง > บางเหตุการณ์) ชื่อเหตุการณ์เท่ากับ view_item และ
  • &lbrace;&lbrace;promotions&rbrace;&rbrace; ไม่เท่ากับไม่ระบุ

การคลิก/การเลือกโปรโมชัน

วัดการคลิกโปรโมชันโดยการบันทึกเหตุการณ์ SELECT_CONTENT ที่มีโปรโมชันที่กำหนดด้วยช่องที่เกี่ยวข้อง ดังนี้

// 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 );

ดูการกำหนดค่าแท็กสำหรับตัวอย่างนี้

  • ประเภทแท็ก: Universal Analytics
  • ประเภทการติดตาม: เหตุการณ์
  • หมวดหมู่เหตุการณ์ เช่น การโปรโมตภายใน
  • การทำงานของเหตุการณ์ เช่น คลิก
  • เปิดใช้ฟีเจอร์อีคอมเมิร์ซที่เพิ่มประสิทธิภาพ: จริง
  • อ่านข้อมูลจาก: เหตุการณ์ Firebase
  • ทริกเกอร์ เช่น (กำหนดเอง > บางเหตุการณ์) ชื่อเหตุการณ์เท่ากับ select_content AND &lbrace;&lbrace;promotions&rbrace;&rbrace; ไม่เท่ากับ ไม่ระบุ

กระบวนการชําระเงิน

เริ่มการชำระเงิน

วัดขั้นตอนแรกในกระบวนการชําระเงินโดยการบันทึกเหตุการณ์ BEGIN_CHECKOUT ที่มีสินค้าอย่างน้อย 1 รายการ (เช่น ผลิตภัณฑ์) ที่กําหนดด้วยช่องที่เกี่ยวข้อง ดังนี้

// 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 );

ดูการกำหนดค่าแท็กสำหรับตัวอย่างนี้

  • ประเภทแท็ก: Universal Analytics
  • ประเภทแทร็ก: การดูหน้าจอ
  • ฟิลด์ที่จะต้องตั้งค่า: (ชื่อช่อง) screenName (ค่า เช่น) หน้าจอรถเข็น
  • เปิดใช้ฟีเจอร์อีคอมเมิร์ซที่เพิ่มประสิทธิภาพ: จริง
  • อ่านข้อมูลจาก: เหตุการณ์ Firebase
  • ทริกเกอร์ เช่น (กำหนดเอง > บางเหตุการณ์) ชื่อเหตุการณ์เท่ากับ begin_checkout

ขั้นตอนการชำระเงินเพิ่มเติม

วัดขั้นตอนเพิ่มเติมในกระบวนการชําระเงินโดยการบันทึกเหตุการณ์ CHECKOUT_PROGRESS ที่มีสินค้าอย่างน้อย 1 รายการ (เช่น ผลิตภัณฑ์) ที่ระบุด้วยช่องที่เกี่ยวข้อง ดังนี้

// 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 );

ดูการกำหนดค่าแท็กสำหรับตัวอย่างนี้

  • ประเภทแท็ก: Universal Analytics
  • ประเภทแทร็ก: การดูหน้าจอ
  • ฟิลด์ที่จะต้องตั้งค่า: (ชื่อช่อง) screenName (ค่า เช่น) หน้าจอขั้นตอนการเช็คเอาต์ 2
  • เปิดใช้ฟีเจอร์อีคอมเมิร์ซที่เพิ่มประสิทธิภาพ: จริง
  • อ่านข้อมูลจาก: เหตุการณ์ Firebase
  • ทริกเกอร์ เช่น (กำหนดเอง > บางเหตุการณ์) ชื่อเหตุการณ์เท่ากับ checkout_progress

ตัวเลือกขั้นตอนการชำระเงิน

ตัวเลือกการชำระเงินช่วยให้คุณสามารถวัดข้อมูลเพิ่มเติมเกี่ยวกับสถานะของกระบวนการชำระเงินได้ คุณจะวัดตัวเลือกขั้นตอนการชำระเงินได้ในเหตุการณ์ขั้นตอนการชําระเงิน (ดังที่แสดงด้านบน) หรือเมื่อผู้ใช้เลือกตัวเลือกหลังจากที่เหตุการณ์ของขั้นตอนการชําระเงินที่ระบุได้รับการบันทึกไว้แล้ว

วัดตัวเลือกการชําระเงินหลังจากขั้นตอนการชําระเงินโดยการบันทึกเหตุการณ์ SET_CHECKOUT_OPTION ด้วยพารามิเตอร์ CHECKOUT_STEP และ CHECKOUT_OPTION ที่เกี่ยวข้อง ดังนี้

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

ดูการกำหนดค่าแท็กสำหรับตัวอย่างนี้

  • ประเภทแท็ก: Universal Analytics
  • ประเภทการติดตาม: เหตุการณ์
  • หมวดหมู่เหตุการณ์ เช่น อีคอมเมิร์ซ
  • การทำงานของกิจกรรม เช่น ตั้งค่าตัวเลือกการชำระเงิน
  • เปิดใช้ฟีเจอร์อีคอมเมิร์ซที่เพิ่มประสิทธิภาพ: จริง
  • อ่านข้อมูลจาก: เหตุการณ์ Firebase
  • ทริกเกอร์ เช่น (กำหนดเอง > บางเหตุการณ์) ชื่อเหตุการณ์เท่ากับ set_checkout_option

การซื้อ

วัดการซื้อโดยการบันทึกเหตุการณ์ ECOMMERCE_PURCHASE ที่มีสินค้าอย่างน้อย 1 รายการ (เช่น ผลิตภัณฑ์) ที่ระบุด้วยช่องที่เกี่ยวข้อง ดังนี้

// 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 );

ดูการกำหนดค่าแท็กสำหรับตัวอย่างนี้

  • ประเภทแท็ก: Universal Analytics
  • ประเภทแทร็ก: การดูหน้าจอ
  • ฟิลด์ที่จะต้องตั้งค่า: (ชื่อช่อง) screenName (ค่า เช่น) หน้าจอขอบคุณ
  • เปิดใช้ฟีเจอร์อีคอมเมิร์ซที่เพิ่มประสิทธิภาพ: จริง
  • อ่านข้อมูลจาก: เหตุการณ์ Firebase
  • ทริกเกอร์ เช่น (กำหนดเอง > บางเหตุการณ์) ชื่อเหตุการณ์เท่ากับ ecommerce_purchase

การคืนเงิน

วัดการคืนเงินโดยการบันทึกเหตุการณ์ PURCHASE_REFUND ที่มีรหัสธุรกรรมที่เกี่ยวข้องระบุไว้ และอาจ (สำหรับการคืนเงินบางส่วน) อย่างน้อย 1 รายการ (เช่น ผลิตภัณฑ์) ที่กำหนดด้วยรหัสสินค้าและจำนวน ดังนี้

// 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 );

ดูการกำหนดค่าแท็กสำหรับตัวอย่างนี้

  • ประเภทแท็ก: Universal Analytics
  • ประเภทการติดตาม: เหตุการณ์
  • หมวดหมู่เหตุการณ์ เช่น อีคอมเมิร์ซ
  • การทำงานของกิจกรรม เช่น การคืนเงิน
  • เปิดใช้ฟีเจอร์อีคอมเมิร์ซที่เพิ่มประสิทธิภาพ: จริง
  • อ่านข้อมูลจาก: เหตุการณ์ Firebase
  • ทริกเกอร์ เช่น (กำหนดเอง > บางเหตุการณ์) ชื่อเหตุการณ์เท่ากับ purchase_refund