Помощь в работе с сервисом

Сквозная аналитика формы продаж

Если на вашем лендинге установлен счётчик аналитики (Calltouch, Яндекс.Метрика, Roistat), вы можете отслеживать действия покупателей внутри формы продаж: выбор билета, заполнение данных, оплату.

Форма продаж встраивается на лендинг через <iframe>. Чтобы события попадали в ваш счётчик, вставьте специальный код на страницу лендинга — он слушает события из формы и передаёт их в ваш счётчик.


Шаг 1. Получите код в настройках события

Перейдите в настройки события → Регистрация и билеты → Сквозная аналитика.

  1. Включите нужный счётчик (Calltouch, Яндекс.Метрика и/или Roistat)
  2. Для Calltouch введите MOD ID и, если нужна передача контактов как заявок, — Site ID; для Яндекс.Метрики — номер счётчика; Roistat ID не требует
  3. При необходимости скорректируйте набор событий — по умолчанию выбраны самые полезные
  4. Скопируйте сгенерированный код

События по умолчанию:

Группа События
Контакты Email покупателя, Телефон покупателя
Воронка Форма открылась, Выбран билет, Переход к оплате, Заказ оплачен

 

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


Шаг 2. Вставьте код на лендинг

Важно: код рассчитан на то, что библиотека выбранного счётчика уже установлена на лендинге. Если счётчик не установлен, события не будут передаваться. Как установить библиотеку — смотрите в документации вашего сервиса аналитики.

Вставьте скопированный код на страницу лендинга — в любое место рядом с кодом формы продаж.


Шаг 3. Создайте цели в счётчике

Calltouch

Перейдите в личный кабинет Calltouch: Настройки → Цели → Добавить цель → JavaScript-событие.

Создайте цели для каждого выбранного события:

Контакты

Идентификатор цели Что означает Что дополнительно передаётся
nh_email_filled Email покупателя заполнен email → атрибуты визита; при указании Site ID — заявка в кабинет
nh_phone_filled Телефон покупателя заполнен телефон → атрибуты визита; при указании Site ID — заявка в кабинет

 

Передача контактов как заявок (Site ID)

Если в настройках указан Site ID (числовой ID сайта в Calltouch, находится в Настройки → Сайты), то при заполнении email или телефона дополнительно отправляется POST-запрос к Calltouch Requests API — в кабинете появляется заявка с контактными данными покупателя.

Запрос привязывается к текущей сессии через window.call_value (значение устанавливается счётчиком Calltouch автоматически). Если email и телефон заполняются по отдельности, Calltouch объединяет их по sessionId в одну заявку.

Воронка

Идентификатор цели Что означает Что дополнительно передаётся
nh_form_view Форма открылась
nh_ticket_selected Выбран билет сумма → атрибуты визита
nh_payment_started Переход к оплате номер заказа, сумма → атрибуты визита
nh_order_completed Заказ оплачен состав заказа → отчёт «Электронная торговля»

 

Дополнительно

Идентификатор цели Что означает Что дополнительно передаётся
nh_step_changed Переход на шаг название шага → атрибуты визита
nh_field_filled Заполнено поле с данными
nh_order_failed Оплата не прошла номер заказа → атрибуты визита
nh_order_abandoned Покупатель ушёл, не завершив заказ шаг, номер заказа, сумма → атрибуты визита

Создавайте только те цели, события для которых выбраны в настройках.

Для nh_order_completed данные попадают в отчёт Электронная торговля — там будет видна выручка и состав заказа по билетам. Чтобы отчёт был доступен, включите модуль в личном кабинете: Настройки → Сбор данных → Статистика → Электронная торговля. Атрибуты визита доступны через API выгрузки Calltouch и вебхуки.


Яндекс.Метрика

Перейдите в личный кабинет Метрики: Настройки счётчика → Цели → Добавить цель → JavaScript-событие.

Метрика отслеживает только события Воронки и Дополнительно — контакты (email, телефон) в Метрику не передаются.

Создайте цели для каждого выбранного события:

Воронка

Идентификатор цели Что означает
nh_form_view Форма открылась
nh_ticket_selected Выбран билет
nh_payment_started Переход к оплате
nh_order_completed Заказ оплачен

 

Дополнительно

Идентификатор цели Что означает
nh_step_changed Переход на шаг
nh_order_failed Оплата не прошла
nh_order_abandoned Покупатель ушёл, не завершив заказ

К целям с суммой (nh_payment_started, nh_order_completed, nh_order_abandoned) дополнительно передаётся сумма заказа — это позволяет считать доход в отчётах Метрики.


Roistat

1. Установите счётчик на лендинг

В личном кабинете Roistat перейдите в Настройки → Код счётчика, скопируйте скрипт и вставьте его на страницу лендинга — до закрывающего тега </body>. Это нужно сделать один раз; в дальнейшем JS-вызовы не требуют указывать ID проекта.

2. Создайте JS-события

Перейдите в раздел События → Настройка → Добавить событие.

В форме создания:

  • Название — произвольное, отображается только в интерфейсе Roistat
  • Условие срабатывания — выберите «Передаётся через JavaScript»
  • ID — введите точный идентификатор из таблицы ниже (например, nh_form_view)

Нажмите «Добавить». Создайте отдельное событие для каждого идентификатора, который выбран в настройках.

Roistat отслеживает все события, включая контакты.

Контакты

Идентификатор Название (произвольно) Что дополнительно передаётся
nh_email_filled Email заполнен email → карточка клиента через authClientByEmail; email также в «Доп. параметрах» события
nh_phone_filled Телефон заполнен телефон в «Доп. параметрах» события

 

Воронка

Идентификатор Название (произвольно) Что дополнительно передаётся
nh_form_view Форма открылась
nh_ticket_selected Выбран билет сумма
nh_payment_started Переход к оплате номер заказа, сумма
nh_order_completed Заказ оплачен номер заказа, сумма

Дополнительно

Идентификатор Название (произвольно) Что дополнительно передаётся
nh_step_changed Переход на шаг название шага
nh_field_filled Заполнено поле название и значение поля
nh_order_failed Оплата не прошла номер заказа
nh_order_abandoned Заказ брошен шаг, номер заказа, сумма

Для nh_email_filled дополнительно вызывается authClientByEmail — email привязывается к визиту для сквозной атрибуции (объединяет визиты одного покупателя с разных устройств). Для телефона аналогичного метода в Roistat SDK нет — номер передаётся в «Доп. параметрах» события.


Собственный обработчик событий

Сгенерированный код — отправная точка. Если ваш счётчик или сценарий не покрывается готовым кодом, вы можете написать собственный обработчик.

Форма продаж отправляет сообщения через window.postMessage. Каждое сообщение имеет структуру:

{
  source: 'nh-form',   // всегда это значение — используйте для фильтрации
  event: 'order_completed',  // идентификатор события (без префикса nh_)
  data: { /* поля события — см. таблицу ниже */ }
}

Минимальный шаблон обработчика:

window.addEventListener('message', function (event) {
  if (!event.data || event.data.source !== 'nh-form') return;

  var e = event.data.event;
  var data = event.data.data || {};

  // ваш код
  console.log('Событие из формы:', e, data);
});

Обработчик можно дополнять любой логикой: отправлять данные в собственную аналитику, вызывать вебхуки, обновлять интерфейс лендинга. Список всех событий и состав полей data — ниже.


Список событий

События разбиты на три группы. Группы Контакты и Воронка включены по умолчанию, Дополнительно — выключена.

Контакты

Событие Когда возникает Данные
email_filled Покупатель заполнил поле Email и перешёл к следующему value
phone_filled Покупатель заполнил поле Телефон и перешёл к следующему value

 

Воронка

Событие Когда возникает Данные
form_view Форма загрузилась и показала первый шаг
ticket_selected Покупатель выбрал билеты и нажал «Далее» ticketCount, amount, tickets[]
payment_started Покупатель заполнил данные и перешёл к оплате orderId, amount, paymentMethod, promocode, tickets[]
order_completed Заказ успешно завершён (оплата прошла или бесплатная регистрация) orderId, amount, promocode, tickets[]

Дополнительно

Событие Когда возникает Данные
step_changed Покупатель перешёл на новый шаг формы step
field_filled Покупатель заполнил любое поле с данными name, value
order_failed Заказ отменён или завершился с ошибкой orderId, status
order_abandoned Покупатель закрыл страницу, не завершив оплату step, orderId, amount, promocode, tickets[]

 

Возможные значения step:

Значение Шаг
schedules Выбор даты / сеанса
floors_catalog Выбор зала из каталога
floors Схема зала, выбор мест
ticket_member Привязка участника к месту
total_floor Итого по залу
tickets Выбор билета
registration Заполнение данных покупателя
payment Экран оплаты

 

Каждый элемент tickets[]:

Поле Тип Описание
id number ID типа билета
name string Название билета
price number Цена за единицу
count number Количество
Место, где рождаются события