קבלה והגדרה של נתוני שדות

לפעמים צריך שתהיה הפניה לאובייקט המעקב עצמו כדי לקבל ולהגדיר את נתוני השדות במכשיר מעקב. מכיוון שפקודות שנוספו לתור הפקודות של ga() פועלות באופן אסינכרוני ולא מחזירות ערך, ומכיוון שכלי מעקב נוצרים בדרך כלל באמצעות הפקודה create, קבלת הפניה לאובייקט מעקב מחייבת המתנה עד לאחר ביצוע הפקודה create. אפשר לעשות זאת דרך ההתקשרות החוזרת המוכנות.

הקריאה החוזרת (callback)

הפונקציה Ready callback היא פונקציה שאפשר להוסיף לתור הפקודות ga(). הפונקציה תופעל ברגע שספריית analytics.js נטענת במלואה, וכל הפקודות הקודמות שנוספו לתור בוצעו.

מכיוון שכל הפקודות לתור מתבצעות לפי הסדר, הוספת קריאה חוזרת (callback) מוכנה לתור אחרי הוספה של פקודת create תבטיח שהקריאה החוזרת המוכנה מראש תתבצע אחרי שמכשיר המעקב נוצר. אם נוצר מכשיר מעקב שמוגדר כברירת מחדל כשמופעלת קריאה חוזרת (callback) מוכנה, הוא מועבר כארגומנט הראשון (והבלבד) של הקריאה החוזרת.

הקוד הבא מראה איך לגשת לאובייקט המעקב שמוגדר כברירת מחדל ולרשום אותו במסוף:

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

ga(function(tracker) {
  // Logs the tracker created above to the console.
  console.log(tracker);
});

קבלת מכשירי מעקב באמצעות שיטות אובייקט ga

אם אתם לא משתמשים במכשיר מעקב שמוגדר כברירת מחדל, או אם יש לכם יותר ממכשיר מעקב אחד בדף, אתם יכולים לגשת לכלי המעקב האלה באחת משיטות המדידה של ga.

אחרי שספריית analytics.js נטענת במלואה, היא מוסיפה שיטות לאובייקט ga עצמו. שתי השיטות האלה, 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());
});

קבלת נתונים שמאוחסנים במכשיר מעקב

כשיש לכם הפניה לאובייקט מעקב, אתם יכולים להשתמש ב-method 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().

כדי לקבל הפניה לאובייקט מעקב צריך להשתמש בקריאה חוזרת (callback) מוכנה, ולכן מומלץ לעדכן מכשיר מעקב באמצעות תור הפקודות ga().

תור הפקודות של ga()

אפשר להפעיל את הפקודה set בשתי דרכים: על ידי העברת שני פרמטרים, שדה והערך התואם שלו, או על ידי העברת אובייקט של צמדים של שדה/ערך.

בדוגמה הבאה השדה 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 מתעדים את כותרת המסמך במסוף:

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 לעיבוד.