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

במדריך הזה נסביר איך למדוד תקופות זמן באמצעות 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. אתם אחראים לכתוב קוד כדי לתעד את פרק הזמן הזה.

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

רוב הדפדפנים המודרניים תומכים ב-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 תעבד על סמך הספירה היומית הממוצעת של צפיות בדף.