Настройка Web Tracking методом отправки событий через вызов функций eS.JS.
Скрипт
Script eS
Назначение скрипта
Скрипт фиксирует страницу нахождения каждого посетителя и позволяет вызывать и посылать события с любой страницы, где он установлен.
Установка
Скрипт должен быть установлен на всех страницах вашего сайта.
Устанавливается разметку в конце блока <body>.
Может быть установлен с помощью GTM1, но это грозит потерей трафика, так как почти все контент-фильтры2 блокируют GTM.
1 GTM (Google Tag Manager) - решение от Google, которое позволяет размещать пользовательские скрипты на страницах сайта без непосредственного вмешательства в его код.
2 Контент-фильтры, или программа ограниче́ния веб-контента (англ. Content-control software или web filtering software) — устройство или программное обеспечение для фильтрации сайтов по их содержимому, не позволяющее получить доступ к определённым сайтам или услугам сети Интернет. Система позволяет блокировать веб-сайты с содержимым, не предназначенным для просмотра.
Пример
<script>
!function(t, e, c, n) {
var s = e.createElement(c);
s.async = 1, s.src = 'https://statics.esputnik.com/scripts/' + n + '.js';
var r = e.scripts[0];
r.parentNode.insertBefore(s, r);
var f = function() {
f.c(arguments);
};
f.q = [];
f.c = function() {
f.q.push(arguments);
};
t['eS'] = t['eS'] || f;
}(window, document, 'script', '000000000000000000');
</script>
<script>
eS('init', {
TRACKING: false,
RECOMS: true
});
</script>
Параметры
Название |
Пример |
Описание |
script |
"00000000000000000" Обязательный type: string |
статический параметр с ID вашего магазина |
TRACKING |
true Необязательный (true по умолчанию) type: boolean |
флаг включения трекинга по конфигу в случае передачи событий методом es.JS API значение должно быть задано как false |
RECOMS |
true Необязательный (true по умолчанию) type: boolean |
флаг отображения рекомендаций по конфигу (может работать без TRACKING, однако crawler config обязательно должен быть описан |
Данные посетителя сайта
Во всех событиях
Описание
Отправка события со всех типов страниц с локатором пользователя (email, phoneNumber, contactId).
Необходимо для матчинга контактов с Cookies.
Пример
{
"GeneralInfo": {},
"user_email": "example@email.com",
"user_phone": "380501234567",
"user_es_contact_id":100500
},
"ProductPage": {
"productKey": "24-WG02"
}
}
Параметры
Название |
Пример |
Описание |
user_email |
"example@email.com" Опциональный type: string |
|
user_phone |
"380501234567" Опциональный type: string |
|
user_es_contact_id |
100500 Опциональный Type: int |
|
Карточка товара
ProductPage
Описание
Отправка события ProductPage - карточка товара, содержащая наличие, цену и код продукта.
Необходима для расчета и вывода рекомендаций и отправки брошенных просмотров.
Пример
eS('sendEvent', 'ProductPage', {
'ProductPage': {
'productKey': '24-MB02',
'price': '153',
'isInStock': 1,
'tag_some_field': ['123'],
'tag_another_field': ['321', '213']
}});
Если в рекомендационном блоке, при нажатии на кнопку “купить” товар сразу добавляется в корзину, то необходимо при добавлении в корзину отправлять дополнительное события ProductPage
Параметры
Название |
Пример |
Описание |
productKey |
“24-MB02” Обязательный type: string |
|
price |
“153” Необязательный type: string |
|
isInStock |
“1” Необязательный type: int |
|
Tags |
Необязательный Type: object |
|
Главная страница
MainPage
Описание
Отправка события MainPage - главная страница сайта.
Необходимо только для возможности отображения рекомендаций на сайте.
Пример
eS('sendEvent', 'MainPage');
Страница "404"
NotFound
Описание
Отправка события NotFound - отсутствующая страница сайта (страница 404).
Необходимо только для возможности отображения рекомендаций на сайте.
Пример
eS('sendEvent', 'NotFound');
Корзина
StatusCart
Важно
Так как возможна параллельная настройка на нашей и вашей стороне, событие StatusCart не может быть настроено отдельно от PurchasedItems. Если вы настроили передачу StatusCart нужно также передавать событие PurchasedItems. Причина указана в описании параметра GUID
Описание
Корзина передается в виде массива данных. Событие нужно передавать всегда при посещении странцы корзины, при обновлении страницы корзины или при вызове всплывающего окна корзины.
Изменения должны отправляться со всех страниц (например, на карточке товара или странице категорий).
Если есть возможность очистки корзины, то нужно передавать пустую корзину тоже.
Пример корзины с товарами
eS('sendEvent', 'StatusCart', {
'StatusCart': [
{
'productKey': '24-MB02',
'price': '153',
'quantity': '1',
'currency': 'USD',
"tag_something": [
"aaa",
"bbb"
]
}, {
'productKey': '123-321',
'price': '450.00',
'quantity': '3',
'currency': 'USD'
}
],
'GUID': '2b914e9c-43ee-bf41-6f80-b97db1e8ab7e'
});
Пример пустой корзины
eS('sendEvent', 'StatusCart', {
'StatusCart': [],
'GUID': '2c914e9c-43ee-bf41-6f80-b97db1e8ab7e'
});
Параметры
Название |
Пример |
Описание |
GUID | “2c914e9c-43ee-bf41-6f80-b97db1e8ab7e” Обязательный Type: string |
|
productKey |
“24-MB02” Обязательный type: string |
|
price |
"153" Обязательный type: string |
|
quantity |
"5" Обязательный type: string |
|
currency |
"RUB" Опциональный type: string |
|
Tags |
Необязательный Type: object |
|
Продажа
PurchasedItems
Описание
Для вывода рекомендаций на странице подтверждения заказа или для отправки триггеров по брошенным корзинам, необходимо отправить запрос, в котором будет указано, какой товар купил пользователь.
В случае, когда не используются брошенные корзины, товары можно передавать в событии PurchasedItems, в этом случае StatusCart не передается.
Пример с товарами (только для “Покупка в один клик”)
eS('sendEvent', 'PurchasedItems', {
"OrderNumber": "123/2017",
"PurchasedItems": [{
"productKey": "24-MB02",
"price": "153",
"quantity": "1",
"currency": "UAH"
}],
"Tags": {
"blockId": ["19787_r119v224"]
}
});
Пример с товарами (Покупка с сайта)
eS('sendEvent', 'PurchasedItems', {
"OrderNumber": "123/2017",
"PurchasedItems": [{
"productKey": "24-MB02",
"price": "153",
"quantity": "1",
"currency": "UAH"
}],
"GUID": "6F9619FF-8B86-D011-B42D-00CF4FC964FF"
});
Название |
Пример |
Описание |
OrderNumber |
"1234/2017" type: string |
|
"6F9619FF-8B86-D011-B42D-00CF4FC964FF" type: string |
|
|
productKey |
Обязательный type: string |
|
price |
"21.70" Обязательный type: string |
|
quantity |
"1" Обязательный type: string |
|
currency |
"UAH" Опциональный type: string |
|
Tags |
Необязательный Type: object |
|
blockId |
Необязательный Type: string |
|
Пользователь
CustomerData
Для отправки триггеров по брошенным корзинам и брошенным просмотрам необходимо отправить запрос, в котором будет указана информация о пользователе.
Email должен отправляться минимум, в личном кабинете, на странице “Спасибо за покупку” и при регистрации.
Пример
eS('sendEvent', 'CustomerData', {
'CustomerData': {
'user_email': 'example@email.com',
'user_name': 'Johny',
'user_client_id': '123',
'user_card_id': '321',
'user_phone': '3801111111111',
'user_city': 'Gdańsk',
'user_tags_gender': 'male',
}
});
Параметры
Название |
Пример |
Описание |
user_email |
Обязательный type: string |
|
user_name |
"Johny" Необязательный type: string |
|
user_client_id |
"123" Необязательный type: string |
|
user_card_id |
"321" Необязательный type: string |
|
user_phone |
"3801111111111" Необязательный type: string |
|
Категория
CategoryPage
Описание
Для вывода рекомендаций на странице категории, необходимо отправить запрос, в котором будет указано на какой категории находиться пользователь.
Пример
eS('sendEvent', 'CategoryPage', {
"CategoryPage": {
"categoryKey": "Для малышей"
},
"Tags": {
"some_tags": [
"gh",
"a2"
],
"some_tags1": [
"4",
"gg"
]
}
});
Параметры
Название |
Пример |
Описание |
CategoryPage |
"Для малышей" Обязательный type: string |
|
Tags |
Необязательный Type: object |
|
Показы
ProductImpression DEPRECATED, шлем под капотом если рекомендации вернулись
Описание
При выводе рекомендательных блоков для отображения показов в админпанели на вкладке “Reports” необходимо отправить запрос, в котором будет указана информация о показанных товарах .
Пример
eS('sendEvent', 'ProductImpressions', {
"ProductImpression": [{
"product_id": "430968",
"container_type": "1253"
}]
});
Параметры
Название |
Пример |
Описание |
product_id |
"PK1" Обязательный type: string |
|
container_type |
"1253" Обязательный type: string |
|
Tags |
Необязательный Type: object |
Дополнительные поля |
*Если блоков несколько на одной странице, все показы передаются в одном запросе.*Если блоков несколько на одной странице, все показы передаются в одном запросе.