ปลั๊กอินอีคอมเมิร์ซที่เพิ่มประสิทธิภาพสำหรับ analytics.js ช่วยในการวัดการโต้ตอบของผู้ใช้กับผลิตภัณฑ์บนเว็บไซต์อีคอมเมิร์ซในประสบการณ์การช็อปปิ้งของผู้ใช้ เช่น การแสดงผลผลิตภัณฑ์ การคลิกผลิตภัณฑ์ การดูรายละเอียดผลิตภัณฑ์ การเพิ่มผลิตภัณฑ์ลงในรถเข็นช็อปปิ้ง การเริ่มกระบวนการชำระเงิน ธุรกรรม และการคืนเงิน
การย้ายข้อมูลและความเข้ากันได้กับปลั๊กอินอีคอมเมิร์ซ (ecommerce.js)
หากคุณใช้งานการวัดอีคอมเมิร์ซแล้วและต้องการเริ่มใช้อีคอมเมิร์ซที่เพิ่มประสิทธิภาพ คุณมี 2 ตัวเลือกหลักดังนี้
ใช้พร็อพเพอร์ตี้ใหม่
คุณสามารถเพิ่มเครื่องมือติดตามเพิ่มเติมสำหรับพร็อพเพอร์ตี้ที่สร้างใหม่และแท็ก/เปิดใช้อีคอมเมิร์ซที่เพิ่มประสิทธิภาพสำหรับพร็อพเพอร์ตี้ใหม่ได้ ดูการทำงานกับออบเจ็กต์การติดตามหลายรายการสำหรับรายละเอียดเกี่ยวกับวิธีส่งข้อมูลไปยังพร็อพเพอร์ตี้หลายรายการจากหน้าเดียว
ย้ายข้อมูลพร็อพเพอร์ตี้ที่มีอยู่
หากต้องการย้ายข้อมูลจากปลั๊กอินอีคอมเมิร์ซไปยังปลั๊กอินอีคอมเมิร์ซที่เพิ่มประสิทธิภาพ ผู้ใช้ analytics.js ในปัจจุบันควรนำออกและแทนที่การอ้างอิงด้วยโค้ดอีคอมเมิร์ซที่เพิ่มประสิทธิภาพ
หากตอนนี้คุณใช้ ga.js คุณจะต้องย้ายข้อมูลไปยัง analytics.js ก่อนจะใช้ปลั๊กอินอีคอมเมิร์ซที่เพิ่มประสิทธิภาพ
ข้อมูลธุรกรรมและสินค้าที่เก็บรวบรวมไว้ก่อนหน้านี้โดยใช้ปลั๊กอิน ecommerce.js จะไม่ได้รับผลกระทบจากการย้ายข้อมูล และจะยังคงอยู่ในพร็อพเพอร์ตี้และโปรไฟล์ที่ส่งข้อมูลนั้นในตอนแรก
ประเภทข้อมูลอีคอมเมิร์ซที่เพิ่มประสิทธิภาพและการดำเนินการ
ข้อมูลอีคอมเมิร์ซที่คุณส่งได้มีหลายประเภท ได้แก่
ข้อมูลการแสดงผล
แสดงข้อมูลเกี่ยวกับผลิตภัณฑ์ที่มีการดู ซึ่งเรียกว่า impressionFieldObject
และมีค่าต่อไปนี้
คีย์ | ประเภทค่า | จำเป็น | คำอธิบาย |
---|---|---|---|
id |
ข้อความ | *ใช่ |
รหัสผลิตภัณฑ์หรือ SKU (เช่น P67890)
* ต้องตั้งค่า 1 ใน |
name |
ข้อความ | *ใช่ |
ชื่อผลิตภัณฑ์ (เช่น เสื้อยืด Android)
* ต้องตั้งค่า 1 ใน |
list |
ข้อความ | ไม่ได้ | รายการหรือคอลเล็กชันที่มีผลิตภัณฑ์อยู่ (เช่น ผลการค้นหา) |
list_name |
ข้อความ | ไม่ได้ | รายการหรือคอลเล็กชันที่มีผลิตภัณฑ์อยู่ (เช่น ผลการค้นหา) |
brand |
ข้อความ | ไม่ได้ | แบรนด์ที่เชื่อมโยงกับผลิตภัณฑ์ (เช่น Google) |
category |
ข้อความ | ไม่ได้ |
หมวดหมู่ของผลิตภัณฑ์ (เช่น เครื่องแต่งกาย) ใช้ / เป็นตัวคั่นเพื่อระบุลำดับชั้นสูงสุด 5 ระดับ (เช่น เครื่องแต่งกาย/ผู้ชาย/เสื้อยืด)
|
variant |
ข้อความ | ไม่ได้ | ผลิตภัณฑ์ย่อยของผลิตภัณฑ์ (เช่น สีดำ) |
position |
จำนวนเต็ม | ไม่ได้ | ตําแหน่งของผลิตภัณฑ์ในรายการหรือคอลเล็กชัน (เช่น 2) |
list_position |
จำนวนเต็ม | ไม่ได้ | ตําแหน่งของผลิตภัณฑ์ในรายการหรือคอลเล็กชัน (เช่น 2) |
price |
ตัวเลข | ไม่ได้ | ราคาของผลิตภัณฑ์ (เช่น 29.20) |
ข้อมูลผลิตภัณฑ์
ข้อมูลผลิตภัณฑ์จะแสดงผลิตภัณฑ์แต่ละรายการที่มีการดู เพิ่มลงในรถเข็นช็อปปิ้ง ฯลฯ ซึ่งเรียกว่า productFieldObject
และมีค่าต่อไปนี้
คีย์ | ประเภทค่า | จำเป็น | คำอธิบาย |
---|---|---|---|
id |
ข้อความ | *ใช่ |
รหัสผลิตภัณฑ์หรือ SKU (เช่น P67890)
* ต้องตั้งค่าเป็นรหัสหรือ |
name |
ข้อความ | *ใช่ |
ชื่อผลิตภัณฑ์ (เช่น เสื้อยืด Android)
* ต้องตั้งค่าเป็นรหัสหรือ |
brand |
ข้อความ | ไม่ได้ | แบรนด์ที่เชื่อมโยงกับผลิตภัณฑ์ (เช่น Google) |
category |
ข้อความ | ไม่ได้ | หมวดหมู่ของผลิตภัณฑ์ (เช่น เครื่องแต่งกาย) ใช้ / เป็นตัวคั่นเพื่อระบุลำดับชั้นสูงสุด 5 ระดับ (เช่น เครื่องแต่งกาย/ผู้ชาย/เสื้อยืด) |
variant |
ข้อความ | ไม่ได้ | ผลิตภัณฑ์ย่อยของผลิตภัณฑ์ (เช่น สีดำ) |
price |
ตัวเลข | ไม่ได้ | ราคาของผลิตภัณฑ์ (เช่น 29.20) |
quantity |
จำนวนเต็ม | ไม่ได้ | จำนวนผลิตภัณฑ์ (เช่น 2) |
coupon |
ข้อความ | ไม่ได้ | รหัสคูปองที่เชื่อมโยงกับผลิตภัณฑ์ (เช่น SUMMER_SALE13) |
position |
จำนวนเต็ม | ไม่ได้ | ตําแหน่งของผลิตภัณฑ์ในรายการหรือคอลเล็กชัน (เช่น 2) |
list_position |
จำนวนเต็ม | ไม่ได้ | ตําแหน่งของผลิตภัณฑ์ในรายการหรือคอลเล็กชัน (เช่น 2) |
ข้อมูลโปรโมชัน
แสดงข้อมูลเกี่ยวกับโปรโมชันที่มีการดูแล้ว ชื่อดังกล่าวเรียกว่า promoFieldObject
และมีค่าต่อไปนี้
คีย์ | ประเภทค่า | จำเป็น | คำอธิบาย |
---|---|---|---|
id |
ข้อความ | *ใช่ |
รหัสโปรโมชัน (เช่น PROMO_1234)
* ต้องตั้งค่า 1 ใน |
name |
ข้อความ | *ใช่ |
ชื่อของโปรโมชัน (เช่น ลดราคาฤดูร้อน)
* ต้องตั้งค่า 1 ใน |
creative |
ข้อความ | ไม่ได้ | ครีเอทีฟโฆษณาที่เชื่อมโยงกับโปรโมชัน (เช่น Summer_banner2) |
creative_name |
ข้อความ | ไม่ได้ | ชื่อครีเอทีฟโฆษณา (เช่น Summer_banner2) |
position |
ข้อความ | ไม่ได้ | ตำแหน่งของครีเอทีฟโฆษณา (เช่นbanner_slot_1) |
creative_slot |
ข้อความ | ไม่ได้ | ชื่อของสล็อตครีเอทีฟโฆษณา (เช่นbanner_slot_1) |
ข้อมูลการดำเนินการ
แสดงข้อมูลการดำเนินการที่เกี่ยวข้องกับอีคอมเมิร์ซที่เกิดขึ้น
ซึ่งเรียกว่า actionFieldObject
และมีค่าต่อไปนี้
คีย์ | ประเภทค่า | จำเป็น | คำอธิบาย |
---|---|---|---|
id |
ข้อความ | *ใช่ |
รหัสธุรกรรม (เช่น T1234)
* ต้องระบุหากประเภทการดำเนินการคือ |
affiliation |
ข้อความ | ไม่ได้ | ร้านค้าหรือแอฟฟิลิเอตที่เกิดธุรกรรมนี้ (เช่น Google Store) |
revenue |
ตัวเลข | ไม่ได้ |
ระบุรายได้ทั้งหมดหรือยอดรวมทั้งหมดที่เกี่ยวข้องกับธุรกรรม (เช่น 11.99) ค่านี้อาจรวมค่าจัดส่ง ค่าภาษี หรือการปรับเปลี่ยนอื่นๆ ในรายได้ทั้งหมดที่คุณต้องการรวมในการคำนวณรายได้ |
value | ตัวเลข | ไม่ได้ | ค่า (รายได้) ที่เชื่อมโยงกับเหตุการณ์ |
tax |
ตัวเลข | ไม่ได้ | ภาษีทั้งหมดที่เกี่ยวข้องกับธุรกรรม |
shipping |
ตัวเลข | ไม่ได้ | ค่าจัดส่งที่เชื่อมโยงกับธุรกรรม |
coupon |
ข้อความ | ไม่ได้ | คูปองธุรกรรมที่แลกพร้อมกับธุรกรรม |
list |
ข้อความ | ไม่ได้ | รายการของผลิตภัณฑ์ที่เกี่ยวข้อง ไม่บังคับ |
items |
อาร์เรย์ | ไม่ได้ | อาร์เรย์ที่มีผลิตภัณฑ์ที่เกี่ยวข้อง |
step |
จำนวนเต็ม | ไม่ได้ | ตัวเลขที่แสดงถึงขั้นตอนในกระบวนการชำระเงิน ไม่บังคับสำหรับการดำเนินการ "ชำระเงิน" |
checkout_step |
จำนวนเต็ม | ไม่ได้ | ตัวเลขที่แสดงถึงขั้นตอนในกระบวนการชำระเงิน |
option |
ข้อความ | ไม่ได้ |
ช่องเพิ่มเติมสำหรับการดำเนินการ checkout และ checkout_option ที่สามารถอธิบายข้อมูลตัวเลือกในหน้าชำระเงิน เช่น วิธีการชำระเงินที่เลือก
|
checkout_option |
ข้อความ | ไม่ได้ | ตัวเลือกการชำระเงิน (วิธีการชำระเงินที่เลือก) |
การดำเนินการเกี่ยวกับผลิตภัณฑ์และโปรโมชัน
การดำเนินการจะระบุวิธีตีความข้อมูลผลิตภัณฑ์และโปรโมชันที่คุณส่งให้ Google Analytics
การดำเนินการ | เหตุการณ์ | คำอธิบาย |
---|---|---|
click |
การคลิกผลิตภัณฑ์หรือลิงก์ผลิตภัณฑ์ของผลิตภัณฑ์อย่างน้อย 1 รายการ | |
detail |
มุมมองรายละเอียดผลิตภัณฑ์ | |
add |
การเพิ่มผลิตภัณฑ์อย่างน้อย 1 รายการลงในรถเข็นช็อปปิ้ง | |
remove |
นำผลิตภัณฑ์อย่างน้อย 1 รายการออกจากรถเข็นช็อปปิ้ง | |
checkout |
เริ่มขั้นตอนการชําระเงินสําหรับผลิตภัณฑ์อย่างน้อย 1 รายการ | |
checkout_option |
การส่งค่าตัวเลือกสำหรับขั้นตอนการเช็คเอาต์ที่ระบุ | |
purchase |
การขายผลิตภัณฑ์อย่างน้อย 1 รายการ | |
refund |
การคืนเงินสำหรับผลิตภัณฑ์อย่างน้อย 1 รายการ | |
promo_click |
การคลิกโปรโมชันภายใน | |
add_to_cart |
ผู้ใช้เพิ่มผลิตภัณฑ์อย่างน้อย 1 รายการลงในรถเข็นช็อปปิ้ง | |
begin_checkout |
ผู้ใช้เริ่มกระบวนการชําระเงินสําหรับผลิตภัณฑ์อย่างน้อย 1 รายการ | |
checkout_progress |
ผู้ใช้ทำขั้นตอนการชำระเงินหลังจากขั้นตอนแรกของการชำระเงิน | |
purchase |
ผู้ใช้ทําการซื้อเสร็จสมบูรณ์ | |
refund |
ผู้ใช้จะได้รับเงินคืนสำหรับผลิตภัณฑ์อย่างน้อย 1 รายการ | |
remove_from_cart |
ผู้ใช้นำผลิตภัณฑ์อย่างน้อย 1 รายการออกจากรถเข็นช็อปปิ้ง | |
select_content |
ผู้ใช้คลิกลิงก์ผลิตภัณฑ์หรือลิงก์ | |
set_checkout_option |
ขั้นตอนการชําระเงินที่ผู้ใช้ทําจนเสร็จสมบูรณ์ | |
view_item |
ผู้ใช้ดูรายละเอียดของผลิตภัณฑ์ | |
view_item_list |
ผู้ใช้ดูรายการผลิตภัณฑ์อย่างน้อย 1 รายการ | |
view_promotion |
ผู้ใช้คลิกที่โปรโมชันภายใน | |
view_refund |
ผู้ใช้ดูการคืนเงินสำหรับผลิตภัณฑ์อย่างน้อย 1 รายการ |
การใช้งาน
ส่วนต่อไปนี้จะอธิบายวิธีติดตั้งใช้งานปลั๊กอินอีคอมเมิร์ซที่เพิ่มประสิทธิภาพเพื่อวัดกิจกรรมอีคอมเมิร์ซในเว็บไซต์ที่มีไลบรารี analytics.js
โหลดปลั๊กอินอีคอมเมิร์ซ
หากต้องการลดขนาดไลบรารี analytics.js จะไม่มีอีคอมเมิร์ซที่เพิ่มประสิทธิภาพในไลบรารีเริ่มต้น แต่เป็นโมดูลปลั๊กอินที่ต้องโหลดก่อนใช้งาน
หากต้องการโหลดปลั๊กอินอีคอมเมิร์ซที่เพิ่มประสิทธิภาพ ให้ใช้คําสั่งต่อไปนี้
ga('require', 'ec');
คำสั่งนี้ต้องเกิดขึ้นหลังจากที่คุณสร้างออบเจ็กต์เครื่องมือติดตามและก่อนที่จะใช้ฟังก์ชันเฉพาะอีคอมเมิร์ซที่เพิ่มประสิทธิภาพ
การส่งข้อมูลอีคอมเมิร์ซที่เพิ่มประสิทธิภาพ
เมื่อโหลดแล้ว ระบบจะเพิ่มคำสั่งใหม่ 2-3 รายการเฉพาะสำหรับอีคอมเมิร์ซที่เพิ่มประสิทธิภาพลงในเครื่องมือติดตามเริ่มต้น และคุณจะเริ่มส่งข้อมูลอีคอมเมิร์ซได้
การวัดกิจกรรมอีคอมเมิร์ซ
การใช้อีคอมเมิร์ซที่เพิ่มประสิทธิภาพโดยทั่วไปจะวัดการแสดงผลของผลิตภัณฑ์และการดำเนินการต่อไปนี้
- คลิกลิงก์ผลิตภัณฑ์
- การดูรายละเอียดผลิตภัณฑ์
- การแสดงผลและการคลิกของโปรโมชันภายใน
- การเพิ่ม/นำผลิตภัณฑ์ออกจากรถเข็นช็อปปิ้ง
- การเริ่มต้นกระบวนการชําระเงินสําหรับผลิตภัณฑ์
- การซื้อและการคืนเงิน
การวัดการแสดงผล
การแสดงผลผลิตภัณฑ์จะวัดโดยใช้คำสั่ง ec:addImpression
เพิ่มรายละเอียดเกี่ยวกับผลิตภัณฑ์ใน impressionFieldObject
ตัวอย่างเช่น โค้ดต่อไปนี้วัดการแสดงผลของผลิตภัณฑ์ในรายการผลการค้นหา
ga('ec:addImpression', { // Provide product details in an impressionFieldObject.
'id': 'P12345', // Product ID (string).
'name': 'Android Warhol T-Shirt', // Product name (string).
'category': 'Apparel/T-Shirts', // Product category (string).
'brand': 'Google', // Product brand (string).
'variant': 'Black', // Product variant (string).
'list': 'Search Results', // Product list (string).
'position': 1, // Product position (number).
'dimension1': 'Member' // Custom dimension (string).
});
impressionFieldObject
ต้องมีค่า name
หรือ id
ค่าอื่นๆ ทั้งหมดเป็นตัวเลือกที่ไม่บังคับและไม่จำเป็นต้องตั้งค่า
การวัดการกระทำ
ระบบจะวัดการดําเนินการโดยใช้คําสั่ง ec:addProduct
ร่วมกับ productFieldObject
เพื่อเพิ่มรายละเอียดผลิตภัณฑ์ และคําสั่ง ec:setAction
เพื่อระบุการดําเนินการที่ทําอยู่
ตัวอย่างเช่น โค้ดต่อไปนี้วัดการคลิกลิงก์ผลิตภัณฑ์ที่แสดงในรายการผลการค้นหา
ga('ec:addProduct', { // Provide product details in a productFieldObject.
'id': 'P12345', // Product ID (string).
'name': 'Android Warhol T-Shirt', // Product name (string).
'category': 'Apparel', // Product category (string).
'brand': 'Google', // Product brand (string).
'variant': 'Black', // Product variant (string).
'position': 1, // Product position (number).
'dimension1': 'Member' // Custom dimension (string).
});
ga('ec:setAction', 'click', { // click action.
'list': 'Search Results' // Product list (string).
});
productFieldObject
ต้องมีค่า name
หรือ id
ค่าอื่นๆ ทั้งหมดเป็นตัวเลือก
และไม่จำเป็นต้องตั้งค่า
การรวมการแสดงผลและการกระทำ
ในกรณีที่คุณมีทั้งการแสดงผลผลิตภัณฑ์และการกระทำ คุณจะรวมและวัดผลได้ใน Hit เดียว
ตัวอย่างด้านล่างแสดงวิธีวัดมุมมองรายละเอียดผลิตภัณฑ์ด้วยส่วนผลิตภัณฑ์ที่เกี่ยวข้อง
// The impression from a Related Products section.
ga('ec:addImpression', { // Provide product details in an impressionFieldObject.
'id': 'P12345', // Product ID (string).
'name': 'Android Warhol T-Shirt', // Product name (string).
'category': 'Apparel/T-Shirts', // Product category (string).
'brand': 'Google', // Product brand (string).
'variant': 'Black', // Product variant (string).
'list': 'Related Products', // Product list (string).
'position': 1 // Product position (number).
});
// The product being viewed.
ga('ec:addProduct', { // Provide product details in an productFieldObject.
'id': 'P67890', // Product ID (string).
'name': 'YouTube Organic T-Shirt', // Product name (string).
'category': 'Apparel/T-Shirts', // Product category (string).
'brand': 'YouTube', // Product brand (string).
'variant': 'gray', // Product variant (string).
'position': 2 // Product position (number).
});
ga('ec:setAction', 'detail'); // Detail action.
การวัดธุรกรรม
วัดธุรกรรมโดยใช้คำสั่ง ec:setAction
และตั้งค่าประเภทการดำเนินการเป็น purchase
รายละเอียดระดับธุรกรรม เช่น รายได้ทั้งหมด ภาษี และค่าจัดส่ง แสดงอยู่ใน actionFieldObject
ga('ec:addProduct', { // Provide product details in an productFieldObject.
'id': 'P12345', // Product ID (string).
'name': 'Android Warhol T-Shirt', // Product name (string).
'category': 'Apparel', // Product category (string).
'brand': 'Google', // Product brand (string).
'variant': 'black', // Product variant (string).
'price': '29.20', // Product price (number).
'coupon': 'APPARELSALE', // Product coupon (string).
'quantity': 1 // Product quantity (number).
});
ga('ec:setAction', 'purchase', { // Transaction details are provided in an actionFieldObject.
'id': 'T12345', // (Required) Transaction id (string).
'affiliation': 'Google Store - Online', // Affiliation (string).
'revenue': '37.39', // Revenue (number).
'tax': '2.85', // Tax (number).
'shipping': '5.34', // Shipping (number).
'coupon': 'SUMMER2013' // Transaction coupon (string).
});
actionFieldObject
ต้องมีค่า id
หากประเภทการดำเนินการคือ purchase
หรือ refund
ค่าอื่นๆ ทั้งหมดเป็นตัวเลือกที่ไม่บังคับและไม่จำเป็นต้องตั้งค่า
การวัดการคืนเงิน
หากต้องการคืนเงินสำหรับธุรกรรมทั้งหมด ให้ตั้งค่าการดำเนินการ refund
และระบุรหัสธุรกรรม:
// Refund an entire transaction.
ga('ec:setAction', 'refund', {
// Transaction ID is only required field for full refund.
'id': 'T12345'
});
หากไม่พบธุรกรรมที่ตรงกัน ระบบจะไม่ประมวลผล Hit refund
หากต้องการวัดการคืนเงินบางส่วน ให้ตั้งค่าการดำเนินการ refund
และระบุรหัสธุรกรรม รหัสผลิตภัณฑ์ และจำนวนผลิตภัณฑ์ที่จะคืนเงิน
// Refund a single product.
ga('ec:addProduct', {
'id': 'P12345', // Product ID is required for partial refund.
'quantity': 1 // Quantity is required for partial refund.
});
ga('ec:setAction', 'refund', {
'id': 'T12345', // Transaction ID is required for partial refund.
});
การใช้เหตุการณ์ที่ไม่มีการโต้ตอบเพื่อการคืนเงิน
หากคุณต้องส่งข้อมูลการคืนเงินโดยใช้เหตุการณ์และเหตุการณ์ไม่ได้เป็นส่วนหนึ่งของพฤติกรรมในเว็บไซต์ตามปกติ (กล่าวคือ ไม่ได้เริ่มต้นโดยผู้ใช้) เราขอแนะนำให้ส่งเหตุการณ์ที่ไม่ใช่การโต้ตอบ ซึ่งจะป้องกันไม่ให้เมตริกต่างๆ เช่น อัตราตีกลับ เวลาบนไซต์ ฯลฯ ได้รับผลกระทบจากเหตุการณ์ เช่น
ga('send', 'event', 'Ecommerce', 'Refund', {'nonInteraction': 1});
การวัดกระบวนการชำระเงิน
วิธีวัดแต่ละขั้นตอนในกระบวนการชำระเงิน
- เพิ่มโค้ดเพื่อวัดแต่ละขั้นตอนของกระบวนการชำระเงิน
- เพิ่มโค้ดเพื่อวัดตัวเลือกขั้นตอนการชำระเงิน (หากมี)
- (ไม่บังคับ) ตั้งชื่อขั้นตอนที่ใช้งานง่ายสำหรับรายงาน Funnel การชำระเงินโดยการกำหนดค่าการตั้งค่าอีคอมเมิร์ซในส่วนผู้ดูแลระบบของอินเทอร์เฟซเว็บ
1. การวัดขั้นตอนการเช็คเอาต์
สำหรับแต่ละขั้นตอนในกระบวนการชำระเงิน คุณจะต้องใช้โค้ดที่เกี่ยวข้องเพื่อส่งข้อมูลไปยัง Google Analytics ดังนี้
step
ช่องคุณควรใส่ค่า
step
สำหรับขั้นตอนการชำระเงินแต่ละขั้นตอนที่คุณวัด ค่านี้จะใช้ในการแมปการดำเนินการชำระเงินกับป้ายกำกับที่คุณกำหนดค่าไว้สำหรับแต่ละขั้นตอนในการตั้งค่าอีคอมเมิร์ซoption
ช่องหากคุณมีข้อมูลเพิ่มเติมเกี่ยวกับขั้นตอนการเช็คเอาต์ที่ระบุในขณะที่มีการวัดขั้นตอน ให้ตั้งค่าช่อง
option
ด้วยการดําเนินการcheckout
เพื่อบันทึกข้อมูลนี้ ตัวอย่างเช่น รูปแบบการชำระเงินเริ่มต้นสำหรับผู้ใช้ (เช่นVisa
)การวัดขั้นตอนการเช็คเอาต์
หากต้องการวัดขั้นตอนการชําระเงิน ให้ใช้
ec:addProduct
สําหรับผลิตภัณฑ์แต่ละรายการ และec:setAction
จะระบุการชําระเงินec:setAction
จะใช้actionFieldObject
เพิ่มเติมเพื่ออธิบายขั้นตอนการชำระเงินด้วยstep
และoption
ได้ (หากมี)ตัวอย่างต่อไปนี้แสดงวิธีวัดขั้นตอนแรกของกระบวนการชําระเงินโดยใช้ผลิตภัณฑ์รายการเดียว และข้อมูลเพิ่มเติมเกี่ยวกับประเภทการชําระเงิน
ga('ec:addProduct', { // Provide product details in an productFieldObject. 'id': 'P12345', // Product ID (string). 'name': 'Android Warhol T-Shirt', // Product name (string). 'category': 'Apparel', // Product category (string). 'brand': 'Google', // Product brand (string). 'variant': 'black', // Product variant (string). 'price': '29.20', // Product price (number). 'quantity': 1 // Product quantity (number). }); // Add the step number and additional info about the checkout to the action. ga('ec:setAction','checkout', { 'step': 1, 'option': 'Visa' });
2. การวัดตัวเลือกขั้นตอนการชำระเงิน
ตัวเลือกการชำระเงินช่วยให้คุณสามารถวัดข้อมูลเพิ่มเติมเกี่ยวกับสถานะของการชำระเงินได้ วิธีนี้มีประโยชน์ในกรณีที่คุณวัดขั้นตอนการเช็คเอาต์ระหว่างการดูหน้าเว็บครั้งแรก แต่มีข้อมูลเพิ่มเติมเกี่ยวกับขั้นตอนการชําระเงินเดียวกันหลังจากตั้งค่าตัวเลือกที่ผู้ใช้เลือกไว้แล้ว เช่น ผู้ใช้เลือกวิธีการจัดส่ง
หากต้องการวัดตัวเลือกขั้นตอนการชำระเงิน ให้ใช้ ec:setAction
เพื่อระบุ checkout_option
รวมถึงหมายเลขขั้นตอนและคำอธิบายตัวเลือก
คุณน่าจะต้องวัดการดำเนินการนี้เมื่อผู้ใช้คลิกเพื่อไปยังขั้นตอนถัดไปในกระบวนการชำระเงิน เช่น
// (On "Next" button click)
ga('ec:setAction', 'checkout_option', {'step': 2, 'option': 'FedEx'});
ga('send', 'event', 'Checkout', 'Option', {
hitCallback: function() {
// advance to next page
},
});
3. การกำหนดค่า Funnel การชำระเงิน
คุณสามารถกำหนดชื่ออธิบายแต่ละขั้นตอนในกระบวนการชำระเงินได้ ซึ่งจะใช้ในรายงาน หากต้องการกำหนดค่าชื่อเหล่านี้ ให้ไปที่ส่วนผู้ดูแลระบบของอินเทอร์เฟซเว็บ Google Analytics เลือกข้อมูลพร็อพเพอร์ตี้ (โปรไฟล์) แล้วคลิกการตั้งค่าอีคอมเมิร์ซ ทำตามวิธีการตั้งค่าอีคอมเมิร์ซเพื่อติดป้ายกำกับขั้นตอนการเช็คเอาต์แต่ละขั้นที่คุณต้องการวัด
การวัดโปรโมชันภายใน
ปลั๊กอินอีคอมเมิร์ซที่เพิ่มประสิทธิภาพประกอบด้วยการรองรับการวัดการแสดงผลและการคลิกของโปรโมชันภายใน เช่น แบนเนอร์ที่แสดงเพื่อโปรโมตการลดราคาในส่วนอื่นของเว็บไซต์
การแสดงผลของโปรโมชัน
โดยทั่วไป การแสดงผลของโปรโมชันภายในจะวัดเมื่อมีการโหลดหน้าเว็บ และส่งมาพร้อมกับการดูหน้าเว็บครั้งแรกโดยใช้คำสั่ง ec:addPromo
เช่น
ga('ec:addPromo', { // Promo details provided in a promoFieldObject.
'id': 'PROMO_1234', // Promotion ID. Required (string).
'name': 'Summer Sale', // Promotion name (string).
'creative': 'summer_banner2', // Creative (string).
'position': 'banner_slot1' // Position (string).
});
จำนวนการคลิกโปรโมชัน
วัดการคลิกโปรโมชันภายในได้โดยการตั้งค่าการดำเนินการpromo_click
เช่น
// Identify the promotion that was clicked.
ga('ec:addPromo', {
'id': 'PROMO_1234',
'name': 'Summer Sale',
'creative': 'summer_banner2',
'position': 'banner_slot1'
});
// Send the promo_click action with an event.
ga('ec:setAction', 'promo_click');
ga('send', 'event', 'Internal Promotions', 'click', 'Summer Sale');
ตัวอย่างเช่น หากต้องการวัดหน้ารายละเอียดผลิตภัณฑ์ด้วยการแสดงผลและการคลิกโปรโมชัน ให้ส่งข้อมูลผลิตภัณฑ์และการแสดงผลพร้อมการดูหน้าเว็บครั้งแรกก่อน จากนั้นจึงส่งข้อมูลการคลิกโปรโมชันในเหตุการณ์แยกต่างหาก ดังนี้
// 1. Send product and impression data with pageview.
ga('ec:addProduct', {
'id': 'P12345', // Product ID (string).
'name': 'Android Warhol T-Shirt', // Product name (string).
'category': 'Apparel', // Product category (string).
'brand': 'Google', // Product brand (string).
'variant': 'Black', // Product variant (string).
'position': 1, // Product position (number).
});
// The impression from the Related Products section.
ga('ec:addImpression', {
'id': 'P12345', // Product ID (string).
'name': 'Android Warhol T-Shirt', // Product name (string).
'category': 'Apparel/T-Shirts', // Product category (string).
'brand': 'Google', // Product brand (string).
'variant': 'Black', // Product variant (string).
'list': 'Related Products', // Product list (string).
'position': 1, // Product position (number).
});
ga('ec:setAction', 'detail'); // Detail action.
ga('send', 'pageview'); // Send the product data with initial pageview.
// 2. Send the promo click data when the promo click occurs.
// Call this function when promo click occurs.
function onPromoClick() {
ga('ec:addPromo', {
'id': 'PROMO_1234',
'name': 'Summer Sale',
'creative': 'summer_banner2',
'position': 'banner_slot1'
});
// Send the promo_click action with an event.
ga('ec:setAction', 'promo_click');
ga('send', 'event', 'Internal Promotions', 'click', 'Summer Sale');
}
promoFieldObject
ต้องมีค่า name
หรือ id
ค่าอื่นๆ ทั้งหมดเป็นค่าที่ไม่บังคับและไม่จำเป็นต้องตั้งค่า
ตัวอย่างที่สมบูรณ์
ข้อมูลโค้ดด้านล่างแสดงวิธีวัดวงจรอีคอมเมิร์ซของผลิตภัณฑ์หนึ่งๆ ตั้งแต่การแสดงผลครั้งแรกไปจนถึงการทำธุรกรรมโดยใช้ปลั๊กอินอีคอมเมิร์ซที่เพิ่มประสิทธิภาพ
การวัดการแสดงผลของผลิตภัณฑ์
ในตัวอย่างนี้ ผู้ใช้ดูผลิตภัณฑ์ในรายการผลการค้นหาก่อน หากต้องการวัดการแสดงผลผลิตภัณฑ์นี้ ให้ใช้คําสั่ง ec:addImpression
และระบุรายละเอียดผลิตภัณฑ์ใน impressionFieldObject
ดังนี้
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
ga('ec:addImpression', {
'id': 'P12345', // Product details are provided in an impressionFieldObject.
'name': 'Android Warhol T-Shirt',
'category': 'Apparel/T-Shirts',
'brand': 'Google',
'variant': 'black',
'list': 'Search Results',
'position': 1 // 'position' indicates the product position in the list.
});
ga('ec:addImpression', {
'id': 'P67890',
'name': 'YouTube Organic T-Shirt',
'category': 'Apparel/T-Shirts',
'brand': 'YouTube',
'variant': 'gray',
'list': 'Search Results',
'position': 2
});
ga('send', 'pageview'); // Send product impressions with initial pageview.
การวัดการคลิกผลิตภัณฑ์
ถัดไป ผู้ใช้แสดงความสนใจผลิตภัณฑ์นี้โดยคลิกข้อมูลผลิตภัณฑ์ที่แสดงเพื่อดูรายละเอียดเพิ่มเติม
หากต้องการวัดการคลิกผลิตภัณฑ์ดังกล่าว ให้ใช้ ec:addProduct
และ ec:setAction
ดังนี้
// Called when a link to a product is clicked.
function onProductClick() {
ga('ec:addProduct', {
'id': 'P12345',
'name': 'Android Warhol T-Shirt',
'category': 'Apparel',
'brand': 'Google',
'variant': 'black',
'position': 1
});
ga('ec:setAction', 'click', {list: 'Search Results'});
// Send click with an event, then send user to product page.
ga('send', 'event', 'UX', 'click', 'Results', {
hitCallback: function() {
document.location = '/product_details?id=P12345';
}
});
}
ลิงก์ผลิตภัณฑ์สามารถนำมาใช้ได้ดังนี้
<a href="/next-page.html"
onclick="onProductClick(); return !ga.loaded;">
Android Warhol T-Shirt
</a>
การวัดมุมมองรายละเอียดผลิตภัณฑ์
หลังจากคลิกข้อมูลผลิตภัณฑ์ที่แสดง ผู้ใช้เห็นหน้ารายละเอียดผลิตภัณฑ์
หากต้องการวัดมุมมองรายละเอียดผลิตภัณฑ์นี้ ให้ใช้ ec:addProduct
และ ec:setAction
เพื่อระบุการดำเนินการ detail
ดังนี้
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
ga('ec:addProduct', {
'id': 'P12345',
'name': 'Android Warhol T-Shirt',
'category': 'Apparel',
'brand': 'Google',
'variant': 'black'
});
ga('ec:setAction', 'detail');
ga('send', 'pageview'); // Send product details view with the initial pageview.
การวัดการเพิ่มเติมหรือการนำออกจากรถเข็น
ผู้ใช้แสดงความตั้งใจที่จะซื้อสินค้าโดยการเพิ่มลงในรถเข็นช็อปปิ้ง
หากต้องการวัดการเพิ่มหรือนำผลิตภัณฑ์ออกจากรถเข็นช็อปปิ้ง ให้ใช้ ec:addProduct
และตั้งค่าประเภท add
หรือ remove
ดังนี้
// Called when a product is added to a shopping cart.
function addToCart(product) {
ga('ec:addProduct', {
'id': product.id,
'name': product.name,
'category': product.category,
'brand': product.brand,
'variant': product.variant,
'price': product.price,
'quantity': product.qty
});
ga('ec:setAction', 'add');
ga('send', 'event', 'UX', 'click', 'add to cart'); // Send data using an event.
}
การวัดกระบวนการชำระเงิน
ตอนนี้ผู้ใช้พร้อมที่จะเริ่มกระบวนการชำระเงินแล้ว ซึ่งในตัวอย่างนี้มี 2 ขั้นตอน แต่ละขั้นตอนอยู่ในหน้าแยกกัน
- เพิ่มรายละเอียดการชำระเงิน (payment.html)
- เพิ่มรายละเอียดการจัดส่ง (shipping.html)
ในกรณีที่เกี่ยวข้อง ให้ตรวจสอบว่าคุณได้กำหนดค่าช่องทางการชำระเงินไว้อย่างถูกต้องในผู้ดูแลระบบอินเทอร์เฟซเว็บในส่วนการตั้งค่าอีคอมเมิร์ซ เช่น
ขั้นตอนที่ 1 - การชำระเงิน
หากต้องการวัดขั้นตอนแรกของการชำระเงิน ให้ใช้ ec:addProduct
สำหรับผลิตภัณฑ์แต่ละรายการในรถเข็นช็อปปิ้ง และใช้ ec:setAction
ในการระบุ checkout
ec:setAction
จะใช้ actionFieldObject
เพื่ออธิบายขั้นตอนการชำระเงินด้วยตัวเลข และมีการระบุข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบการชำระเงินเริ่มต้นของผู้ใช้รายนี้โดยใช้ช่อง option
ดังนี้
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
/**
* Called when the user begins the checkout process.
* @param {Array} cart An array representing the user's shopping cart.
*/
function checkout(cart) {
for(var i = 0; i < cart.length; i++) {
var product = cart[i];
ga('ec:addProduct', {
'id': product.id,
'name': product.name,
'category': product.category,
'brand': product.brand,
'variant': product.variant,
'price': product.price,
'quantity': product.qty
});
}
}
// In the case of checkout actions, an additional actionFieldObject can
// specify a checkout step and option.
ga('ec:setAction','checkout', {
'step': 1, // A value of 1 indicates this action is first checkout step.
'option': 'Visa' // Used to specify additional info about a checkout stage, e.g. payment method.
});
ga('send', 'pageview'); // Pageview for payment.html
ขั้นตอนที่ 2 - การจัดส่ง
หากต้องการวัดขั้นตอนที่ 2 ของการชำระเงิน ให้ใช้ ec:addProduct
สำหรับผลิตภัณฑ์แต่ละรายการในรถเข็นช็อปปิ้ง และใช้ ec:setAction
เพื่อระบุการชำระเงิน ในกรณีนี้ เราไม่มีข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกการจัดส่งที่เลือกเมื่อมีการส่งการดูหน้าเว็บครั้งแรก ดังนั้นเราจะจัดการเรื่องนี้แยกกันโดยใช้ ec:setAction
เพื่อระบุ checkout_option
// Measure checkout step 2:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
/**
* Called when the user begins the checkout process.
* @param {Array} cart An array representing the user's shopping cart.
*/
function checkout(cart) {
for(var i = 0; i < cart.length; i++) {
var product = cart[i];
ga('ec:addProduct', {
'id': product.id,
'name': product.name,
'category': product.category,
'brand': product.brand,
'variant': product.variant,
'price': product.price,
'quantity': product.qty
});
}
}
ga('ec:setAction','checkout', {'step': 2});
ga('send', 'pageview'); // Pageview for shipping.html
// Called when user has completed shipping options.
function onShippingComplete(stepNumber, shippingOption) {
ga('ec:setAction', 'checkout_option', {
'step': stepNumber,
'option': shippingOption
});
ga('send', 'event', 'Checkout', 'Option', {
hitCallback: function() {
// Advance to next page.
}
});
}
จากนั้นนำแบบฟอร์มไปติดตั้งใช้งานดังนี้
<a href="/next-page.html"
onclick="onShippingComplete(2, 'FedEx'); return !ga.loaded;">
Continue
</a>
การวัดธุรกรรม
สุดท้าย ผู้ใช้ดำเนินการชำระเงินจนเสร็จสมบูรณ์และส่งข้อมูลการซื้อ
หากต้องการวัดการขายผลิตภัณฑ์อย่างน้อย 1 รายการ ให้ใช้ ec:addProduct
เพื่อเพิ่มผลิตภัณฑ์แต่ละรายการ แล้วใช้ ec:setAction
เพื่อระบุ purchase
คุณจะระบุข้อมูลระดับธุรกรรม เช่น รายได้ทั้งหมด ภาษี และอื่นๆ ได้ผ่าน actionFieldObject
เช่น
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
ga('ec:addProduct', {
'id': 'P12345',
'name': 'Android Warhol T-Shirt',
'category': 'Apparel',
'brand': 'Google',
'variant': 'black',
'price': '29.20',
'quantity': 1
});
// Transaction level information is provided via an actionFieldObject.
ga('ec:setAction', 'purchase', {
'id': 'T12345',
'affiliation': 'Google Store - Online',
'revenue': '37.39',
'tax': '2.85',
'shipping': '5.34',
'coupon': 'SUMMER2013' // User added a coupon at checkout.
});
ga('send', 'pageview'); // Send transaction data with initial pageview.
การระบุสกุลเงินท้องถิ่น
โดยค่าเริ่มต้น คุณสามารถกำหนดค่าสกุลเงินทั่วไปที่ใช้ทั่วโลกสำหรับธุรกรรมและรายการทั้งหมดได้ผ่านอินเทอร์เฟซเว็บการจัดการของ Google Analytics ตามค่าเริ่มต้น สกุลเงินกลางจะถูกใช้สำหรับสินค้าและธุรกรรมทั้งหมด สำหรับเว็บไซต์ที่ทำธุรกรรมในหลายสกุลเงิน ปลั๊กอินอีคอมเมิร์ซจะให้คุณระบุสกุลเงินท้องถิ่นของธุรกรรมได้
ต้องระบุสกุลเงินท้องถิ่นในมาตรฐาน ISO 4217
อ่านเอกสารข้อมูลอ้างอิงรหัสสกุลเงินเพื่อดูรายการสกุลเงิน Conversion ทั้งหมดที่รองรับ
สกุลเงินท้องถิ่นระบุโดยใช้พร็อพเพอร์ตี้เครื่องมือติดตาม currencyCode
ตัวอย่างเช่น เครื่องมือติดตามนี้จะส่งค่าสกุลเงินเป็นยูโร
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
ga('set', 'currencyCode', 'EUR'); // Set currency to Euros.
ga('ec:addProduct', {
'id': 'P12345',
'name': 'Android Warhol T-Shirt',
'category': 'Apparel',
'brand': 'Google',
'variant': 'black',
'price': '21.89',
'quantity': 1
});
ga('ec:setAction', 'purchase', {
id: 'T12345',
affiliation: 'Google Store - Online',
revenue: '28.03',
tax: '2.14',
shipping: '4.00',
coupon: 'SUMMER2013'
});
ga('send', 'pageview');