Установка модуля и описание событий
Начало работы
Включение модуля
Включение модуля электронной торговли происходит в меню «Настройки - Статистика». После включения модуля вам станет доступен блок с выбором валюты, который может принимать два значения: рубли и доллары.
Включение модуля добавляет следующий функционал к вашему проекту:
- Открывает в меню дополнительный отчет «Электронная торговля»
- Добавляет в пользовательские столбцы новый блок метрик «Электронная торговля»
- Добавляет во все таблицы, в настройки столбцов, блок метрик «Электронная торговля»
- Добавляет в группу метрик «Сделки и ROI» данные, собранные модулем
- Позволяет скрипту подмены принимать от сайта события, связанные с электронной торговлей.
Установка модуля
Модуль электронной торговли работает только с последней версией скрипта Calltouch.Если на вашем сайте уже существует глобальный объект ct, вы можете его переименовать, передав любое имя третьим параметром в коде вставки (вместо 'ct').
Для вызова событий модуля используется глобальный объект ct:
где method-name — имя метода, а params — параметры вызова:
- id: идентификатор действия
- products: Array<product> - массив объектов с описанием товаров
- product: данные о товаре
Имейте в виду, что Calltouch блокирует одновременные запросы на сервер и параллельная отправка событий не поддерживается. Используйте отправку событий с задержкой в несколько секунд.
Если на вашем сайте размещен скрипт с несколькими mod_id (когда один домен вашего сайта подключен одновременно в нескольких личных кабинетах Calltouch), то перед вызовом событий ниже, первым параметром должно быть значение mod_id:
Если на вашем сайте уже существует глобальный объект ct, вы можете его переименовать, передав любое имя третьим параметром в коде вставки (вместо 'ct') – в таком случае это необходимо будет сделать и в самом скрипте Calltouch и в событиях ecommerce.
mod_id
mod_id - уникальный идентификатор скрипта, который можно получить по запросу в тех.поддержу info@calltouch.net, либо просто скопировать уже готовый скрипт с сгенерированным идентификатором из настроек вашего проекта в Личном кабинете Calltouch:
Данные о товаре
Ниже представлена таблица, содержащая перечень полей, их тип и описание, которые передаются в параметрах вызова {params}.
Поле | Тип | Описание |
id * | string |
Идентификатор товара. Пример: "10012" |
name | string |
Название товара. Пример: "USB-удлинитель" |
price | int | float |
Стоимость товара. Пример: 150.50 |
brand | string |
Бренд, торговая марка. Пример: "xiaomi" |
category | string |
Категория товара. Пример: "кабели, шнуры, переходники" |
variant | string |
Разновидность товара. Пример: "длина шнура: 5м" |
margin | int | float |
Маржа. Пример: 150.50 |
quantity | int |
Количество товаров. Пример: 1 |
manager | string |
Менеджер, который обрабатывал заказ. Передаётся только на этапе оплаты. Пример: Иванов Иван |
* — поле id является обязательным для всех типов запросов. Поле quantity является обязательным только для метода refund.
Отправка событий в Calltouch
Ниже представлены методы и примеры отправки событий по ним.
Просмотр товаров. Метод detail
Когда отправлять эти события: при просмотре товара/товаров на сайте.
Пример отправки события:
ct('send_ecommerce', 'detail', {
products: [{
id: 1003,
name: "USB-удлинитель",
price: 150.50,
brand: "xiaomi",
category: "кабели, шнуры, переходники",
variant: "длина шнура: 5м",
margin: 150.50
}, {
id: 1005,
name: "Наушники",
price: 2000.00,
brand: "JBL",
category: "Наушники проводные",
variant: "Черные",
margin: 1000.00
}]
});
Список товаров не должен быть пустым.
Добавлен в корзину. Метод addToCart
Когда отправлять эти события: при добавлении товара в корзину.
Пример отправки события:
ct('send_ecommerce', 'addToCart', {
products: [{
id: 1003,
name: "USB-удлинитель",
price: 150.50,
brand: "xiaomi",
category: "кабели, шнуры, переходники",
variant: "длина шнура: 5м",
margin: 150.50,
quantity: 1
}, {
id: 1005,
name: "Наушники",
price: 2000.00,
brand: "JBL",
category: "Наушники проводные",
variant: "Черные",
margin: 1000.00,
quantity: 2
}]
});
Список товаров не должен быть пустым.
Удален из корзины. Метод removeFromCart
Когда отправлять эти события: товар/товары удалены из корзины.
Пример отправки события:
ct('send_ecommerce', 'removeFromCart', {
products: [{
id: 1003,
name: "USB-удлинитель",
price: 150.50,
brand: "xiaomi",
category: "кабели, шнуры, переходники",
variant: "длина шнура: 5м",
margin: 150.50,
quantity: 1
}, {
id: 1005,
name: "Наушники",
price: 2000.00,
brand: "JBL",
category: "Наушники проводные",
variant: "Черные",
margin: 1000.00,
quantity: 1
}]
});
Список товаров не должен быть пустым.
Оформление покупки. Метод checkout
Когда отправлять эти события: пользователь закончил оформление покупки.
Пример отправки события:
ct('send_ecommerce', 'checkout', {
products: [{
id: 1003,
name: "USB-удлинитель",
price: 150.50,
brand: "xiaomi",
category: "кабели, шнуры, переходники",
variant: "длина шнура: 5м",
margin: 150.50,
quantity: 1
}, {
id: 1005,
name: "Наушники",
price: 2000.00,
brand: "JBL",
category: "Наушники проводные",
variant: "Черные",
margin: 1000.00,
quantity: 1
}]
});
Список товаров не должен быть пустым.
Оплата. Метод purchase
Когда отправлять эти события: транзакция успешно совершена.
Пример отправки события:
ct('send_ecommerce', 'purchase', {
id: "10031004",
manager: "Иванов Иван",
products: [{
id: 1003,
name: "USB-удлинитель",
price: 150.50,
brand: "xiaomi",
category: "кабели, шнуры, переходники",
variant: "длина шнура: 5м",
margin: 150.50,
quantity: 1
}, {
id: 1005,
name: "Наушники",
price: 2000.00,
brand: "JBL",
category: "Наушники проводные",
variant: "Черные",
margin: 1000.00,
quantity: 1
}]
});
Список товаров не должен быть пустым. Обязательным также является параметр id (идентификатор транзакции с вашего сайта, по которому потом можно сделать отмену).
Отмена оплаты. Метод refund
Частичная отмена
Когда отправлять эти события: происходит частичный возврат ил отказ от покупки.
Пример отправки события:
ct('send_ecommerce', 'refund', {
id: "10031004",
products: [{
id: 1003,
quantity: 1
}]
});
Обязательным является параметр id (идентификатор транзакции), а также список товаров с указанием поля quantity для каждого товара.
Полная отмена
Когда отправлять эти события: происходит полный возврат или отказ от покупки.
Пример отправки события:
ct('send_ecommerce', 'refund', {
id: "10031004"
});
Обязательным является параметр id (идентификатор транзакции), список товаров не передается.
Отправка событий в офлайне
Для событий purchase и refund также поддерживается отправка событий в оффлайне, а не с сайта, как описано выше. Для передачи этих событий следует использовать следующие данные:
Адрес: https://mod.calltouch.ru/ecommerce.php
Метод: POST
Заголовки:
Accept: application/json
Cache-Control: no-cache
Оплата. Метод purchase
Отправка события осуществляется через передачу данных в json-формате.
{
"siteId": 12345,
"sessionId": 12345678,
"eventType": "purchase",
"id": "5609",
"manager": "Иванов Иван",
"products": [
{
"id": 3,
"name": "USB-удлинитель",
"price": 101,
"brand": "xiaomi",
"category": "Элкабели, шнуры",
"variant": "3 м",
"margin": 100.25,
"quantity": 10
}
]
}
Обязательными полями верхнего уровня здесь являются поля: siteId, eventType, id. Обязательными полями для каждого товара являются поля: id и quantity.
Все типы полей нужно строго соблюдать как в примере.
Особое внимание следует уделить параметру sessionId. В этот параметр передается ID сессии клиента с сайта, чтобы связать информацию об оплате с источником его перехода на сайт. Данный параметр необходимо забирать с сайта при оформлении заказа клиентом и передавать в оффлайн-методе для корректной связки факта оплаты с сессией. Чтобы получить ID сессии скрипта Calltouch используйте JS-функцию calltracking_params.
Данный параметр является необязательным, но его передача рекомендуется для получения максимально полезной статистики.
Отмена оплаты. Метод refund
Полная отмена оплаты
Отправка события осуществляется через передачу данных в json-формате.
{
"siteId": 25775,
"eventType": "refund",
"id": "5609",
"products": []
}
Обязательными полями верхнего уровня являются поля: siteId, eventType, id, а также пустой массив products.
Все типы полей нужно строго соблюдать как в примере.
Частичная отмена оплаты
Отправка события осуществляется через передачу данных в json-формате.
{
"siteId": 25775,
"eventType": "refund",
"id": "5609",
"products": [
{
"id": 3,
"quantity": 1
}
]
}
Обязательными полями верхнего уровня являются поля: siteId, eventType, id. Обязательные поля для каждого товара (массив products): id и quantity.
Все типы полей нужно строго соблюдать как в примере.
Экспресс-метод подключения электронной торговли
Мы настоятельно рекомендуем использовать стандартные методы для передачи данных о товарах, так как они более надёжны и позволяют передавать актуальные данные об оплаченных товарах. Однако не всегда есть возможность найти разработчика для подобной задачи, а у разработчиков внутри компании задачи обычно расписаны на 2 и более квартала вперёд. Именно для таких случаев был создан способ передачи событий электронной торговли из контейнера данных.
Что это означает?
Вы можете обойтись без установки дополнительных кодов на сайт, если у вас уже настроены:
- Расширенная электронная торговля Google Analytics
- и/или электронная коммерция Яндекс.Метрики.
Достаточно нажать галку «Включить передачу событий из контейнера данных». После этого, все взаимодействия с товарами, которые отправляются в Google Analtyics и Яндекс.Метрику также будут отправляться в Calltouch.
Важно: По умолчанию, для передачи данных электронной торговли используется объект dataLayer, однако, если вы используете другой объект для хранения данных электронной торговли – необходимо указать его название в поле «Имя контейнера данных».
Плюсом такого подключения является скорость интеграции. Данные начнут поступать в «Отчёт по электронной торговле» сразу после активации.
Обратите внимание: согласно наиболее часто встречающимся настройкам Яндекс.Метрики и Google Analtyics этап оплаты передается на странице «Спасибо за покупку». Позже эти заказы могут отменить или изменить по составу и количеству, однако в аналитике эти данные не изменятся. Таким образом в аналитике будет неактуальная информация.
При использовании стандартных методов на странице за покупку можно будет отправить событие об «оформлении заказа», а уже после оплаты – отправить информацию об оплате с актуальной суммой и составом заказа.
Отключение модуля
Важный пункт!
Отключение модуля приведет к отключению некоторых возможностей. Пропадут:
- Все пользовательские столбцы (целиком), содержащие в себе метрики из блока электронной коммерции.
- Если метрики из этого блока являлись частью воронок продаж на дашбордах, они исчезают из этих воронок. Если в воронке, после исчезновения, не остается ни одной метрики, пропадает вся воронка из дашборда.
- Из сохраненных наборов столбцов таблиц пропадают метрики из этого блока. Если в наборе, после исчезновения, не останется ни одной метрики, исчезает весь набор.
- A/B тестирование (раздел «Подключение»)
- Email-трекинг (раздел «Подключение»)
- Отслеживание офлайн конверсии (раздел «Подключение»)
- Подключение к отслеживанию дополнительных доменов (раздел «Подключение»)
- Подмена номеров на AMP-страницах Google (раздел «Подключение»)