زمان بندی کاربر

این راهنما نحوه اندازه گیری دوره های زمانی را با استفاده از analytics.js شرح می دهد.

بررسی اجمالی

مطالعات نشان داده اند که کاهش زمان بارگذاری صفحه، تجربه کلی کاربر از یک سایت را بهبود می بخشد. Google Analytics تعدادی گزارش قدرتمند دارد که به طور خودکار زمان بارگذاری صفحه را اندازه گیری و گزارش می دهد. با این حال، اندازه گیری اطلاعات زمان بندی سفارشی برای اندازه گیری عملکرد خاص سایت شما نیز امکان پذیر است.

زمان‌بندی کاربر به توسعه‌دهندگان اجازه می‌دهد تا با استفاده از کتابخانه analytics.js دوره‌های زمانی را اندازه‌گیری کنند. این به ویژه برای توسعه دهندگان برای اندازه گیری تاخیر یا زمان صرف شده برای درخواست های AJAX و بارگیری منابع وب مفید است.

پیاده سازی

بازدیدهای زمان بندی کاربر را می توان با استفاده از دستور send و تعیین ضربه نوع timing ارسال کرد. دستور send دارای امضای زیر برای نوع ضربه timing است:

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

فیلدهای زمان بندی کاربر

جدول زیر فیلدهای زمان بندی کاربر را خلاصه می کند:

نام زمینه نوع ارزش ضروری شرح
timingCategory متن آره رشته ای برای دسته بندی همه متغیرهای زمان بندی کاربر به گروه های منطقی (به عنوان مثال 'JS Dependencies' ).
timingVar متن آره رشته ای برای شناسایی متغیر در حال ضبط (مثلا 'load' ).
timingValue عدد صحیح آره تعداد میلی ثانیه در زمان سپری شده برای گزارش به Google Analytics (مثلا 20 ).
timingLabel متن نه رشته‌ای که می‌تواند برای افزودن انعطاف‌پذیری در تجسم زمان‌بندی کاربر در گزارش‌ها استفاده شود (مثلاً 'Google CDN' ).

مثال ها:

دستور زیر یک ضربه زمان بندی کاربر را به Google Analytics ارسال می کند که نشان می دهد 3549 میلی ثانیه طول کشیده است تا صفحه وب فعلی تمام وابستگی های خارجی جاوا اسکریپت خود را بارگیری کند:

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 - 1000 100
1000 - 100000 10٪ از کل تعداد بازدید از صفحه
100000 - 1000000 10000
1,000,000+ 1٪ از کل تعداد بازدید از صفحه

محدود کردن تعداد بازدیدهای ارسالی

برای جلوگیری از ارسال بازدیدهای Google Analytics که پردازش نمی‌شوند، analytics.js به شما امکان می‌دهد درصد بازدیدهایی که از طریق گزینه‌های پیکربندی sampleRate و siteSpeedSampleRate ارسال می‌شوند را کنترل کنید. به طور پیش فرض این فیلدها به ترتیب روی 100% و 1% تنظیم شده اند. می‌توانید این مقادیر را تنظیم کنید تا تعداد بازدیدهای زمانی را که Google Analytics بر اساس میانگین تعداد بازدید از صفحه روزانه شما پردازش می‌کند، به طور تقریبی‌تر تنظیم کنید.