Веб

Интеграция

Установите код Веб-счётчика на все страницы вашего сайта. Код должен быть размещён внутри блока BODY, как можно раньше к его началу.

Скопировать код можно со страницы Веб-счётчик приложения в MyTracker:

О том, как установить счётчик с помощью Google Tag Manager, см. вложенный раздел. Примеры установки кода на WordPress, Ucos, HTTPS и др. смотрите в документации Рейтинга Mail.Ru

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

Настройка счётчика

Трекинг пользователей

Для отслеживания статистики не только по устройствам, но и по пользователям сайта, установите параметр UserID. Это уникальный идентификатор пользователя в вашем проекте, который должен оставаться неизменным, даже если пользователь авторизуется на другом устройстве. Установив этот параметр, вы сможете оценить размер и активность аудитории приложения, вне зависимости от того, сколько устройств использует пользователь. А также не будете терять историю накопленных по пользователю данных, если он решит сменить устройство. Подробнее см. раздел Трекинг.

Важно установить параметр до трекинга целей, чтобы передавать идентификатор пользователя с каждым отслеженным действием. Для установки UserID используйте строку _tmr.push:

var _tmr = window._tmr || (window._tmr = []);
 _tmr.push({ type: 'setUserID', userid: "UserID" });

Чтобы отключить трекинг пользователей удалите UserID:

var _tmr = window._tmr || (window._tmr = []);
 _tmr.push({ type: 'deleteUserID' });

Рекомендуем установить идентификатор описанным выше способом, но если на веб-страницах установлено несколько счётчиков, то можно передать UserID отдельным параметром в строке _tmr.push:

var _tmr = window._tmr || (window._tmr = []);
_tmr.push({id: "counter ID",  type: "pageView", start: (new Date()).getTime(), userid: "UserID" })

Если до установки UserID в приложении уже сформирована база зарегистрированных пользователей, то MyTracker не сможет получить данные о времени их регистрации, а значит определить дату первого посещения и произвести точный расчёт Lifetime метрик. Для таких пользователей Lifetime статистика будет считаться на дату первого отслеженного события с UserID (первой отслеженной цели или хита).

Трекинг целей

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

Регистрация. Для сбора данных о регистрации пользователей разместите в начале вашей страницы актуальный код счётчика и в момент регистрации отправьте цель mt_registration, выполнив JavaScript код:

_tmr.push({ id: 'counter ID', type: 'reachGoal', goal: 'mt_registration', userid: 'UserID'  });

Авторизация. Для сбора данных об авторизации пользователей разместите в начале вашей страницы актуальный код счётчика и в момент авторизации отправьте цель mt_login, выполнив JavaScript код:

_tmr.push({ id: 'counter ID', type: 'reachGoal', goal: 'mt_login', userid: 'UserID'  });

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

_tmr.push({ id: 'counter ID', type: 'reachGoal', goal: 'customEvent' });

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

Готовый JavaScript код можно получить в Рейтинге Mail.ru, подробнее см. раздел документации События из javascript. Если вы хотите передать версию приложения, параметры или ценность кастомного события, то доработайте код вручную, как это описано ниже.

MyTracker может отследить только те цели, которые отправлены из JavaScript кода сайта. Данные по Offline событиям или фиксированным условиям можно посмотреть только в Рейтинге Mail.Ru.

Параметры

С кастомным событием можно передать параметры цели. Например, для события «Заказ» это могут быть идентификатор заказа, условия доставки и пр. Для передачи параметров добавьте поле params:

var EventParams = { logged: true, ... };
_tmr.push({ id: 'counter ID', type: 'reachGoal', goal: 'customEvent', params: EventParams });

В качестве значения params может быть передан любой JavaScript-объект с одним уровнем вложенности.

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

Ценность

У кастомных событий может быть своя Ценность. Если ценность не указана, будет использовано значение по умолчанию, указанное в настройках цели.

Передать ценность можно через поле value:

var _tmr = window._tmr || (window._tmr = []);
_tmr.push({ id: "counter ID", type: "reachGoal", goal: "customEvent", value: 50 });

Статистику по ценности кастомных событий можно получить через Raw API.

Ценность можно передать только по кастомным событиям, но не по регистрациям и авторизациям пользователей

Версия приложения

С каждой целью можно передать стандартный параметр — версия приложения. Например, для сбора данных по разным версиям одностраничного приложения (single-page application) и проведения a/b тестов.

Передать версию приложения можно через поле version:

var _tmr = window._tmr || (window._tmr = []);
_tmr.push({ id: "counter ID", type: "reachGoal", goal: "customEvent", version: "1.2.3-rc4" });

S2S трекинг

Для передачи данных с вашего сервера на сервер MyTracker (например, неотслеживаемых данных, офлайн-событий и пр.), может понадобиться специальный идентификатор устройства — lvid.

Важно как можно раньше начать собирать lvid и отправлять их на ваш сервер, если вы используете его для передачи данных к S2S API.
Вместо lvid в запросах к API можно указывать идентификатор пользователя UserID, но в этом случае данные будут формировать статистику по пользователю, а не по устройству. Подробнее

Получить lvid можно с помощью следующего javascript кода:

_tmr.getClientID();

Метод getClientID доступен только после того, как счётчик прогрузится на страницу. Поэтому рекомендуем использовать функцию callback, которая вызовет метод лишь при полной загрузке счётчика:

var _tmr = window._tmr || (window._tmr = []);
_tmr.push({
    type:     'onready',
    callback: function() {
        tmrLvid = _tmr.getClientID();
        /* здесь ваш код отправки lvid на сервер */
    }
});

Вне зависимости от используемого javascript кода, идентификатор lvid будет передан только в том случае, если в браузере пользователя не установлен блокировщик рекламы, и счётчик успел прогрузиться полностью