תזמוני משתמשים

במדריך הזה נסביר איך למדוד תקופות זמן באמצעות analytics.js.

סקירה

מחקרים הראו שקיצור זמן הטעינה של דפים משפר את החוויה הכוללת של משתמשים באתר. ב-Google Analytics יש כמה דוחות מתקדמים שמודדים באופן אוטומטי זמני טעינה של דפים ומדווחים עליהם. עם זאת, ניתן גם למדוד מידע על תזמון מותאם אישית כדי למדוד ביצועים ספציפיים לאתר.

תזמוני משתמש מאפשרים למפתחים למדוד תקופות זמן באמצעות ספריית analytics.js. הוא שימושי במיוחד למפתחים למדידת זמן האחזור, או הזמן שהוקדש, לשליחת בקשות AJAX ולטעינת משאבי אינטרנט.

הטמעה

ניתן לשלוח היטים של תזמוני משתמש באמצעות הפקודה send ולציין hitType של timing. הפקודה send כוללת את החתימה הבאה עבור סוג ההיט timing:

ga('send', 'timing', [timingCategory], [timingVar], [timingValue], [timingLabel], [fieldsObject]);

שדות של תזמוני משתמש

הטבלה הבאה מסכמת את שדות התזמונים של המשתמש:

שם השדה סוג הערך חובה תיאור
timingCategory טקסט כן מחרוזת לסיווג כל משתני התזמון של משתמשים בקבוצות לוגיות (למשל, 'JS Dependencies').
timingVar טקסט כן מחרוזת לזיהוי המשתנה שמתועד (למשל, 'load').
timingValue מספר שלם כן מספר אלפיות השנייה מהזמן שחלף לדיווח ל-Google Analytics (למשל, 20).
timingLabel טקסט no מחרוזת שניתן להשתמש בה כדי לשפר את הגמישות בהצגת תזמוני משתמש בדוחות (למשל, 'Google CDN').

דוגמאות:

הפקודה הבאה שולחת אל Google Analytics היט של תזמון משתמש, ומציינת שנדרשו 3,549 אלפיות השנייה עד שדף האינטרנט הנוכחי יטען את כל יחסי התלות החיצוניים של JavaScript:

ga('send', 'timing', 'JS Dependencies', 'load', 3549);

חשוב לשים לב שכמו בכל הפקודות send, גם השדות שמועברים בפרמטרים של נוחות יכולים להופיע ב-fieldsObject. את הפקודה שלמעלה אפשר לשכתב כך:

ga('send', {
  hitType: 'timing',
  timingCategory: 'JS Dependencies',
  timingVar: 'load',
  timingValue: 3549
});

זמן המדידה

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

הדרך הקלה ביותר לעשות זאת היא ליצור חותמת זמן בתחילת פרק זמן מסוים וליצור חותמת זמן נוספת בסוף התקופה. לאחר מכן אפשר לבחון את ההפרש בין שתי חותמות הזמן כדי לקבל את זמן הפעילות.

רוב הדפדפנים המודרניים תומכים ב-Navigation Timing API, שכולל שיטות באובייקט window.performance למדידת הביצועים של דפי אינטרנט באמצעות נתוני זמן ברזולוציה גבוהה.

בדוגמה הבאה נעשה שימוש בשיטה performance.now(), שמחזירה את משך הזמן שחלף מאז שהדף נטען לראשונה:

// Feature detects Navigation Timing API support.
if (window.performance) {
  // Gets the number of milliseconds since page load
  // (and rounds the result since the value must be an integer).
  var timeSincePageLoad = Math.round(performance.now());

  // Sends the timing hit to Google Analytics.
  ga('send', 'timing', 'JS Dependencies', 'load', timeSincePageLoad);
}

שיקולי דגימה

מערכת Google Analytics תדגום היטים של תזמון במהלך העיבוד כדי להבטיח חלוקה שווה של משאבי המערכת עבור התכונה הזו.

הקצב שבו היטים של תזמון נדגמים נקבע על סמך המספר הכולל של היטים של צפיות בדף שהתקבלו במהלך היום הקודם עבור הנכס. הטבלה הבאה מפרטת איך נקבע תדירות הדגימה של התזמון:

הספירה הכוללת של צפיות בדף (היום הקודם) המספר המקסימלי של היטים של תזמון שיעובדו
0 - 1,000 100
1,000 - 100,000 10% ממספר ההיטים הכולל של צפיות בדף
100,000 - 1,000,000 10,000
יותר מ-1,000,000 1% ממספר ההיטים הכולל של צפיות בדף

הגבלת מספר ההיטים שנשלחים

כדי להימנע משליחת היטים ל-Google Analytics שלא יעובדו, analytics.js מאפשר לכם לשלוט באחוז ההיטים שנשלחים באמצעות אפשרויות ההגדרה sampleRate ו-siteSpeedSampleRate. כברירת מחדל, הערכים בשדות האלה הם 100% ו-1%, בהתאמה. ניתן להתאים את הערכים האלה כדי להעריך בצורה מדויקת יותר את מספר ההיטים לגבי תזמון שמערכת Google Analytics תעבד על סמך הספירה היומית הממוצעת של הצפיות בדף.