Параметры визитов

Совет. Для работы с JavaScript API необходимы навыки работы с HTML и JavaScript. Если вы не обладаете такими навыками, обратитесь к разработчику или вебмастеру вашего сайта.

Большинство данных о посещениях собирается счетчиком Яндекс.Метрики автоматически. Однако, часто возникает необходимость дополнения собранных данных собственными. Например, интерес может представлять статистика по заказам определенных товаров или информация о действиях авторизованных пользователей.

Яндекс.Метрика позволяет связать с визитом произвольный набор данных, называемых параметрами визита. Эти данные могут быть отображены в отчетах, а также использоваться в условиях группировки и сегментации.

  1. Передача данных
  2. Обработка переданных данных
  3. Примеры передачи параметров

Передача данных

Параметры визитов передаются в хранилище счетчика с помощью JavaScript API. Отправка данных может производиться либо во время инициализации счетчика, либо в произвольный момент времени до истечения тайм-аута визита.

При инициализации счетчика параметры визита указываются в параметре params.

Для передачи параметров визита во время просмотра посетителем сайта используется метод params либо необязательный аргумент методов extLink, file, hit, reachGoal.

Параметры визитов передаются в виде JavaScript-объекта или массива.

Внимание. Часть названий полей зарезервирована для передачи данных электронной коммерции. Не используйте эти названия для передачи параметров визитов. Не передавайте свои параметры с зарезервированными.

В одном визите можно передать до 1000 параметров. При передаче иерархической структуры данных в отчетах Яндекс.Метрики отобразится до 10 уровней вложенности. Если в рамках одного визита был отправлен один параметр с разными значениями, то в Метрике отобразятся все значения.



Обработка переданных данных

Переданные Яндекс.Метрике в виде JavaScript-объектов данные обрабатываются следующим образом.

Название поля и уровень его вложенности интерпретируются как имя параметра и его уровень соответственно. Значение поля обрабатывается следующим образом в зависимости от своего типа:

  • объект — для каждого ключа объекта создается ветвь дерева, и для каждого значения алгоритм вызывается рекурсивно;
  • строка — вычисляется количество случаев, когда встречается каждое различное значение строки;
  • число — вычисляется суммарное и среднее значение всех чисел;
  • массив — создается ветвь дерева [Параметры], вычисляется количество случаев, когда значение является массивом, и алгоритм вызывается рекурсивно для каждого элемента массива;
  • true, false или null — вычисляется количество случаев, когда встречается каждое такое значение.

Параметры передаются в Метрику как группировки. Показатели, которые вычисляются при обработке данных, являются метриками. Чтобы смотреть статистику по переданным параметрам визитов, используйте отчет Параметры визитов. Также параметры можно использовать в качестве условий при создании сегментов в других отчетах Яндекс.Метрики.

Примеры передачи параметров

Передача показателей посещаемости
Допустим, на вашем сайте размещаются различные статьи, и вы хотите узнать, какие авторы приводят больше всего аудитории на сайт. Для этого в параметрах вы можете отправить данные о просмотре конкретного автора:
<script type="text/javascript">
window.yaParams = { "Author": 123 };
ym(XXXXXX, 'params', window.yaParams||{});
</script>
Или, например, вы хотите узнать, какую категорию статей больше всего просматривают посетители. В параметрах вы можете передать данные о ее просмотре:
<script type="text/javascript">
window.yaParams = { "Category": 123 };
ym(XXXXXX, 'params', window.yaParams||{});
</script>
Передача иерархической структуры данных

Допустим, необходимо передать данные и отобразить их в отчете в древовидном списке.

<script type="text/javascript">
window.yaParams = {
    "level1":{"level2":["level3_1","level3_2"]}}
...
ym(XXXXXX, 'params', window.yaParams||{});
</script>
АВ-тестирование

Допустим, необходимо определить, как цвет кнопки Купить влияет на конверсию по цели «Переход в корзину».

Если пользователю показывается красная кнопка, определяем параметр:

window.yaParams = {ab_test: "red"};

Если пользователю показывается зеленая кнопка, определяем параметр:

window.yaParams = {ab_test: "green"};

Передаем этот параметр любым удобным способом. Например, при инициализации счетчика на страницах с товаром или с помощью метода reachGoal, вызываемого при нажатии кнопки Купить.

После этого в интерфейсе Яндекс.Метрики появится возможность использовать значения параметра ab_test для выборки соответствующих данных.

Отчет по авторизованным и не авторизованным посетителям

Чтобы проанализировать отличие поведения авторизованных посетителей сайта от не авторизованных, используйте следующий пример кода:

<script type="text/javascript">
window.yaParams = {'Логин': '[% вставка логина посетителя из шаблонизатора сайта %]' || 'Гость'};
ym(XXXXXX, 'params', window.yaParams||{});
</script>

где XXXXXX — номер счетчика.

Передача дополнительного параметра при достижении цели

Например, если на всех страницах сайта размещена одна форма, можно отследить, с какой страницы ее заполняют чаще. Для этого нужно создать одну цель типа JavaScript-событие (отправка формы) и настроить передачу адреса страницы.

Браузер посетителя знает и хранит в параметре document.location.href информацию о том, на какой странице в данный момент находится посетитель, поэтому можно получить эту информацию и передать в Метрику в момент достижения цели:
ym(XXXXXX, 'reachGoal', 'TARGET', {URL: document.location.href})
где
  • XXXXXX — номер счетчика;
  • TARGET — идентификатор цели «JavaScript-событие»;
  • URL — параметр визита первого уровня, можно задать произвольное название;
  • document.location.href — параметр визита второго уровня, из которого будет передан адрес страницы, на которой посетитель совершил целевое действие.

Если вы хотите отслеживать разные действия, например, нажатие на два разных номера телефона, то создайте две цели (для обоих номеров) и передавайте с каждой свой параметр document.location.href.

ym(XXXXXX, 'reachGoal', 'TARGET', {URL: document.location.href})
...
ym(XXXXXX, 'reachGoal', 'TARGET2', {URL2: document.location.href})