Передача событий
- Отправка и обработка данных
- Отчеты по параметрам
Большинство данных о посещениях собирается счетчиком Яндекс Метрики автоматически. Однако, часто возникает необходимость дополнения собранных данных собственными. Например, интерес может представлять статистика по заказам определенных товаров или информация о действиях авторизованных пользователей.
Яндекс Метрика позволяет связать с визитом произвольный набор данных, называемых параметрами события. Эти данные могут быть отображены в отчетах, а также использоваться в условиях группировки и сегментации.
Параметры событий передаются в хранилище счетчика с помощью JavaScript API. Отправка данных может производиться либо во время инициализации счетчика, либо в произвольный момент времени до истечения тайм-аута визита.
При инициализации счетчика параметры событий указываются в параметре params.
Для передачи параметров событий во время просмотра посетителем сайта используется метод params либо необязательный аргумент методов extLink, file, hit, reachGoal.
Параметры событий передаются в виде объектов или массивов объектов.
Отправка и обработка данных
Данные передаются Яндекс Метрике в виде JavaScript-объектов.
Запрос данных, отправляемых в Метрику может содержать не более 8 КБ (8 192 символов). При передаче иерархической структуры данных в отчетах Яндекс Метрики отобразится до 10 уровней вложенности. Если в рамках одного визита был отправлен один параметр с разными значениями, то в Метрике отобразятся все значения. При этом стоит учитывать, что в одном визите можно передать до 512 параметров. Подробнее см. в разделе Ограничения.
Значение поля обрабатывается следующим образом в зависимости от своего типа:
- объект — для каждого ключа объекта создается ветвь дерева, и для каждого значения алгоритм вызывается рекурсивно;
- строка — вычисляется количество случаев, когда встречается каждое различное значение строки;
- число — вычисляется суммарное и среднее значение всех чисел;
- массив — создается ветвь дерева [Параметры], вычисляется количество случаев, когда значение является массивом, и алгоритм вызывается рекурсивно для каждого элемента массива;
- true, false или null — вычисляется количество случаев, когда встречается каждое такое значение.
Пример передаваемых данных:
// Пример передачи объекта. Максимальная вложенность – 10 уровней
ym(XXXXXX, "params", {
level1_1: {
level2_1: {
level3_1: "example1" ,
level3_2: "example2",
},
...
level2_2: "example3"
}
})
Где:
- XXXXXX — номер счетчика;
- level1_1, level1_2, level2_1 — структура параметров событий;
- example1, example2, example3 — значения для параметров.
Больше примеров — в разделе Примеры отправки событий.