Установка модуля и описание событий

Читать 13

Начало работы

Включение модуля

Включение модуля электронной торговли происходит в меню «Настройки - Статистика». После включения модуля вам станет доступен блок с выбором валюты, который может принимать два значения: рубли и доллары.

______________2019-05-28___10.35.26.png

Включение модуля добавляет следующий функционал к вашему проекту:

  1. Открывает в меню дополнительный отчет «Электронная торговля»
  2. Добавляет в пользовательские столбцы новый блок метрик «Электронная торговля»
  3. Добавляет во все таблицы, в настройки столбцов, блок метрик «Электронная торговля»
  4. Добавляет в группу метрик «Сделки и ROI» данные, собранные модулем
  5. Позволяет скрипту подмены принимать от сайта события, связанные с электронной торговлей.

Установка модуля

advice_ver2.png Модуль электронной торговли работает только с последней версией скрипта Calltouch.

Если на вашем сайте уже существует глобальный объект ct, вы можете его переименовать, передав любое имя третьим параметром в коде вставки (вместо 'ct').


Для вызова событий модуля используется глобальный объект ct:

ct('send_ecommerce', 'method-name', {params});

где method-name — имя метода, а params — параметры вызова:

  • id: идентификатор действия
  • products: Array<product> - массив объектов с описанием товаров
  • product: данные о товаре

advice_ver2.png Имейте в виду, что Calltouch блокирует одновременные запросы на сервер и параллельная отправка событий не поддерживается. Используйте отправку событий с задержкой в несколько секунд.

Если на вашем сайте размещен скрипт с несколькими mod_id (когда один домен вашего сайта подключен одновременно в нескольких личных кабинетах Calltouch), то перед вызовом событий ниже, первым параметром должно быть значение mod_id:

ct('mod_id', 'send_ecommerce', 'method-name', {params});

Если на вашем сайте уже существует глобальный объект ct, вы можете его переименовать, передав любое имя третьим параметром в коде вставки (вместо 'ct') – в таком случае это необходимо будет сделать и в самом скрипте Calltouch и в событиях ecommerce.

mod_id

mod_id - уникальный идентификатор скрипта, который можно получить по запросу в тех.поддержу info@calltouch.net, либо просто скопировать уже готовый скрипт с сгенерированным идентификатором из настроек вашего проекта в Личном кабинете Calltouch:

Screenshot_12.png

Данные о товаре

Ниже представлена таблица, содержащая перечень полей, их тип и описание, которые передаются в параметрах вызова {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.

mceclip1.png

Важно: По умолчанию, для передачи данных электронной торговли используется объект dataLayer, однако, если вы используете другой объект для хранения данных электронной торговли – необходимо указать его название в поле «Имя контейнера данных».

mceclip0.png

Плюсом такого подключения является скорость интеграции. Данные начнут поступать в «Отчёт по электронной торговле» сразу после активации.

Обратите внимание: согласно наиболее часто встречающимся настройкам Яндекс.Метрики и Google Analtyics этап оплаты передается на странице «Спасибо за покупку». Позже эти заказы могут отменить или изменить по составу и количеству, однако в аналитике эти данные не изменятся. Таким образом в аналитике будет неактуальная информация.

При использовании стандартных методов на странице за покупку можно будет отправить событие об «оформлении заказа», а уже после оплаты – отправить информацию об оплате с актуальной суммой и составом заказа.

Отключение модуля

Важный пункт!

Отключение модуля приведет к отключению некоторых возможностей. Пропадут:

  1. Все пользовательские столбцы (целиком), содержащие в себе метрики из блока электронной коммерции.
  2. Если метрики из этого блока являлись частью воронок продаж на дашбордах, они исчезают из этих воронок. Если в воронке, после исчезновения, не остается ни одной метрики, пропадает вся воронка из дашборда.
  3. Из сохраненных наборов столбцов таблиц пропадают метрики из этого блока. Если в наборе, после исчезновения, не останется ни одной метрики, исчезает весь набор.

Не нашли решение проблемы?
Заполните форму, и мы вам поможем.