Коротко. Ройстат интеграция это связка счётчика на сайте, CRM и рекламных кабинетов, где всё держится на одном номере визита из cookie roistat_visit. Поставили счётчик, привязали визит к сделке, подтянули расходы: получили сквозную аналитику с реальным ROI по каждому каналу. Ниже разбираем настройку по шагам, документацию, API и частые ошибки.
Roistat это сервис сквозной аналитики. Он не считает данные из воздуха. Он собирает их из трёх источников: счётчик на сайте, CRM с вашими сделками, рекламные кабинеты с расходами.
Интеграция это процесс, который соединяет эти три потока в одну картину. Задача: увидеть путь от клика по объявлению до оплаченной сделки и понять, сколько денег принёс каждый рубль рекламы.
Вся магия держится на одном идентификаторе. Каждому посетителю сайта счётчик присваивает уникальный номер визита. Он живёт в cookie с именем roistat_visit. Этот же номер уходит в CRM вместе с заявкой.
Дальше система замыкает круг. Заявка становится сделкой, у сделки есть номер визита, а у визита есть источник, кампания и ключевое слово. Так расход по объявлению встречается с прибылью по сделке. Это и есть сквозная аналитика.
Счётчик это первый шаг любой интеграции. Без него нет визитов, а без визитов нечего связывать. Код счётчика лежит в интерфейсе: Настройки, вкладка Код счётчика. Это JS-скрипт, который фиксирует источник, ключевые слова и устройство посетителя.
Способ установки зависит от вашего сайта. Ниже таблица с вариантами.
| Платформа | Способ установки | Нюанс |
|---|---|---|
| Самописный сайт, CMS | Вставить код перед закрывающим тегом body | Не помещать внутрь noscript |
| Google Tag Manager | Тег Пользовательский HTML, триггер All Pages | Опубликовать контейнер после сохранения |
| Tilda, Wix, Flexbe | Встроенная интеграция в настройках конструктора | Иногда достаточно вставить только номер проекта |
| WordPress, Bitrix | Плагин или вставка в шаблон footer | Проверять, чтобы код грузился на всех страницах |
После установки проверка занимает минуту. Откройте сайт, нажмите F12, зайдите в раздел с cookie. Если там появилась cookie roistat_visit, счётчик работает. Если нет, код стоит не на всех страницах или блокируется другим скриптом.
Отдельно настройте служебные фильтры. Черный список IP исключит визиты сотрудников и офиса. Мультидоменный режим нужен, если в одном проекте несколько сайтов. Это защищает данные от мусора ещё до того, как он попадёт в отчёты.
CRM это сердце связки. Именно из неё Roistat берёт статусы сделок и суммы. Интеграция с популярными системами вроде amoCRM или Битрикс24 подключается за пару кликов через каталог. Со своей самописной CRM работают через API.
Важный момент про схему передачи заявок. Есть два варианта, и они не равнозначны по надёжности.
Форма на сайте отправляет данные сначала в Roistat. Сервис фиксирует заявку, добавляет номер визита и передаёт дальше в CRM. Этот путь надёжнее: даже если CRM недоступна, заявка не потеряется, она останется в Roistat.
Форма шлёт данные сразу в CRM, а номер визита прикрепляет вручную. Для этого в CRM создают дополнительное поле с именем roistat. В обработчик формы добавляют чтение cookie: значение из roistat_visit кладут в это поле. Быстрее, но если что-то отвалится, заявка уйдёт без источника.
Ниже сравнение подходов для выбора под ваш случай.
| Критерий | Через Roistat | Напрямую в CRM |
|---|---|---|
| Надёжность | Высокая, заявки дублируются в Roistat | Средняя, зависит от доступности CRM |
| Сложность настройки | Ниже, меньше кода на стороне сайта | Выше, нужен доступ к обработчику формы |
| Риск потери источника | Минимальный | Выше при сбое передачи cookie |
| Кому подходит | Большинству проектов | Сложным кастомным воронкам |
После подключения обязательно распределите статусы. В CRM их может быть десятки, а Roistat работает с четырьмя группами: Не учитываются, В работе, Оплаченные, Отменённые. Пока статусы не разложены по группам, сделки не появятся в отчётах. Это ошибка номер один у новичков.
Официальная документация живёт на help-ru.roistat.com. Там есть готовые инструкции под каждую интеграцию из каталога. Но если вашего сервиса нет в списке или у вас своя CRM, читайте раздел API. Ройстат документация по API это то, что превращает ограниченный набор коннекторов в почти безграничную гибкость.
API у Roistat двусторонний. Сервис умеет и забирать данные из вашей системы, и отправлять данные в неё. Разберём ключевые методы.
Roistat периодически опрашивает вашу CRM двумя запросами. Первый, import_scheme, возвращает справочники: список статусов, полей и менеджеров. Второй, export, отдаёт сами сделки с пагинацией через limit и offset.
При выгрузке сделки обязательны четыре поля. Ниже их назначение.
| Поле | Назначение | Формат |
|---|---|---|
| id | Уникальный идентификатор сделки | Строка или число |
| date_create | Дата создания | UNIX-time или YYYY-MM-DD HH:MM в UTC+0 |
| status | ID статуса из справочника | Значение из import_scheme |
| roistat | Номер визита из cookie | Строка из roistat_visit |
Рекомендуется добавлять price для суммы сделки и cost для себестоимости. Без себестоимости Roistat посчитает выручку, но не чистую прибыль. Если хотите видеть реальный ROI, а не оборот, cost передавать нужно.
В обратную сторону работает метод создания заявки. Roistat шлёт запрос с action=lead, где в параметрах едут имя, телефон, email и блок data с дополнительными полями, включая номер визита. Ваша система должна ответить подтверждением вида status ok и вернуть order_id новой заявки.
Доступ к API защищён. Есть два способа. Первый, простой: MD5-токен, который формируется как хеш от связки логина и пароля и передаётся в каждом запросе. Второй, современный: OAuth 2.0 по схеме Client Credentials с токенами доступа. Для новых интеграций выбирайте OAuth, он безопаснее и не завязан на постоянную передачу пароля.
Кроме REST API есть JavaScript SDK. Он позволяет работать с визитами, событиями, коллтрекингом и онлайн-чатом прямо на клиенте, без серверной части. Удобно для точечных задач вроде передачи кастомных событий.
Расходы это третий поток данных. Без них аналитика покажет прибыль, но не покажет окупаемость. Roistat тянет расходы автоматически из Яндекс Директа, ВКонтакте, myTarget и других кабинетов через готовые интеграции.
Если канал не поддерживает автозагрузку, есть ручная разметка. К ссылке добавляют метку вида roistat со значением канал_тип_кампания_ключевое слово. Есть короткий алиас rs вместо roistat. Так система понимает, к какому каналу отнести визит, даже без прямой интеграции с кабинетом.
Для офлайн-каналов и звонков подключают коллтрекинг с динамической подменой номеров. Для заявок по почте работает email-трекинг с переадресацией адресов. Это закрывает те источники, которые обычно выпадают из веб-аналитики.
Чтобы ничего не забыть, держите порядок действий. Пропуск любого шага ломает цепочку данных.
Теория без практики бесполезна. Вот как связка окупается в реальных задачах.
Отключение убыточной рекламы. Отчёт показывает: канал приносит 3525 переходов, 325 заявок и 96 продаж на 320 000 рублей. Второй канал даёт больше кликов, но продаж почти нет. Вы перераспределяете бюджет и режете слив. Без сквозной аналитики оба канала выглядели бы одинаково.
Оценка окупаемости до продажи. В нишах с длинным циклом сделка закрывается через недели. Roistat связывает первый визит с финальной оплатой, даже если между ними прошёл месяц. Вы видите ROI по когорте, а не по случайной дате.
Контроль качества лидов. Через связку видно, какой канал даёт много заявок, но мало оплат. Дешёвые лиды часто оказываются самыми дорогими в пересчёте на продажу. Метка roistat и статусы CRM вскрывают это без ручных выгрузок.
Большинство проблем не в сервисе, а в настройке. Вот что ломается чаще всего.
Как понять, что настройка завершена, а не просто запущена. Проверьте по пунктам.
Если все шесть пунктов зелёные, интеграция рабочая. Дальше это просто вопрос дисциплины: держать разметку каналов в порядке и не ломать поле roistat при доработках сайта.
Да. Счётчик это источник номера визита. Без него нет связки между рекламным источником и сделкой. CRM хранит сделки, но не знает, откуда пришёл клиент. Именно cookie roistat_visit соединяет клик по объявлению с оплатой. Без счётчика сквозная аналитика физически невозможна, останется только учёт сделок без источников.
Каталог это готовые коннекторы для популярных систем: amoCRM, Битрикс24, YCLIENTS. Подключаются за несколько кликов без кода. API нужен, когда вашей системы нет в каталоге или у вас самописная CRM. Через API вы сами реализуете методы export и создание заявок. Гибче, но требует разработчика и чтения документации.
В 90 процентах случаев причина в нераспределённых статусах. Зайдите в настройки интеграции с CRM и разложите все статусы по четырём группам Roistat. Пока статус не отнесён ни к одной группе, сделка невидима для отчётов. Также проверьте, что поле roistat заполнено и номер визита реально долетает из формы в CRM.
Два пути. Первый: ручной ввод расходов в интерфейсе управления каналами. Второй: передача через API, если хотите автоматизировать. Для привязки визитов к такому каналу используйте ручную разметку ссылок меткой roistat или коротким алиасом rs. Так система отнесёт визиты к нужному источнику, даже без прямой интеграции с рекламным кабинетом.
Схема, где заявка идёт сначала в Roistat, а потом в CRM. При этом варианте заявка сохраняется в Roistat, даже если CRM временно недоступна. Прямая передача в CRM быстрее в настройке, но при сбое заявка может уйти без источника или потеряться. Для большинства проектов выбирайте передачу через Roistat как основной путь.