วิธีการทํางานของ analytics.js

เกือบทุกสิ่งที่จำเป็นในการวัดด้วย analytics.js สามารถทำได้โดยใช้คิวคำสั่ง ga() คู่มือนี้จะอธิบายว่าคิวคำสั่งคืออะไร ทำงานอย่างไร และวิธีใช้คำสั่งเพื่อวัดการโต้ตอบของผู้ใช้

คิวคำสั่ง ga

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

ใน JavaScript ฟังก์ชันก็เป็นออบเจ็กต์เช่นกัน ซึ่งหมายความว่ามีพร็อพเพอร์ตี้ได้ แท็ก Google Analytics กำหนดพร็อพเพอร์ตี้ q ในออบเจ็กต์ฟังก์ชัน ga ว่าเป็นอาร์เรย์ว่าง ก่อนที่จะโหลดไลบรารี analytics.js การเรียกฟังก์ชัน ga() จะเพิ่มรายการอาร์กิวเมนต์ที่ส่งผ่านไปยังฟังก์ชัน ga() ต่อท้ายอาร์เรย์ q

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

console.log(ga.q);

// Outputs the following:
// [
//   ['create', 'UA-XXXXX-Y', 'auto'],
//   ['send', 'pageview']
// ]

เมื่อโหลดไลบรารี analytics.js แล้ว ระบบจะตรวจสอบเนื้อหาของอาร์เรย์ ga.q และเรียกใช้แต่ละคำสั่งตามลำดับ หลังจากนั้น ระบบจะกำหนดฟังก์ชัน ga() ใหม่ ดังนั้นการเรียกใช้ครั้งต่อๆ ไปทั้งหมดจะทำงานทันที

รูปแบบนี้จะช่วยให้นักพัฒนาซอฟต์แวร์ใช้คิวคำสั่ง ga() ได้โดยไม่ต้องกังวลว่าไลบรารี analytics.js จะโหลดเสร็จหรือไม่ โดยมีอินเทอร์เฟซที่เรียบง่ายและมีหน้าตาแบบซิงโครนัส ซึ่งตัดความซับซ้อนส่วนใหญ่ของโค้ดอะซิงโครนัสออกไป

การเพิ่มคำสั่งลงในคิว

การเรียกไปยังคิวคำสั่ง ga() ทั้งหมดจะใช้ลายเซ็นเดียวกัน พารามิเตอร์แรกคือ "command" เป็นสตริงที่ระบุเมธอด analytics.js ที่เฉพาะเจาะจง พารามิเตอร์เพิ่มเติมใดๆ คืออาร์กิวเมนต์ที่ส่งไปยังเมธอดนั้น

เมธอดที่คำสั่งหนึ่งๆ อ้างอิงถึงอาจเป็นเมธอดส่วนกลาง เช่น create, เมธอดในออบเจ็กต์ ga หรือจะเป็นเมธอดอินสแตนซ์ในออบเจ็กต์เครื่องมือติดตาม เช่น send ก็ได้ หากคิวคำสั่ง ga() ได้รับคำสั่งที่ไม่รู้จัก ก็จะเพิกเฉยต่อคำสั่งนั้นไป ทำให้การเรียกใช้ฟังก์ชัน ga() ปลอดภัยมากเนื่องจากแทบจะไม่ทำให้เกิดข้อผิดพลาดเลย

ดูรายการคำสั่งทั้งหมดที่สามารถดำเนินการผ่านคิวคำสั่งได้ที่หัวข้อข้อมูลอ้างอิงคิวคำสั่ง ga()

พารามิเตอร์คำสั่ง

คำสั่ง analytics.js ส่วนใหญ่ (และวิธีการที่เกี่ยวข้อง) ยอมรับพารามิเตอร์ในรูปแบบต่างๆ หลายรูปแบบ ซึ่งทําได้เพื่อความสะดวกในการส่งผ่านช่องที่ใช้กันทั่วไปไปยังวิธีการบางวิธีได้ง่ายขึ้น

มาดูตัวอย่างคำสั่ง 2 รายการในแท็ก Google Analytics ดังนี้

ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');

ในคำสั่งแรก create จะยอมรับช่อง trackingId, cookieDomain และ name เพื่อจะระบุเป็นพารามิเตอร์ที่ 2, 3 และ 4 ตามลำดับ (ไม่บังคับ) คำสั่ง send ยอมรับพารามิเตอร์ hitType ที่ 2 ที่ไม่บังคับ

คำสั่งทั้งหมดยอมรับพารามิเตอร์ fieldsObject สุดท้ายที่ใช้ระบุช่องใดก็ได้เช่นกัน เช่น คำสั่ง 2 ข้อข้างต้นในแท็กอาจเขียนใหม่เป็น

ga('create', {
  trackingId: 'UA-XXXXX-Y',
  cookieDomain: 'auto'
});
ga('send', {
  hitType: 'pageview'
});

ไปที่ข้อมูลอ้างอิงคิวคำสั่ง ga() เพื่อดูรายการพารามิเตอร์ที่ไม่บังคับซึ่งอนุญาตสำหรับแต่ละคำสั่ง

ขั้นตอนถัดไป

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