บางครั้งการรับและการตั้งค่าข้อมูลในช่องในอุปกรณ์ติดตามจำเป็นต้องมีการอ้างอิงไปยังออบเจ็กต์ตัวติดตาม เนื่องจากคำสั่งที่เพิ่มลงในคิวคำสั่ง ga()
จะทำงานแบบไม่พร้อมกันและไม่แสดงผลค่า และเนื่องจากโดยทั่วไปตัวติดตามมักจะสร้างโดยใช้คำสั่ง create
การได้รับการอ้างอิงไปยังออบเจ็กต์ตัวติดตามจำเป็นต้องรอจนกว่าคำสั่ง create
จะทำงาน ซึ่งทำได้ผ่านโค้ดเรียกกลับที่พร้อม
โค้ดเรียกกลับที่พร้อม
โค้ดเรียกกลับที่พร้อมใช้งานคือฟังก์ชันที่คุณเพิ่มลงในคิวคำสั่ง ga()
ได้ ระบบจะเรียกใช้ฟังก์ชันนี้ทันทีที่ไลบรารี analytics.js โหลดเสร็จสมบูรณ์ และคำสั่งก่อนหน้าทั้งหมดที่เพิ่มไว้ในคิวได้เริ่มทำงานแล้ว
เนื่องจากคำสั่งทั้งหมดลงในคิวจะดำเนินการตามลำดับ การเพิ่มโค้ดเรียกกลับที่พร้อมใช้งานลงในคิวหลังจากเพิ่มคำสั่ง create
จะทำให้ระบบเรียกใช้โค้ดเรียกกลับที่พร้อมใช้งานหลังจากสร้างเครื่องมือติดตามแล้ว หากมีการสร้างเครื่องมือติดตามเริ่มต้นเมื่อมีการเรียกใช้โค้ดเรียกกลับที่พร้อมใช้งาน ระบบจะส่งแท็กดังกล่าวเป็นอาร์กิวเมนต์แรก (และเท่านั้น) ของโค้ดเรียกกลับ
โค้ดต่อไปนี้แสดงวิธีเข้าถึงออบเจ็กต์ตัวติดตามเริ่มต้นและบันทึกลงในคอนโซล
ga('create', 'UA-XXXXX-Y', 'auto');
ga(function(tracker) {
// Logs the tracker created above to the console.
console.log(tracker);
});
การรับตัวติดตามผ่านเมธอด ga Object
หากไม่ได้ใช้ตัวติดตามเริ่มต้นหรือมีอุปกรณ์ติดตามมากกว่า 1 รายการในหน้า คุณจะเข้าถึงอุปกรณ์ติดตามเหล่านั้นได้โดยใช้เมธอดออบเจ็กต์ ga
แบบใดแบบหนึ่ง
เมื่อไลบรารี analytics.js โหลดสมบูรณ์แล้ว จะมีการเพิ่มเมธอดเพิ่มเติมลงในออบเจ็กต์ ga
โดยใช้ 2 ใน 3 วิธีดังกล่าว ได้แก่ getByName
และ getAll
เพื่อเข้าถึงออบเจ็กต์ตัวติดตาม
getByName
หากทราบชื่ออุปกรณ์ติดตามที่ต้องการเข้าถึง คุณสามารถทำได้โดยใช้เมธอด getByName
ดังนี้
ga('create', 'UA-XXXXX-Y', 'auto', 'myTracker');
ga(function() {
// Logs the "myTracker" tracker object to the console.
console.log(ga.getByName('myTracker'));
});
getAll
หากต้องการรับอาร์เรย์ของเครื่องมือติดตามที่สร้างขึ้นทั้งหมด ให้ใช้เมธอด getAll
ดังนี้
ga('create', 'UA-XXXXX-Y', 'auto', 'tracker1');
ga('create', 'UA-XXXXX-Z', 'auto', 'tracker2');
ga(function() {
// Logs an array of all tracker objects.
console.log(ga.getAll());
});
กำลังรับข้อมูลที่จัดเก็บไว้ในอุปกรณ์ติดตาม
เมื่อมีการอ้างอิงไปยังออบเจ็กต์เครื่องมือติดตามแล้ว คุณจะใช้เมธอด get
ของออบเจ็กต์ดังกล่าวเพื่อเข้าถึงค่าของช่องใดก็ได้ที่จัดเก็บไว้ในอุปกรณ์ติดตามอยู่ในปัจจุบัน
ga('create', 'UA-XXXXX-Y', 'auto');
ga(function(tracker) {
// Logs the trackers name.
// (Note: default trackers are given the name "t0")
console.log(tracker.get('name'));
// Logs the client ID for the current user.
console.log(tracker.get('clientId'));
// Logs the URL of the referring site (if available).
console.log(tracker.get('referrer'));
});
อัปเดตข้อมูล
คุณอัปเดตออบเจ็กต์ตัวติดตามได้โดยใช้เมธอด set
คุณจะเรียกใช้เมธอด set
ของเครื่องมือติดตามในออบเจ็กต์ตัวติดตามได้ด้วยตัวเอง หรือด้วยการเพิ่มคำสั่ง set
ลงในคิวคำสั่ง ga()
เนื่องจากการรับการอ้างอิงไปยังออบเจ็กต์เครื่องมือติดตามจะต้องใช้โค้ดเรียกกลับที่พร้อมใช้งาน เราจึงแนะนำให้ใช้คิวคำสั่ง ga()
ในการอัปเดตเครื่องมือติดตาม
คิวคำสั่ง ga()
คุณจะเรียกใช้คําสั่ง set
ได้ 2 วิธี ได้แก่ โดยการส่งพารามิเตอร์ 2 รายการ ได้แก่ ฟิลด์และค่าที่สอดคล้องกัน หรือส่งออบเจ็กต์ของคู่ฟิลด์/ค่า
ตัวอย่างต่อไปนี้ตั้งค่าช่อง page
เป็น '/about'
ในเครื่องมือติดตามเริ่มต้น
ga('set', 'page', '/about');
ตัวอย่างนี้ตั้งค่าช่อง page
และ title
พร้อมกัน
ga('set', {
page: '/about',
title: 'About Us'
});
การใช้ตัวติดตามที่มีชื่อ
หากใช้เครื่องมือติดตามที่มีชื่อแทนที่จะเป็นเครื่องมือติดตามเริ่มต้น คุณสามารถส่งชื่ออุปกรณ์ติดตามในสตริงคำสั่งได้
การเรียกต่อไปนี้ตั้งค่าช่อง page
ในเครื่องมือติดตามชื่อ "myTracker"
ga('myTracker.set', 'page', '/about');
ในออบเจ็กต์ตัวติดตามเอง
หากมีการอ้างอิงไปยังออบเจ็กต์เครื่องมือติดตาม คุณจะเรียกใช้เมธอด set
ของเครื่องมือติดตามนั้นได้โดยตรง โดยทำดังนี้
ga(function(tracker) {
tracker.set('page', '/about');
});
ไวยากรณ์เครื่องหมายและ
ช่องเครื่องมือติดตามมักจะรับและตั้งค่าโดยใช้ชื่อช่อง (โปรดดูข้อมูลอ้างอิงช่องสำหรับรายการช่อง analytics.js ทั้งหมดและชื่อช่อง)
อีกทางเลือกหนึ่งในการรับและตั้งค่าช่องคือ การกล่าวถึงช่องด้วยชื่อชื่อพารามิเตอร์ Measurement Protocol ที่ตรงกัน
ตัวอย่างเช่น นิพจน์ console.log
2 รายการต่อไปนี้จะบันทึกชื่อเอกสารไปยังคอนโซล
ga(function(tracker) {
// Gets the title using the analytics.js field name.
console.log(tracker.get('title'));
// Gets the title using the measurement protocol
// parameter name, prefixed with an ampersand.
console.log(tracker.get('&dt'));
});
โดยทั่วไป เราไม่แนะนำให้ใช้ไวยากรณ์เครื่องหมายแอมเพอร์แซนด์ และควรใช้ต่อเมื่อไม่มีชื่อช่อง analytics.js สำหรับพารามิเตอร์ Measurement Protocol เท่านั้น (ปัญหานี้อาจเกิดขึ้นได้หากมีการเพิ่มฟีเจอร์ใหม่ลงใน Measurement Protocol ก่อนที่จะติดตั้งใช้งานใน analytics.js)
ขั้นตอนถัดไป
เมื่อทราบถึงวิธีสร้างเครื่องมือติดตามและอัปเดตข้อมูลที่จัดเก็บไว้ในอุปกรณ์ดังกล่าวแล้ว ขั้นตอนต่อไปคือการเรียนรู้วิธีส่งข้อมูลดังกล่าวไปยัง Google Analytics เพื่อประมวลผล