Метрика

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

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

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

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

Для создания счетчика используется класс Ya.Metrika. Создавать объект этого класса настоятельно рекомендуется таким образом, каким это реализовано в коде, сформированном на странице редактирования счетчика. Это наиболее проверенный способ, корректно работающий в подавляющем большинстве случаев.

Инициализация счетчика представляет собой создание объекта класса Ya.Metrika. Конструктор класса принимает на вход JavaScript-объект ( settings ), содержащий параметры инициализации счетчика в виде полей.

var yaCounterXXXXXX = new Ya.Metrika(settings);

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

var yaCounterXXXXXX = new Ya.Metrika({id: XXXXXX}); // XXXXXX - номер счетчика

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

Методы объекта класса Ya.Metrika описаны в справочнике методов.

Таблица 1. Параметры инициализации счетчика

Имя

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

Тип

Описание

id *
[no-highlight[

* Обязательный параметр.

]no-highlight]

Number

Номер счетчика.

accurateTrackBounce

false

Boolean | Number

Параметр может принимать значения:

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

clickmap

false

Boolean

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

defer

false

Boolean

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

ecommerce false

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

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

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

userParams

Object

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

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

trackHash

false

Boolean

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

false

Boolean

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

type

0

Number

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

ut

String

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

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

webvisor

false

Boolean

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

triggerEvent

false

Boolean

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

* Обязательный параметр.

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

Определить, готов ли счетчик к работе, можно с помощью специального JavaScript события. При этом необходимо добавить параметр triggerEvent со значением true в код счетчика. Для jQuery можно использовать следующий пример кода до момента инициализации счетчика:

jQuery(document).on('yacounterXXXXXinited', function () {
    console.log('счетчик yaCounterXXXXX можно использовать');
});

Установка нескольких счетчиков

Иногда возникает необходимость разместить на странице сразу несколько счетчиков. В этом случае предпочтительнее не дублировать полный код инициализации счетчика. Лучше сгруппировать код создания всех объектов класса Ya.Metrika внутри секции try … catch, используя полный код одного счетчика как шаблонный. Аналогичным образом код вставки изображений, использующийся при отключенном JavaScript, можно разместить внутри единственного элемента noscript.

<!-- Yandex.Metrika counter -->
<script type="text/javascript">
    (function (d, w, c) {
        (w[c] = w[c] || []).push(function() {
            try {
                w.yaCounterXXXXXX = new Ya.Metrika({id: XXXXXX});
                w.yaCounterYYYYYY = new Ya.Metrika({id: YYYYYY, webvisor: true});
            } catch(e) { }
        });

      ...
        
    })(document, window, "yandex_metrika_callbacks");
</script>
<noscript>
  <div>
    <img src="//mc.yandex.ru/watch/XXXXXX?ut=noindex" style="..." alt="" />
    <img src="//mc.yandex.ru/watch/YYYYYY?ut=noindex" style="..." alt="" />
  </div>
</noscript>
<!-- /Yandex.Metrika counter -->
<!-- Yandex.Metrika counter -->
<script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript"></script>
<script type="text/javascript">
try {
  var yaCounterXXXXXX = new Ya.Metrika({id: XXXXXX});
  var yaCounterYYYYYY = new Ya.Metrika({id: YYYYYY, webvisor: true});

  ...

}
catch(e) { }
</script>
<noscript>
  <div>
    <img src="//mc.yandex.ru/watch/XXXXXX?ut=noindex" style="..." alt="" />
    <img src="//mc.yandex.ru/watch/YYYYYY?ut=noindex" style="..." alt="" />
  </div>
</noscript>
<!-- /Yandex.Metrika counter -->

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

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

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

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

<script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript"></script>
<script type="text/javascript">
  var yaCounterXXXXXX = new Ya.Metrika({id: XXXXXX[, <параметры инициализации>]});
</script>
<img src="//mc.yandex.ru/watch/XXXXXX" style="position:absolute; left:-9999px;" alt="" />

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

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

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