อีคอมเมิร์ซที่เพิ่มประสิทธิภาพ

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

การย้ายข้อมูลและความเข้ากันได้กับปลั๊กอินอีคอมเมิร์ซ (ecommerce.js)

หากคุณใช้งานการวัดอีคอมเมิร์ซแล้วและต้องการเริ่มใช้อีคอมเมิร์ซที่เพิ่มประสิทธิภาพ คุณมี 2 ตัวเลือกหลักดังนี้

ใช้พร็อพเพอร์ตี้ใหม่

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

ย้ายข้อมูลพร็อพเพอร์ตี้ที่มีอยู่

หากต้องการย้ายข้อมูลจากปลั๊กอินอีคอมเมิร์ซไปยังปลั๊กอินอีคอมเมิร์ซที่เพิ่มประสิทธิภาพ ผู้ใช้ analytics.js ในปัจจุบันควรนำออกและแทนที่การอ้างอิงด้วยโค้ดอีคอมเมิร์ซที่เพิ่มประสิทธิภาพ

หากตอนนี้คุณใช้ ga.js คุณจะต้องย้ายข้อมูลไปยัง analytics.js ก่อนจะใช้ปลั๊กอินอีคอมเมิร์ซที่เพิ่มประสิทธิภาพ

ข้อมูลธุรกรรมและสินค้าที่เก็บรวบรวมไว้ก่อนหน้านี้โดยใช้ปลั๊กอิน ecommerce.js จะไม่ได้รับผลกระทบจากการย้ายข้อมูล และจะยังคงอยู่ในพร็อพเพอร์ตี้และโปรไฟล์ที่ส่งข้อมูลนั้นในตอนแรก

ประเภทข้อมูลอีคอมเมิร์ซที่เพิ่มประสิทธิภาพและการดำเนินการ

ข้อมูลอีคอมเมิร์ซที่คุณส่งได้มีหลายประเภท ได้แก่

ข้อมูลการแสดงผล

แสดงข้อมูลเกี่ยวกับผลิตภัณฑ์ที่มีการดู ซึ่งเรียกว่า impressionFieldObject และมีค่าต่อไปนี้

คีย์ ประเภทค่า จำเป็น คำอธิบาย
id ข้อความ *ใช่

รหัสผลิตภัณฑ์หรือ SKU (เช่น P67890)

* ต้องตั้งค่า 1 ใน id หรือ name

name ข้อความ *ใช่

ชื่อผลิตภัณฑ์ (เช่น เสื้อยืด Android)

* ต้องตั้งค่า 1 ใน id หรือ name

list ข้อความ ไม่ได้ รายการหรือคอลเล็กชันที่มีผลิตภัณฑ์อยู่ (เช่น ผลการค้นหา)
list_name ข้อความ ไม่ได้ รายการหรือคอลเล็กชันที่มีผลิตภัณฑ์อยู่ (เช่น ผลการค้นหา)
brand ข้อความ ไม่ได้ แบรนด์ที่เชื่อมโยงกับผลิตภัณฑ์ (เช่น Google)
category ข้อความ ไม่ได้ หมวดหมู่ของผลิตภัณฑ์ (เช่น เครื่องแต่งกาย) ใช้ / เป็นตัวคั่นเพื่อระบุลำดับชั้นสูงสุด 5 ระดับ (เช่น เครื่องแต่งกาย/ผู้ชาย/เสื้อยืด)
variant ข้อความ ไม่ได้ ผลิตภัณฑ์ย่อยของผลิตภัณฑ์ (เช่น สีดำ)
position จำนวนเต็ม ไม่ได้ ตําแหน่งของผลิตภัณฑ์ในรายการหรือคอลเล็กชัน (เช่น 2)
list_position จำนวนเต็ม ไม่ได้ ตําแหน่งของผลิตภัณฑ์ในรายการหรือคอลเล็กชัน (เช่น 2)
price ตัวเลข ไม่ได้ ราคาของผลิตภัณฑ์ (เช่น 29.20)

ข้อมูลผลิตภัณฑ์

ข้อมูลผลิตภัณฑ์จะแสดงผลิตภัณฑ์แต่ละรายการที่มีการดู เพิ่มลงในรถเข็นช็อปปิ้ง ฯลฯ ซึ่งเรียกว่า productFieldObject และมีค่าต่อไปนี้

คีย์ ประเภทค่า จำเป็น คำอธิบาย
id ข้อความ *ใช่

รหัสผลิตภัณฑ์หรือ SKU (เช่น P67890)

* ต้องตั้งค่าเป็นรหัสหรือ name อย่างใดอย่างหนึ่ง

name ข้อความ *ใช่

ชื่อผลิตภัณฑ์ (เช่น เสื้อยืด Android)

* ต้องตั้งค่าเป็นรหัสหรือ name อย่างใดอย่างหนึ่ง

brand ข้อความ ไม่ได้ แบรนด์ที่เชื่อมโยงกับผลิตภัณฑ์ (เช่น Google)
category ข้อความ ไม่ได้ หมวดหมู่ของผลิตภัณฑ์ (เช่น เครื่องแต่งกาย) ใช้ / เป็นตัวคั่นเพื่อระบุลำดับชั้นสูงสุด 5 ระดับ (เช่น เครื่องแต่งกาย/ผู้ชาย/เสื้อยืด)
variant ข้อความ ไม่ได้ ผลิตภัณฑ์ย่อยของผลิตภัณฑ์ (เช่น สีดำ)
price ตัวเลข ไม่ได้ ราคาของผลิตภัณฑ์ (เช่น 29.20)
quantity จำนวนเต็ม ไม่ได้ จำนวนผลิตภัณฑ์ (เช่น 2)
coupon ข้อความ ไม่ได้ รหัสคูปองที่เชื่อมโยงกับผลิตภัณฑ์ (เช่น SUMMER_SALE13)
position จำนวนเต็ม ไม่ได้ ตําแหน่งของผลิตภัณฑ์ในรายการหรือคอลเล็กชัน (เช่น 2)
list_position จำนวนเต็ม ไม่ได้ ตําแหน่งของผลิตภัณฑ์ในรายการหรือคอลเล็กชัน (เช่น 2)

ข้อมูลโปรโมชัน

แสดงข้อมูลเกี่ยวกับโปรโมชันที่มีการดูแล้ว ชื่อดังกล่าวเรียกว่า promoFieldObject และมีค่าต่อไปนี้

คีย์ ประเภทค่า จำเป็น คำอธิบาย
id ข้อความ *ใช่

รหัสโปรโมชัน (เช่น PROMO_1234)

* ต้องตั้งค่า 1 ใน id หรือ name

name ข้อความ *ใช่

ชื่อของโปรโมชัน (เช่น ลดราคาฤดูร้อน)

* ต้องตั้งค่า 1 ใน id หรือ name

creative ข้อความ ไม่ได้ ครีเอทีฟโฆษณาที่เชื่อมโยงกับโปรโมชัน (เช่น Summer_banner2)
creative_name ข้อความ ไม่ได้ ชื่อครีเอทีฟโฆษณา (เช่น Summer_banner2)
position ข้อความ ไม่ได้ ตำแหน่งของครีเอทีฟโฆษณา (เช่นbanner_slot_1)
creative_slot ข้อความ ไม่ได้ ชื่อของสล็อตครีเอทีฟโฆษณา (เช่นbanner_slot_1)

ข้อมูลการดำเนินการ

แสดงข้อมูลการดำเนินการที่เกี่ยวข้องกับอีคอมเมิร์ซที่เกิดขึ้น ซึ่งเรียกว่า actionFieldObject และมีค่าต่อไปนี้

คีย์ ประเภทค่า จำเป็น คำอธิบาย
id ข้อความ *ใช่

รหัสธุรกรรม (เช่น T1234)

* ต้องระบุหากประเภทการดำเนินการคือ purchase หรือ refund

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 เลือกข้อมูลพร็อพเพอร์ตี้ (โปรไฟล์) แล้วคลิกการตั้งค่าอีคอมเมิร์ซ ทำตามวิธีการตั้งค่าอีคอมเมิร์ซเพื่อติดป้ายกำกับขั้นตอนการเช็คเอาต์แต่ละขั้นที่คุณต้องการวัด

การตั้งค่าอีคอมเมิร์ซในส่วนผู้ดูแลระบบของอินเทอร์เฟซเว็บ Google Analytics เปิดใช้อีคอมเมิร์ซและเพิ่มป้ายกำกับขั้นตอนในกระบวนการชำระเงินแล้ว 4 รายการ ได้แก่ 1. ตรวจสอบรถเข็น, 2. รวบรวมข้อมูลการชำระเงิน, 3. ยืนยันรายละเอียดการซื้อ 4. ใบเสร็จ
ภาพที่ 1: การตั้งค่าอีคอมเมิร์ซ - ช่องทางการชำระเงิน

การวัดโปรโมชันภายใน

ปลั๊กอินอีคอมเมิร์ซที่เพิ่มประสิทธิภาพประกอบด้วยการรองรับการวัดการแสดงผลและการคลิกของโปรโมชันภายใน เช่น แบนเนอร์ที่แสดงเพื่อโปรโมตการลดราคาในส่วนอื่นของเว็บไซต์

การแสดงผลของโปรโมชัน

โดยทั่วไป การแสดงผลของโปรโมชันภายในจะวัดเมื่อมีการโหลดหน้าเว็บ และส่งมาพร้อมกับการดูหน้าเว็บครั้งแรกโดยใช้คำสั่ง 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)

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

การตั้งค่าอีคอมเมิร์ซในส่วนผู้ดูแลระบบของอินเทอร์เฟซเว็บ Google Analytics เปิดใช้อีคอมเมิร์ซและเพิ่มป้ายกำกับขั้นตอนของช่องทางการชำระเงินแล้ว ดังนี้ 1. รายละเอียดการชำระเงิน และ 2. รายละเอียดการจัดส่ง
ภาพที่ 2: การตั้งค่าอีคอมเมิร์ซ - กระบวนการชำระเงิน

ขั้นตอนที่ 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');