Из этого руководства вы узнаете, как измерять время с помощью analytics.js.
Обзор
Исследования показали, что сокращение времени загрузки страниц повышает удобство работы с сайтом. В Google Аналитике есть ряд эффективных отчетов, позволяющих автоматически измерять это время. Также можно отслеживать быстродействие различных элементов вашего сайта.
Данные такого типа собираются с помощью библиотеки analytics.js. Это особенно полезно для оценки времени, которое уходит на выполнение запросов AJAX и загрузку веб-ресурсов (времени задержки).
Реализация
Обращения с информацией о пользовательском времени можно отправлять с помощью команды send
, указывая для параметра hitType значение timing
. Команда send
с типом обращения timing
имеет следующую сигнатуру:
ga('send', 'timing',[timingCategory]
,[timingVar]
,[timingValue]
,[timingLabel]
, [fieldsObject]);
Поля обращений с информацией о пользовательском времени
В приведенной ниже таблице показаны поля, которые используются для измерения пользовательского времени.
Название поля | Тип значения | Обязательное поле | Описание |
---|---|---|---|
timingCategory |
Текст | Да | Строка, которая используется для разбивки всех переменных пользовательского времени на логические группы. Пример: 'JS Dependencies' . |
timingVar |
Текст | Да | Строка, которая используется для идентификации записываемой переменной. Пример: 'load' . |
timingValue |
Целое число | Да | Истекшее время в миллисекундах, которое регистрируется в Google Аналитике. Пример: 20 . |
timingLabel |
Текст | Нет | Строка, которую можно использовать для более подробной визуализации времени в отчетах. Пример: 'Google CDN' . |
Примеры
Приведенная ниже команда отправляет обращение типа timing в Google Аналитику и указывает, что на загрузку всех внешних зависимостей JavaScript ушло 3549 миллисекунд.
ga('send', 'timing', 'JS Dependencies', 'load', 3549);
Обратите внимание, что значения вспомогательных параметров также можно передать с помощью объекта fieldsObject
, как и для остальных команд send
. Указанную выше команду можно записать следующим образом:
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 Аналитика создает выборки обращений по времени, чтобы обеспечить равномерное распределение системных ресурсов.
Коэффициент выборки зависит от общего числа просмотров страниц для ресурса за предыдущий день. Подробные сведения приведены в таблице ниже.
Общее количество просмотров страницы (предыдущий день) | Максимальное количество обрабатываемых обращений |
---|---|
0–1000 | 100 |
1000–100 000 | 10% от общего количества обращений pageview |
100 000–1 000 000 | 10 000 |
Более миллиона | 1% от общего количества обращений pageview |
Ограничение для отправки обращений
Чтобы избежать отправки в Google Аналитику обращений, которые не будут обработаны, analytics.js позволяет контролировать долю отправляемых обращений с помощью параметров sampleRate
и siteSpeedSampleRate
. По умолчанию используются значения 100 % и 1 % соответственно. Вы можете изменить их, чтобы точнее задать количество обращений с данными о времени, которые Google Аналитика будет обрабатывать с учетом среднего числа просмотров страниц в день.