Методы JS API
В JS API счетчика имеются следующие методы:
Метод | Описание |
---|---|
pageView | отправка хита просмотра страницы |
reachGoal | отправка достижения цели |
sendEvent | отправка произвольного события |
itemView | отправка параметров динамического ретаргетинга |
onready | вызов callback-функции по окончанию инициализации кода счетчика |
setUserParams | установка произвольных параметров пользователя |
deleteUserParams | очистка произвольных параметров пользователя |
getUserParams | получение установленных произвольных параметров пользователя |
setUserID | установка идентификатора посетителя на сайте |
deleteUserID | удаление идентификатора посетителя на сайте |
getUserID | получение идентификатора посетителя на сайте |
getClientID | получение встроенного идентификатора посетителя на сайте |
Большинство методов можно вызывать двумя способами:
- через метод
_tmr.push
. Методу передается javascript-объект с обязательным указанием типа метода, например,_tmr.push({ type: "pageView", ... });
- через вызов метода объекта
_tmr
, например,_tmr.pageView({...});
Второй способ вызова метода работает только если основной (асинхронный) код счетчика уже загружен. Если нет уверенности, что в конкретный момент счетчик уже доступен, рекомендуется использовать первый способ следующим образом:
var _tmr = window._tmr || (window._tmr = []);
_tmr.push({ type: "pageView", ... });
При вызове метода указывается javascript-объект с обязательными и дополнительными параметрами. При отсутствии обязательных параметров вызов будет проигнорирован.
Общие поля для методов
Данные поля могут передаваться в методах отправки хитов типа pageView, reachGoal, sendEvent, itemView.
Название поля | Тип значения | Описание | Значение по умолчанию | Примечание |
---|---|---|---|---|
id | число | ID счетчика, на который отсылается хит. Может быть опущен, если ранее указывался ID в другом хите. | Первое указанное значение идентификатора в любом из хитов. | Обязателен к указанию хотя бы в одном из хитов. Тогда это значение будет считаться значением по умолчанию в случаях когда ID счетчика не указан. |
url | строка | URL страницы. | location.href | Применяется для указания корректного URL для AJAX-страниц или формирования “виртуальных” просмотров. |
referrer | строка | Referrer страницы. | document.referrer | |
title | строка | Заголовок страницы. | document.title | |
device | строка (без управляющих символов) | Идентификатор устройства (device id) посетителя (android id, idfa, …) | ||
userid | строка (без управляющих символов) | Идентификатор посетителя (profile id) на сайте, если у сайта есть собственная идентификация посетителей. Ранее назывался pid. | ||
gender | 1 = мужчины, 2 = женщины | Пол посетителя. | В случае указания будет иметь приоритет при подсчете статистики над данными Мэйл.ру | |
age | число от 1 до 127 | Возраст посетителя. | В случае указания будет иметь приоритет при подсчете статистики над данными Мэйл.ру | |
params | javascript-объект (соответствующий JSON-формату) или ссылка на него | Произвольные параметры хита. | ||
version | строка | Версия сайта. |
Методы
pageView (просмотр страницы)
Примеры вызова:
_tmr.pageView({ id: "ВАШ ID" });
_tmr.push({ id: "ВАШ ID", type: "pageView" });
reachGoal (достижение цели)
Дополнительные поля
Название поля | Тип значения | Описание | Примечание |
---|---|---|---|
Обязательные поля | |||
goal | строка | Название цели, которая была достигнута. | |
Опциональные поля | |||
value | число | Ценность достигнутой цели. | Параметр value будет просуммирован для каждой уникальной цели. |
Примеры вызова:
_tmr.reachGoal({ id: "ВАШ ID", goal: "addProduct", value: 2 });
_tmr.push({ id: "ВАШ ID", type: "reachGoal", goal: "addProduct", value: 2 });
sendEvent (произвольное событие)
Дополнительные поля
Название поля | Тип значения | Описание | Примечание |
---|---|---|---|
Обязательные поля | |||
category | строка | Категория события. | Категории начинающиеся с символа подчеркивания зарезервированы для нужд сервиса и отображаться в статистике не будут |
action | строка | Действие. | |
Опциональные поля | |||
label | строка | Дополнительная информация о событии. | |
value | число | Ценность собятия. | Параметр value будет просуммирован для каждой уникальной комбинации category + action + label. |
Примеры вызова:
_tmr.sendEvent({ id: "ВАШ ID", category: "userflow", action: "readArticle", label: "about" });
_tmr.push({ id: "ВАШ ID", type: "sendEvent", category: "userflow", action: "readArticle", label: "about" });
itemView (динамический ретаргетинг)
Дополнительные поля
Название поля | Тип значения | Описание |
---|---|---|
Опциональные поля | ||
list | число | Идентификатор фида. |
productid | число | Идентификатор товара. |
pagetype | строка | Тип страницы. |
totalvalue | число | Сумма. |
Примеры вызова:
_tmr.itemView({ id: "ВАШ ID", list: 1, productid: 105, pagetype: "detail", totalvalue: 3400 });
_tmr.push({ id: "ВАШ ID", type: "itemView", list: 1, productid: 105, pagetype: "detail", totalvalue: 3400 });
onready (callback-функция готовности кода счетчика)
Задание callback-функции возможно только через метод _tmr.push
, т.к. именно этот метод дает возможность выполнения действия в момент времени, когда код счетчика загружен и гарантированно проинициализирован, после чего становятся доступны методы, недоступные через _tmr.push
.
Дополнительные поля
Название поля | Тип значения | Описание |
---|---|---|
Обязательные поля | ||
callback | javascript-функция или ссылка на неё | Функция, которая будет выполнена после того, как завершится инициализация кода счетчика. |
Опциональные поля | ||
context | javascript-объект или ссылка на него | Контекст выполнения callback-функции, который будет доступен в коде этой функции через служебное слово this. |
Примеры вызова:
var _tmr = window._tmr || (window._tmr = []);
_tmr.push({
type: 'onready',
callback: function() {
// здесь ваш код работы callback-функции
}
});
Параметры пользователя (User params)
В качестве параметров пользователя (USER_PARAMS) служит javascript-объект (соответствующий JSON-формату, т.е. значениями полей являются примитивные значения или такие же JSON-подобные вложенные объекты, а так же массивы примитивных значений, JSON-объектов и вложенных массивов). При установке или получении параметров пользователя javascript-объект будет скопирован по значению, а не по ссылке. Т.е. при изменении объекта через ссылку параметры пользователя изменены не будут.
setUserParams (установка)
_tmr.setUserParams(USER_PARAMS);
аргумент USER_PARAMS - javascript-объект, обязательный аргумент при установке параметров пользователя; при его отсутствии параметры пользователя будут удалены
_tmr.push({ type: "setUserParams", params: USER_PARAMS });
поле params - обязательное поле при вызове установки параметров пользователя через метод _tmr.push
поле USER_PARAMS - javascript-объект
Примеры вызова:
_tmr.setUserParams({ group: "reader", since: "24.03.2019" });
_tmr.push({ type: "setUserParams", params: { group: "editor", since: "13.08.2017", posts: 37 } });
deleteUserParams (удаление)
Примеры вызова:
_tmr.deleteUserParams();
_tmr.push({ type: "deleteUserParams" });
Так же удаление параметров пользователя произойдет если не передавать их при вызове методов установки или передать вместо них null, false или undefined (Важно. При вызове метода через _tmr.push
поле params обязательное, т.о. при его отсутствии вызов будет проигнорирован):
_tmr.setUserParams();
_tmr.setUserParams(null);
_tmr.setUserParams(false);
_tmr.setUserParams(undefined);
_tmr.push({ type: "setUserParams", params: null });
_tmr.push({ type: "setUserParams", params: false });
_tmr.push({ type: "setUserParams", params: undefined });
getUserParams (получение)
Т.к. результатом вызова является получаемое значение, то вызов через метод _tmr.push
не доступен. Следовательно, получить параметры пользователя можно только тогда, когда вы уверены что код счетчика уже готов к работе (например, использовать для этого callback-функцию onready).
Примеры вызова:
var USER_PARAMS = _tmr.getUserParams();
var _tmr = window._tmr || (window._tmr = []);
_tmr.push({ type: "onready", callback: function() {
var USER_PARAMS = _tmr.getUserParams();
// здесь ваш код работы с User params
} });
USER_PARAMS - javascript-объект (или undefined
если параметры пользователя не были установлены или были удалены)
Идентификатор пользователя
В качестве идентификатора пользователя (USER_ID) служит строка или число.
setUserID (установка)
_tmr.setUserID(USER_ID);
аргумент USER_ID - строка или число, обязательный аргумент при установке идентификатора пользователя; при его отсутствии идентификатор пользователя будет удален
_tmr.push({ type: "setUserID", userid: USER_ID });
поле userid - обязательное поле при вызове установки идентификатора пользователя через метод _tmr.push
поле USER_ID - строка или число
deleteUserID (удаление)
Примеры вызова:
_tmr.deleteUserID();
_tmr.push({ type: "deleteUserID" });
Так же удаление идентификатора пользователя произойдет если не передавать его при вызове методов установки или передать вместо него null
, false
или undefined
(Важно. При вызове метода через _tmr.push
поле userid обязательное, т.о. при его отсутствии вызов будет проигнорирован):
_tmr.setUserID();
_tmr.setUserID(null);
_tmr.setUserID(false);
_tmr.setUserID(undefined);
_tmr.push({ type: "setUserID", userid: null });
_tmr.push({ type: "setUserID", userid: false });
_tmr.push({ type: "setUserID", userid: undefined });
getUserID (получение)
Т.к. результатом вызова является получаемое значение, то вызов через метод _tmr.push
не доступен. Следовательно, получить идентификатор пользователя можно только тогда, когда вы уверены что код счетчика уже готов к работе (например, использовать для этого callback-функцию onready).
Примеры вызова:
var USER_ID = _tmr.getUserID();
var _tmr = window._tmr || (window._tmr = []);
_tmr.push({ type: "onready", callback: function() {
var USER_ID = _tmr.getUserID();
// здесь ваш код работы с UserID
} });
USER_ID - строка или число (или undefined
если идентификатор пользователя не был установлен или был удален)
Встроенный идентификатор пользователя
Код счетчика сам автоматически создает и устанавливает встроенный идентификатор пользователя (ClientID, строка) для каждого посетителя вашего сайта.
getClientID (получение)
Т.к. результатом вызова является получаемое значение, а так же тот факт, что встроенный идентификатор пользователя создается и устанавливается кодом счетчика, то вызов через метод _tmr.push
не доступен. Следовательно, получить встроенный идентификатор пользователя можно только тогда, когда вы уверены что код счетчика уже готов к работе (например, использовать для этого callback-функцию onready).
Примеры вызова:
var CLIENT_ID = _tmr.getClientID();
var _tmr = window._tmr || (window._tmr = []);
_tmr.push({ type: "onready", callback: function() {
var CLIENT_ID = _tmr.getClientID();
// здесь ваш код работы с ClientID
} });
CLIENT_ID - строка