Никита.Бердников
roistat

Настройка Roistat без ошибок: как с первого раза свести рекламу с продажами в amoCRM и увидеть реальную окупаемость

Разбираю настройку Roistat как сборку цепочки реклама→заявка→сделка→оплата: где рвётся атрибуция и почему окупаемость каналов считается неверно с первого дня.

Никита Бердников
Партнёр amoCRM и Roistat·26 июня 2026
Настройка Roistat без ошибок: как с первого раза свести рекламу с продажами в amoCRM и увидеть реальную окупаемость

«Подключён» — ещё не значит «считает верно»

Roistat начинает рисовать окупаемость каналов в первый же день после подключения. И цифры выглядят достоверно: вот источники, вот заявки, вот доход по строкам. Проблема в том, что эти цифры остаются на экране даже когда цепочка реклама→заявка→сделка→оплата разорвана в одном из звеньев. Система не показывает дыру — она показывает результат, посчитанный по тому, что до неё долетело.

Окупаемость становится правдой только при одном условии: непрерывная цепочка. Номер визита долетает из cookie в поле сделки amoCRM, выручка берётся из даты оплаты, разметка едина по всем кабинетам. Рвётся любое звено — ручная сделка без источника, пустое поле roistat, разнобой в метках — и система продолжает считать, но уже неверно. Бюджет начинают перераспределять в пользу каналов, которые просто лучше «видно» в отчёте. С первого дня.

Разберу цепочку по звеньям — где именно она рвётся на старте и почему.

Номер визита — звено, на котором держится атрибуция

Вся связка источника с деньгами держится на одном техническом параметре — номере визита. Пользователь заходит на сайт, ему в cookie _roistat_visit_ присваивается номер визита. Он оставляет заявку — в amoCRM создаётся лид, и в поле «roistat» автоматически передаётся этот номер. Именно он связывает конкретную сделку с источником трафика, по которому человек пришёл.

В международной версии Kommo это поле приходится создавать вручную. Нет поля — связь источника и сделки не строится вообще, и весь дальнейший расчёт окупаемости опирается на пустоту.

Передачу cookie на старте я проверяю в первую очередь, потому что обрыв здесь обнуляет атрибуцию по всем последующим сделкам разом. В отчёте это выглядит безобидно — «трафик без источника», строчка как строчка. На деле это означает, что часть выручки уже не привязана ни к одному каналу.

Деньги приходят из даты оплаты в amoCRM

Цепочка атрибуции Roistat
Цепочка атрибуции Roistat

Дальше важный момент, который ломает интуицию. Выручка для расчёта окупаемости подтягивается из поля «Дата оплаты» (date_paid), а не по факту поступления заявки. Roistat загружает полную историю изменения сделок и умеет подтягивать себестоимость из CRM — значит, считать можно по чистым деньгам, а не по обороту.

Следствие простое и жёсткое: ROMI по оплатам существует ровно настолько, насколько менеджеры реально проставляют дату оплаты. Не проставили — доход не пришивается к источнику, и канал, который привёл оплатившего клиента, в отчёте выглядит бесплатной нагрузкой.

CRM здесь остаётся единственным достоверным источником по деньгам. Когда сделка переходит в статус «Оплачено», система находит идентификатор, присвоенный человеку при первом визите, и привязывает выручку к каналу. Рекламные кабинеты видят клики и заявки — деньги они не видят. Поэтому источник истины по выручке — amoCRM, и качество данных в нём определяет качество всей аналитики.

Где цепочка рвётся на старте

Технических причин обнуления атрибуции на старте немного, и они повторяются от проекта к проекту. На Tilda в формах отключена опция «Посылать Cookies» — номер визита просто не уезжает в CRM. В ссылках сломана разметка: пропали разделители ?&, потеряны параметры rs/roistat, отсутствуют roistat_referrer и roistat_pos. SIP-пользователь коллтрекинга не зарегистрирован в АТС — и звонки не привязываются к визитам, телефонный канал выпадает целиком.

Диагностика Roistat задаёт здесь конкретные пороги, и я отношусь к ним как к сигнализации. Уже 1% заявок без номера визита — повод лезть проверять передачу cookies. Поле roistat заполнено меньше чем у 70% сделок (пусто более чем у трети) — это системная потеря источника, а не случайность.

Главная дыра — без техники. Офлайн-сделки и ручной ввод. Менеджер заводит сделку руками, канал не указывает — и она выпадает из атрибуции навсегда: привязать клиента к рекламе постфактум уже нельзя, метки фиксируются в момент клика, которого здесь не было. Лечится это автоматизацией ввода — статическими значениями и промокодами для офлайн-источников плюс заполнением поля roistat для каждого такого случая. Сборку этой цепочки целиком я и беру на настройку Roistat под выручку, потому что половина обрывов живёт именно на стыке сайта, телефонии и ручного ввода в CRM.

Единое написание меток по всем кабинетам

Отдельно — разметка UTM. Каждое объявление обязано стабильно передавать utm_source, utm_medium, utm_campaign, utm_content, utm_term в одинаковом написании по всем системам — Яндекс.Директ, VK Реклама и остальные. Разнобой в написании дробит один и тот же канал на несколько строк в отчёте, и окупаемость по нему рассыпается: часть выручки в одной строке, часть в другой, вывод по каналу сделать нельзя.

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

Когда окупаемость становится правдой

ROMI считается прямо: (Доход − Затраты на маркетинг) ÷ Затраты на маркетинг × 100%. При доходе 500 000 ₽ и расходах 200 000 ₽ выходит 150%. Ниже 0% — реклама в убыток, 0% — вернули вложенное без прибыли. Формула элементарная, и именно поэтому опасная: она посчитает что угодно из любых чисел, которые ей дали.

Корректный ROMI живёт только при сведённых в один контур данных сайта, рекламных кабинетов, CRM и коллтрекинга. При разорванной атрибуции цифра спекулятивна — красивая и бесполезная. Плюс сами пороги «нормы» не учитывают маржинальность: высокий процент при тонкой марже легко прячет убыток. Как одна оплата проходит через формулу и где модель приписывает её не тому каналу — я разбирал отдельно в материале о том, как Roistat считает ROMI на одной воронке.

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

И последнее. Пока кабинеты, CRM, телефония и веб-аналитика не связаны в один контур, одна конверсия считается по-разному в каждой системе. Тогда оптимизация уходит на дешёвый клик и дешёвую заявку — вместо дешёвой продажи. Roistat окупается в тот момент, когда цепочка реклама→заявка→сделка→оплата собрана без разрывов. До этого момента он не считает окупаемость — он её имитирует.

roistatсквозная аналитика
Никита Бердников

Никита Бердников

Официальный партнёр amoCRM (ID 28602378), Roistat и SIPUNI. 5+ лет настраиваю CRM, сквозную аналитику и телефонию под выручку — лично, без агентских посредников. 25+ проектов, ₽100M+ выручки клиентов.

Похожие статьи

Чат-бот в amoCRM по шагам воронки: где автоответ ускоряет реакцию, а где нужен живой менеджер
5 мин

Чат-бот в amoCRM по шагам воронки: где автоответ ускоряет реакцию, а где нужен живой менеджер

Разбираю, на каких шагах воронки бот в amoCRM ускоряет реакцию и квалифицирует заявку, где нужен живой менеджер и какие ошибки ломают атрибуцию.

amocrm
Никита Бердников · 16 июля 2026Читать
amoCRM для автосервиса: как возвращать клиентов на плановое ТО и видеть, какая реклама приводит платящих
5 мин

amoCRM для автосервиса: как возвращать клиентов на плановое ТО и видеть, какая реклама приводит платящих

Как настроить воронку и напоминания о ТО в amoCRM, чтобы возвращать клиентов на регламентное обслуживание и связывать заявку с источником оплаты.

amocrm
Никита Бердников · 15 июля 2026Читать
Расходы в Roistat не сходятся с кабинетом Яндекса: где теряются деньги и как свести цифры до факта
6 мин

Расходы в Roistat не сходятся с кабинетом Яндекса: где теряются деньги и как свести цифры до факта

Разбираю, почему сумма расхода в Roistat отличается от кабинета Яндекс.Директ — НДС, комиссии, разметка, сроки данных — и как свести расход до факта для честног

roistatсквозная аналитика
Никита Бердников · 14 июля 2026Читать