การรับและการตั้งค่าข้อมูลฟิลด์

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