การวัดอีคอมเมิร์ซ

คู่มือนี้อธิบายวิธีรวบรวมข้อมูลอีคอมเมิร์ซโดยใช้ analytics.js

ภาพรวม

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

ข้อมูลอีคอมเมิร์ซที่คุณส่งได้โดยใช้ analytics.js มีอยู่ 2 ประเภท ได้แก่ ข้อมูล transaction และ item

ข้อมูลธุรกรรม

ธุรกรรม 1 รายการจะหมายถึงธุรกรรมทั้งหมดที่เกิดขึ้นในเว็บไซต์ และมีค่าต่อไปนี้

คีย์ ประเภทค่า จำเป็น คำอธิบาย
id ข้อความ มี รหัสธุรกรรม (เช่น 1234)
affiliation ข้อความ ไม่ได้ ร้านค้าหรือพาร์ทเนอร์ที่มีการทำธุรกรรมนี้ (เช่น Acme Clothing)
revenue currency ไม่ได้ ระบุรายได้ทั้งหมดหรือยอดรวมทั้งหมดที่เกี่ยวข้องกับธุรกรรม (เช่น 11.99) ค่านี้อาจรวมค่าจัดส่ง ค่าภาษี หรือการปรับเปลี่ยนอื่นๆ ในรายได้ทั้งหมดที่คุณต้องการรวมไว้เพื่อเป็นส่วนหนึ่งของการคำนวณรายได้
shipping currency ไม่ได้ ระบุค่าจัดส่งทั้งหมดของธุรกรรม (เช่น 5)
tax currency ไม่ได้ ระบุยอดรวมค่าภาษีของธุรกรรม (เช่น 1.29)

ข้อมูลรายการ

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

คีย์ ประเภทค่า จำเป็น คำอธิบาย
id ข้อความ มี รหัสธุรกรรม รหัสนี้คือสิ่งที่ลิงก์รายการกับธุรกรรมที่รายการดังกล่าวอยู่ (เช่น 1234)
name ข้อความ มี ชื่อสินค้า (เช่น กระต่ายน้อยสีชมพู)
sku ข้อความ ไม่ได้ ระบุ SKU หรือรหัสผลิตภัณฑ์ (เช่น SKU47)
category ข้อความ ไม่ได้ หมวดหมู่ของสินค้า (เช่น ของเล่นสำหรับงานเลี้ยง)
price currency ไม่ได้ แต่ละรายการ หน่วย และราคาของสินค้าแต่ละรายการ (เช่น 11.99)
quantity จำนวนเต็ม ไม่ได้ จำนวนหน่วยที่ซื้อในธุรกรรม หากส่งค่าที่ไม่ใช่จำนวนเต็มลงในช่องนี้ (เช่น 1.5) ระบบจะปัดเศษเป็นค่าจำนวนเต็มที่ใกล้เคียงที่สุด

การใช้งาน

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

โหลดปลั๊กอินอีคอมเมิร์ซ

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

หากต้องการโหลดปลั๊กอินอีคอมเมิร์ซ ให้ใช้คำสั่งต่อไปนี้

ga('require', 'ecommerce');

คำสั่งนี้ต้องเกิดขึ้นหลังจากที่คุณสร้างออบเจ็กต์เครื่องมือติดตามและก่อนที่จะใช้ฟังก์ชันการทำงานสำหรับอีคอมเมิร์ซโดยเฉพาะ

เมื่อโหลดแล้ว ระบบจะเพิ่มคำสั่งใหม่ 2-3 รายการเฉพาะสำหรับการวัดอีคอมเมิร์ซลงในเครื่องมือติดตามเริ่มต้น

การเพิ่มธุรกรรม

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

คุณเพิ่มข้อมูลธุรกรรมลงในรถเข็นช็อปปิ้งโดยใช้คำสั่ง ecommerce:addTransaction ดังนี้

ga('ecommerce:addTransaction', {
  'id': '1234',                     // Transaction ID. Required.
  'affiliation': 'Acme Clothing',   // Affiliation or store name.
  'revenue': '11.99',               // Grand Total.
  'shipping': '5',                  // Shipping.
  'tax': '1.29'                     // Tax.
});

การเพิ่มรายการ

จากนั้นหากต้องการเพิ่มสินค้าลงในรถเข็นช็อปปิ้ง ให้ใช้คำสั่ง ecommerce:addItem ดังนี้

ga('ecommerce:addItem', {
  'id': '1234',                     // Transaction ID. Required.
  'name': 'Fluffy Pink Bunnies',    // Product name. Required.
  'sku': 'DD23444',                 // SKU/code.
  'category': 'Party Toys',         // Category or variation.
  'price': '11.99',                 // Unit price.
  'quantity': '1'                   // Quantity.
});

กำลังส่งข้อมูล

สุดท้าย เมื่อกำหนดค่าข้อมูลอีคอมเมิร์ซทั้งหมดในรถเข็นช็อปปิ้งแล้ว ให้ส่งข้อมูลไปยัง Google Analytics โดยใช้คำสั่ง ecommerce:send ดังนี้

ga('ecommerce:send');

คำสั่งนี้จะประมวลผลธุรกรรมและสินค้าแต่ละรายการในรถเข็นช็อปปิ้ง แล้วส่งข้อมูลที่เกี่ยวข้องไปยัง Google Analytics เมื่อดำเนินการเสร็จแล้ว ระบบจะล้างรถเข็นช็อปปิ้งและพร้อมส่งข้อมูลสำหรับธุรกรรมใหม่ หากมีการออกคำสั่ง ecommerce:send ก่อนหน้า ระบบจะส่งเฉพาะธุรกรรมและข้อมูลสินค้าใหม่เท่านั้น

กำลังล้างข้อมูล

หากต้องการล้างรถเข็นช็อปปิ้งของธุรกรรมและสินค้าทั้งหมดด้วยตนเอง ให้ใช้คำสั่งต่อไปนี้

ga('ecommerce:clear');

การระบุสกุลเงินท้องถิ่น

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

ต้องระบุสกุลเงินท้องถิ่นในมาตรฐาน ISO 4217 อ่านเอกสารข้อมูลอ้างอิงรหัสสกุลเงินเพื่อดูรายการสกุลเงินทั้งหมดที่รองรับ

หากต้องการตั้งค่าสกุลเงินท้องถิ่นของธุรกรรมบางรายการและรายการทั้งหมดนั้น คุณเพียงต้องระบุสกุลเงินของธุรกรรมดังกล่าวเท่านั้น ดังนี้

ga('ecommerce:addTransaction', {
  'id': '1234',
  'affiliation': 'Acme Clothing',
  'revenue': '11.99',
  'shipping': '5',
  'tax': '1.29',
  'currency': 'EUR'  // local currency code.
});

สุดท้าย คุณยังระบุสกุลเงินต่อไอเทมได้โดยทำดังนี้

  ga('ecommerce:addItem', {
    'id': '1234',
    'name': 'Fluffy Pink Bunnies',
    'sku': 'DD23444',
    'category': 'Party Toys',
    'price': '11.99',
    'quantity': '1',
    'currency': 'GBP' // local currency code.
  });

การสนับสนุนหลายตัวติดตาม

นอกจากนี้ คุณยังใช้ปลั๊กอินอีคอมเมิร์ซได้ด้วยหากติดตั้งใช้งานเครื่องมือติดตาม (ที่มีชื่อ) หลายรายการในหน้าเว็บ ปลั๊กอินจะทำงานเหมือนกับตัวติดตามเริ่มต้นทุกประการ ยกเว้นรูปแบบคือ trackerName.pluginName:method ตัวอย่างเช่น หากคุณสร้างเครื่องมือติดตามชื่อ myTracker ดังนี้

ga('create', 'UA-XXXXX-Y', 'auto', {'name': 'myTracker'});

จากนั้นโหลดปลั๊กอินอีคอมเมิร์ซสำหรับเครื่องมือติดตามที่มีชื่อนั้นโดยใช้

ga('myTracker.require', 'ecommerce');

หากต้องการส่งธุรกรรม คุณสร้างออบเจ็กต์ธุรกรรมและส่งไปยังเครื่องมือติดตามที่มีชื่อได้ดังนี้

var transaction = {
  'id': '1234',                    // Transaction ID.
  'affiliation': 'Acme Clothing',  // Affiliation or store name.
  'revenue': '11.99',              // Grand Total.
  'shipping': '5' ,                // Shipping.
  'tax': '1.29'                    // Tax.
};

ga('myTracker.ecommerce:addTransaction', transaction);

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

สุดท้าย คุณต้องส่งข้อมูลธุรกรรมดังนี้

ga('myTracker.ecommerce:send');

ตัวอย่าง

เว็บไซต์อีคอมเมิร์ซส่วนใหญ่จะทำธุรกรรมบนเซิร์ฟเวอร์ ในขณะที่ไลบรารี analytics.js ส่งข้อมูลไปยัง Google Analytics จากเบราว์เซอร์ ดังนั้นจึงต้องมีการประสานงานระหว่างเซิร์ฟเวอร์และไคลเอ็นต์เล็กน้อย เพื่อให้ส่งข้อมูลอีคอมเมิร์ซไปยัง Google Analytics ได้อย่างถูกต้อง

เว็บไซต์อีคอมเมิร์ซส่วนใหญ่แสดงหน้า "ขอบคุณ" โดยใช้เครื่องมือสร้างเทมเพลตฝั่งเซิร์ฟเวอร์ ในกรณีนี้ คุณจะต้องเพิ่มโค้ดการวัดอีคอมเมิร์ซลงในเทมเพลตฝั่งเซิร์ฟเวอร์และใช้ตรรกะของเซิร์ฟเวอร์เพื่อเขียนค่าข้อมูลอีคอมเมิร์ซไปยังหน้าสุดท้ายในแบบไดนามิก ต่อไปนี้เป็นตัวอย่างว่าจะมีหน้าตาเป็นอย่างไรใน PHP

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

<?php
// Transaction Data
$trans = array('id'=>'1234', 'affiliation'=>'Acme Clothing',
               'revenue'=>'11.99', 'shipping'=>'5', 'tax'=>'1.29');

// List of Items Purchased.
$items = array(
  array('sku'=>'SDFSDF', 'name'=>'Shoes', 'category'=>'Footwear', 'price'=>'100', 'quantity'=>'1'),
  array('sku'=>'123DSW', 'name'=>'Sandals', 'category'=>'Footwear', 'price'=>'87', 'quantity'=>'1'),
  array('sku'=>'UHDF93', 'name'=>'Socks', 'category'=>'Footwear', 'price'=>'5.99', 'quantity'=>'2')
);
?>

ขั้นตอนแรกคือการเขียนตรรกะในการแปลงข้อมูลอีคอมเมิร์ซเป็นสตริง JavaScript ที่ analytics.js ต้องใช้ ดังนี้

<?php
// Function to return the JavaScript representation of a TransactionData object.
function getTransactionJs(&$trans) {
  return <<<HTML
ga('ecommerce:addTransaction', {
  'id': '{$trans['id']}',
  'affiliation': '{$trans['affiliation']}',
  'revenue': '{$trans['revenue']}',
  'shipping': '{$trans['shipping']}',
  'tax': '{$trans['tax']}'
});
HTML;
}

// Function to return the JavaScript representation of an ItemData object.
function getItemJs(&$transId, &$item) {
  return <<<HTML
ga('ecommerce:addItem', {
  'id': '$transId',
  'name': '{$item['name']}',
  'sku': '{$item['sku']}',
  'category': '{$item['category']}',
  'price': '{$item['price']}',
  'quantity': '{$item['quantity']}'
});
HTML;
}
?>

จากนั้นในแท็ก <script> คุณจะเพิ่มตรรกะ PHP เพิ่มเติมเพื่อแสดงข้อมูลธุรกรรมและข้อมูลสินค้าแบบไดนามิก ดังนี้

<!-- Begin HTML -->
<script>
ga('require', 'ecommerce');

<?php
echo getTransactionJs($trans);

foreach ($items as &$item) {
  echo getItemJs($trans['id'], $item);
}
?>

ga('ecommerce:send');
</script>

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

ประเภทสกุลเงิน

คุณสามารถกำหนดค่าประเภทสกุลเงินเริ่มต้นผ่านทางอินเทอร์เฟซการจัดการ เมื่อคุณส่งค่าสกุลเงินโดยใช้ analytics.js ค่าดังกล่าวจะแสดงค่ารวมของสกุลเงิน

คุณใช้จุดทศนิยมเป็นตัวคั่นระหว่างจำนวนเต็มและเศษส่วนของสกุลเงินได้ โดยใช้ทศนิยม 6 ตำแหน่ง ข้อมูลต่อไปนี้ใช้ได้กับช่องสกุลเงิน

1000.000001

เมื่อส่งค่าไปยัง Google Analytics แล้ว ระบบจะนำข้อความทั้งหมดออกจนถึงตัวเลขหลักแรก อักขระ - หรืออักขระ . (ทศนิยม) ดังนั้น

$-55.00

จะกลายเป็น:

-55.00