Инициализация счетчика

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

JavaScript-библиотека, отвечающая за работу счетчика, загружается с URL https://mc.yandex.ru/metrika/tag.js.

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

Для создания и управления счетчиком используется метод ym. Он создается в коде загрузки:
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
(window, document,'script','//mc.yandex.ru/metrika/tag.js', 'ym')

Обязательные аргументы ym — номер счетчика и имя вызываемой функции. Также в метод могут передаваться аргументы вызываемой функции. Например, для инициализации счетчика нужно передать номер счетчика, имя функции init и массив ее параметров:

ym(XXXXXX, 'init', {clickmap: true, webvisor: true});

Если вы не хотите передавать в функцию параметры, то инициализация будет выглядеть так:

ym(XXXXXX, 'init', {});

Часть кода, содержащего основные параметры инициализации, формируется на странице Настройка. Полный список параметров инициализации приведен в таблице.

Функции, которые можно вызвать через метод ym, описаны в справочнике методов.

Параметры инициализации счетчика

Имя

Значение по умолчанию

Тип

Описание

accurateTrackBounce

false

Boolean | Number

Точный показатель отказов. Параметр может принимать значения:

  • true — включить точный показатель отказов, событие о неотказе засчитывается через 15000 мс (15 с);
  • false — не включать точный показатель отказов;
  • <N> (целое число) — включить точный показатель отказов, событие о неотказе засчитывается через <N> мс

clickmap

false

Boolean

Признак сбора данных для карты кликов

defer

false

Boolean

Признак отключения автоматической отправки данных при инициализации счетчика

ecommercefalse

Boolean | String | Array

Сбор данных электронной коммерции — Ecommerce.

  • true — включить сбор данных электронной коммерции . Передача данных осуществляется через JavaScript-массив с именем dataLayer в глобальном пространстве имен (window.dataLayer).
  • false — отключить сбор данных электронной коммерции Ecommerce;
  • <objectName> (String) — включить сбор данных электронной коммерции Ecommerce. Передача данных производится через JavaScript-массив с именем <objectName> в глобальном пространстве имен (window.<objectName>).
  • <array> (Array) — включить сбор данных электронной коммерции Ecommerce. Передача данных производится через JavaScript-массив <array>

params

Object | Array

Параметры визита, передаваемые во время инициализации счетчика.

Для передачи параметров визита в произвольный момент времени используется метод params

userParams

Object

Параметры посетителей сайта, передаваемые во время инициализации счетчика.

Для передачи параметров посетителей в произвольный момент времени используется метод userParams

trackHash

false

Boolean

Признак отслеживания хеша в адресной строке браузера

trackLinks

false

Boolean

Признак отслеживания переходов по внешним ссылкам

type

0

Number

Тип счетчика. Для РСЯ равен 1

ut

String

Единственное возможное значение —"noindex", запрет отправки информации о существовании страницы поисковым роботам Яндекса.

Использование данного параметра не гарантирует, что страница вообще не будет проиндексирована. Информация о существовании страницы может быть получена роботом из других источников

webvisor

false

Boolean

Признак использования Вебвизора

triggerEvent

false

Boolean

Признак проверки готовности счетчика

Проверка инициализации счетчика

Определить, готов ли счетчик к работе, можно с помощью специального JavaScript события. При этом необходимо добавить параметр triggerEvent со значением true в код счетчика:
ym(XXXXXX, 'init', {triggerEvent: true});
Для jQuery можно использовать следующий пример кода до момента инициализации счетчика:
jQuery(document).on('yacounterXXXXXXinited', function () {
    console.log('счетчик yaCounterXXXXXX можно использовать');
});

Подключение счетчика с помощью системы управления тегами

Счетчики Яндекс.Метрики допускают подключение с помощью систем управления тегами (альтернативные названия: диспетчеры тегов, контейнеры тегов). Такие системы позволяют хранить весь необходимый HTML/JavaScript-код на внешнем сервере, и подключать его на веб-страницы с помощью небольших фрагментов кода. При этом изменения в подключаемом коде не требуют внесения изменений в код страниц.

Системы управления тегами обычно поддерживают два типа включаемого кода счетчиков: JavaScript и изображение. Яндекс.Метрика поддерживает счетчики обоих типов. Для их подключения с помощью систем управления тегами следует использовать следующий код.

<script src="//mc.yandex.ru/metrika/tag.js" type="text/javascript" async></script>
<script type="text/javascript">
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
(window, document,'script','//mc.yandex.ru/metrika/tag.js', 'ym')

ym(XXXXXX, 'init'[, <параметры инициализации>]);

</script>

Здесь XXXXXX — номер счетчика Метрики.

Собираемые данные могут отличаться в зависимости от типа кода счетчика. Подробно см. раздел Данные, которые собирает счетчик Яндекс.Метрики.

Внутри каждого тега можно подключить сразу несколько счетчиков, аналогично тому, как это описано в разделе Установка нескольких счетчиков на сайт.