เอกสารนี้แสดงภาพรวมของวิธีวัดการกระทำและการแสดงผลที่เกี่ยวข้องกับอีคอมเมิร์ซในแอปด้วย Google Analytics SDK v4 สำหรับ Android
ภาพรวม
อีคอมเมิร์ซที่เพิ่มประสิทธิภาพจะเปิดใช้การวัดการโต้ตอบของผู้ใช้กับผลิตภัณฑ์ตลอดประสบการณ์การช็อปปิ้งของผู้ใช้ ซึ่งรวมถึงการแสดงผลผลิตภัณฑ์ การคลิกผลิตภัณฑ์ การดูรายละเอียดผลิตภัณฑ์ การเพิ่มผลิตภัณฑ์ลงในรถเข็นช็อปปิ้ง การเริ่มกระบวนการชำระเงิน ธุรกรรม และการคืนเงิน
การใช้งาน
การวัดอีคอมเมิร์ซที่เพิ่มประสิทธิภาพกําหนดให้ใช้คลาส HitBuilder
และชุดวิธีการในการส่งข้อมูลอีคอมเมิร์ซสำหรับผลิตภัณฑ์ การแสดงผล และโปรโมชัน นอกจากนี้ ยังมีชุดคลาสอีคอมเมิร์ซของ Google Analytics เพื่อสร้างข้อมูลที่เกี่ยวข้องกับอีคอมเมิร์ซ
อีคอมเมิร์ซที่เพิ่มประสิทธิภาพช่วยให้คุณทําสิ่งต่อไปนี้ได้
การวัดกิจกรรมอีคอมเมิร์ซ
การใช้อีคอมเมิร์ซที่เพิ่มประสิทธิภาพโดยทั่วไปจะวัดการแสดงผลของผลิตภัณฑ์และการดำเนินการต่อไปนี้
- การเลือกผลิตภัณฑ์
- การดูรายละเอียดผลิตภัณฑ์
- การแสดงผลและการเลือกโปรโมชันภายใน
- การเพิ่ม / นำผลิตภัณฑ์ออกจากรถเข็นช็อปปิ้ง
- การเริ่มต้นกระบวนการชําระเงินสําหรับผลิตภัณฑ์
- การซื้อและการคืนเงิน
การวัดการแสดงผล
หากต้องการวัดการแสดงผลผลิตภัณฑ์ ให้สร้างออบเจ็กต์ Product
และส่งออบเจ็กต์พร้อมกับ Hit โดยใช้เมธอด addImpression
Product
ต้องมีค่า name หรือ id ค่าอื่นๆ ทั้งหมดเป็นตัวเลือก
และไม่จำเป็นต้องตั้งค่า
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());
ดูรายละเอียดเกี่ยวกับเมธอด getTracker
ได้ที่
การกำหนดค่าขั้นสูง
การวัดการกระทำ
ระบบจะวัดการดําเนินการโดยใช้เมธอด addProduct
กับออบเจ็กต์ Product
เพื่อเพิ่มรายละเอียดผลิตภัณฑ์ และเมธอด setProductAction
ที่มีออบเจ็กต์ ProductAction
เพื่อระบุการดำเนินการที่ทํา
ตัวอย่างเช่น โค้ดต่อไปนี้จะวัดการเลือกผลิตภัณฑ์ที่แสดงในรายการผลการค้นหา
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());
การรวมการแสดงผลและการกระทำ
ในกรณีที่คุณมีทั้งการแสดงผลผลิตภัณฑ์และการดำเนินการ คุณจะรวมและวัดผลได้ใน Hit เดียว
ตัวอย่างด้านล่างแสดงวิธีวัดมุมมองรายละเอียดผลิตภัณฑ์ด้วยส่วนผลิตภัณฑ์ที่เกี่ยวข้อง
// 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());
การวัดธุรกรรม
วัดธุรกรรมโดยใช้เมธอด addProduct
กับออบเจ็กต์ Product
เพื่อเพิ่มรายละเอียดผลิตภัณฑ์และเมธอด setProductAction
ที่มีออบเจ็กต์ ProductAction
เพื่อระบุการดำเนินการซื้อ รายละเอียดระดับธุรกรรม เช่น รายได้ทั้งหมด ภาษี และค่าจัดส่ง จะแสดงอยู่ในออบเจ็กต์ ProductAction
Product product = new Product() .setId("P12345") .setName("Android Warhol T-Shirt") .setCategory("Apparel/T-Shirts") .setBrand("Google") .setVariant("black") .setPrice(29.20) .setCouponCode("APPARELSALE") .setQuantity(1); ProductAction productAction = new ProductAction(ProductAction.ACTION_PURCHASE) .setTransactionId("T12345") .setTransactionAffiliation("Google Store - Online") .setTransactionRevenue(37.39) .setTransactionTax(2.85) .setTransactionShipping(5.34) .setTransactionCouponCode("SUMMER2013"); HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder() .addProduct(product) .setProductAction(productAction); Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.setScreenName("transaction"); t.send(builder.build());
การระบุสกุลเงิน
โดยค่าเริ่มต้น คุณสามารถกำหนดค่าสกุลเงินทั่วไปที่ใช้ทั่วโลกสำหรับธุรกรรมและรายการทั้งหมดได้ผ่านอินเทอร์เฟซเว็บการจัดการของ Google Analytics
ต้องระบุสกุลเงินท้องถิ่นในมาตรฐาน ISO 4217
อ่านเอกสารข้อมูลอ้างอิงรหัสสกุลเงินเพื่อดูรายการสกุลเงิน Conversion ทั้งหมดที่รองรับ
สกุลเงินท้องถิ่นระบุโดยใช้พร็อพเพอร์ตี้เครื่องมือติดตาม currencyCode ตัวอย่างเช่น เครื่องมือติดตามนี้จะส่งค่าสกุลเงินเป็นยูโร
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());
การวัดการคืนเงิน
หากต้องการคืนเงินสำหรับธุรกรรมทั้งหมด ให้ใช้เมธอด setProductAction
ที่มีออบเจ็กต์ ProductAction
เพื่อระบุรหัสธุรกรรมและประเภทการดำเนินการคืนเงิน ดังนี้
// 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());
หากไม่พบธุรกรรมที่ตรงกัน ระบบจะไม่ดำเนินการคืนเงิน
หากต้องการวัดการคืนเงินบางส่วน ให้ใช้เมธอด setProductAction
กับออบเจ็กต์ ProductAction
เพื่อระบุรหัสธุรกรรม รหัสผลิตภัณฑ์ และจํานวนผลิตภัณฑ์ที่จะคืนเงิน
// 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());
การใช้เหตุการณ์ที่ไม่มีการโต้ตอบเพื่อการคืนเงิน
หากคุณต้องส่งข้อมูลการคืนเงินโดยใช้เหตุการณ์และเหตุการณ์ไม่ได้เป็นส่วนหนึ่งของพฤติกรรมของผู้ใช้ที่วัดตามปกติ (กล่าวคือ ไม่ได้เริ่มต้นโดยผู้ใช้) เราขอแนะนำให้ส่งเหตุการณ์ ที่ไม่ใช่การโต้ตอบ การทำเช่นนี้จะป้องกันไม่ให้เหตุการณ์ กระทบกับเมตริกบางรายการ เช่น
// 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());
การวัดกระบวนการชำระเงิน
วิธีวัดแต่ละขั้นตอนในกระบวนการชำระเงิน
- เพิ่มโค้ดติดตามเพื่อวัดแต่ละขั้นตอนของกระบวนการชำระเงิน
- เพิ่มโค้ดติดตามเพื่อวัดตัวเลือกขั้นตอนการชำระเงิน (หากมี)
- (ไม่บังคับ) ตั้งชื่อขั้นตอนที่ใช้งานง่ายสำหรับรายงาน Funnel การชําระเงินโดยการกําหนดค่าการตั้งค่าอีคอมเมิร์ซในส่วนผู้ดูแลระบบของอินเทอร์เฟซเว็บ
1. การวัดขั้นตอนการเช็คเอาต์
สำหรับแต่ละขั้นตอนในกระบวนการชำระเงิน คุณจะต้องใช้โค้ดติดตามที่เกี่ยวข้องเพื่อส่งข้อมูลไปยัง Google Analytics
Step
ช่อง
คุณควรใส่ค่า step
สำหรับขั้นตอนการชำระเงินแต่ละขั้นตอนที่คุณวัด ค่านี้จะใช้ในการแมปการดำเนินการชำระเงินกับป้ายกำกับที่คุณกำหนดค่าไว้สำหรับแต่ละขั้นตอนในการตั้งค่าอีคอมเมิร์ซ
Option
ช่อง
หากคุณมีข้อมูลเพิ่มเติมเกี่ยวกับขั้นตอนการเช็คเอาต์ที่ระบุในขณะที่มีการวัดขั้นตอน ให้ตั้งค่าช่อง option
ด้วยการดําเนินการ checkout
เพื่อบันทึกข้อมูลนี้ ตัวอย่างเช่น ประเภทการชำระเงินเริ่มต้นสำหรับผู้ใช้ (เช่น "Visa")
การวัดขั้นตอนการเช็คเอาต์
หากต้องการวัดขั้นตอนการชําระเงิน ให้ใช้เมธอด addProduct
กับออบเจ็กต์ Product
เพื่อเพิ่มรายละเอียดผลิตภัณฑ์และเมธอด setProductAction
ด้วยออบเจ็กต์ ProductAction
เพื่อระบุการดําเนินการชําระเงิน คุณยังตั้งค่า step
และ option
ด้วยการชำระเงินได้ด้วย (หากมี)
ตัวอย่างต่อไปนี้แสดงวิธีวัดขั้นตอนแรกของกระบวนการชําระเงินโดยใช้ผลิตภัณฑ์รายการเดียว และข้อมูลเพิ่มเติมเกี่ยวกับประเภทการชําระเงิน
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. การวัดตัวเลือกขั้นตอนการชำระเงิน
ตัวเลือกการชำระเงินช่วยให้คุณวัดข้อมูลเพิ่มเติมเกี่ยวกับสถานะการชำระเงินได้ วิธีนี้มีประโยชน์ในกรณีที่คุณวัดขั้นตอนการชำระเงินแล้ว แต่ข้อมูลเพิ่มเติมเกี่ยวกับขั้นตอนการชำระเงินเดียวกันจะพร้อมใช้งานหลังจากตั้งค่าตัวเลือกที่ผู้ใช้เลือกไว้แล้ว เช่น ผู้ใช้เลือกวิธีการจัดส่ง
หากต้องการวัดตัวเลือกขั้นตอนการชำระเงิน ให้ใช้ setAction
เพื่อระบุตัวเลือกขั้นตอนการชำระเงินและระบุหมายเลขขั้นตอนและคำอธิบายตัวเลือก
คุณอาจต้องการวัดการดำเนินการนี้เมื่อผู้ใช้ดำเนินการบางอย่างเพื่อไปยังขั้นตอนถัดไปในกระบวนการชำระเงิน เช่น
// (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. การกำหนดค่า Funnel การชำระเงิน
คุณสามารถกำหนดชื่อที่สื่อความหมายซึ่งจะใช้ในรายงานแต่ละขั้นตอนในกระบวนการชำระเงินได้ หากต้องการกำหนดค่าชื่อเหล่านี้ ให้ไปที่ส่วนผู้ดูแลระบบของอินเทอร์เฟซเว็บ Google Analytics เลือกข้อมูลพร็อพเพอร์ตี้ (โปรไฟล์) และคลิกการตั้งค่าอีคอมเมิร์ซ ทำตามวิธีการตั้งค่าอีคอมเมิร์ซเพื่อติดป้ายกำกับขั้นตอนการเช็คเอาต์แต่ละขั้นที่คุณต้องการติดตาม
การวัดโปรโมชันภายใน
อีคอมเมิร์ซที่เพิ่มประสิทธิภาพรองรับการวัดการแสดงผลและการคลิกของโปรโมชันภายใน เช่น แบนเนอร์ที่แสดงเพื่อโปรโมตการลดราคา
การแสดงผลของโปรโมชัน
โดยทั่วไปแล้ว การแสดงผลของโปรโมชันภายในจะวัดด้วยการดูหน้าจอเริ่มต้นโดยใช้เมธอด addPromotion
กับออบเจ็กต์ Promotion
เพื่อระบุรายละเอียดของโปรโมชัน เช่น
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());
จำนวนการคลิกโปรโมชัน
วัดการคลิกของโปรโมชันภายในได้โดยใช้เมธอด addPromotion
กับออบเจ็กต์ Promotion
และตั้งค่าเมธอด setPromotionAction
เป็น Promotion.ACTION_CLICK
หรือ Promotion.ACTION_VIEW
เพื่อระบุการคลิกหรือการดูโปรโมชันตามลำดับ เช่น
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());