журналопыт и цифрыцифры и определенияавтор

директор и машина · маркетинг · запись № 008 · · Давид Герштейн

Сквозная аналитика своими руками: аудит данных вместо покупки BI-сервиса

10–15% лидов не атрибутируется (в декабре — 30%) · дубли давали 2-3 копии на лид · конверсия органики упала с 17% до 10% за 4 месяца
Коротко · суть разбора

Сквозную аналитику стоит начинать не с покупки сервиса, а с проверки данных: дубли дают 2-3 копии лида, 10-15% трафика не атрибутируется (в декабре — до 30%). Сначала свести отчёты продаж и маркетинга к одной точке правды и посчитать стоимость лида по каналам через качественные лиды, а не валовые заявки, а дальше повесить дешёвую модель на ежедневную сверку цифр вместо часа ручной работы аналитика в день.

Содержание · 8 разделов
  1. Сквозная аналитика: с чего начать, пока сервис не куплен
  2. Сквозная аналитика: сначала ревизия данных, а не дашборд
  3. Атрибуция: 10-15% лидов вы всё равно не отследите
  4. Цена канала: считать по качественным лидам, а не по валовым заявкам
  5. Контрольные точки: план по дням, а не по месяцу
  6. ИИ-связка: ежедневная проверка отчёта на аномалии вместо ручной сверки
  7. Экономика: что стоит и что даёт
  8. Чек-лист: с чего начать в понедельник

Суммы в разборе пересчитаны на условную компанию — пропорции, механика и выводы реальные.

Сквозная аналитика: с чего начать, пока сервис не куплен

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

Первую рабочую версию вы соберёте за неделю на том, что уже есть: выгрузка из CRM, Google Sheets, час внимания. На этом шаге в компании на 40 человек нашлись дубли, дававшие 2-3 копии на один лид, и 10-15% лидов, которые не привязать к каналу вообще (в декабре — до 30%). Пока эти дыры открыты, любой купленный дашборд будет аккуратно показывать ваши же кривые данные.

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

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

Вот и весь секрет: сквозную аналитику начинают не с покупки сервиса, а с проверки, не врут ли данные, которые уже есть. Час на аудит одного источника обычно дешевле недели решений, принятых по кривой картине.

Сквозная аналитика: сначала ревизия данных, а не дашборд

У меня было ощущение, что сквозная аналитика — это дашборд с графиками и деньги на дорогую платформу. На деле первые месяцы ушли не на визуализацию, а на поиск дыр в данных, которые уже были. Дыры оказались простыми и дорогими. Я и сам сначала искал, какой сервис купить, а не что проверить, — на этот поиск ушло больше времени, чем потом на весь аудит.

Пример: у двух менеджеров разошлись цифры по продажам за месяц — расхождение почти на 10%. Проверили через CRM: потеряли одну сделку — её посчитали рекомендацией, а не лидом, и не включили в расчёт. Дальше нашлась вторая проблема: при фильтрации по месяцу оплаты вместо месяца создания договора разница выросла почти до 40% от суммы. Это не ошибка человека — это ошибка настройки фильтра, которую никто не проверял месяцами.

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

ПравилоНе строй сквозную аналитику поверх данных, которые никто не проверял на дубли и сдвиги дат. Час на аудит источника экономит месяц неверных решений.

Дубли лидов — самая частая дыра

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

Похожая история с датами разобрана в статье о том, как CRM врёт данные и сдвигает даты — там же способ поймать искажение до того, как оно попадёт в отчёт для руководителя.

Где нашли ошибкуРасхождениеЭффект, если не поймать
Отчёт двух менеджеров за месяцРасхождение почти на 10% — из-за сделки, посчитанной как рекомендация, а не лидРешения по итогам месяца принимаются на заниженной выручке
Фильтр по дате оплаты вместо даты договораРазница выросла почти до 40% от суммы в зависимости от способа фильтрацииПрогноз кассы искажается на треть без единой ошибки человека
Дубли на входящей точке (форма на сайте)валовых лидов заметно больше уникальных контактов — на треть за деньКонверсия выглядит упавшей в полтора раза, хотя реальный трафик не изменился

Атрибуция: 10-15% лидов вы всё равно не отследите

В любой кампании часть лидов не привязать к каналу — кто-то блокирует куки, кто-то чистит историю браузера. У нас эта доля держалась на 10-15%, а в декабре подскочила до 30%: праздничный трафик идёт с других устройств и по другим сценариям.

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

Отдельная и более неприятная версия той же проблемы — когда система технически не даёт разделить конверсию даже по видимым источникам. У нас Google и Яндекс какое-то время сливались в один поток из-за ограничений интеграции. Без разделения непонятно, какой канал реально работает — это уже не аналитическая, а управленческая проблема: нет данных — нет рычага давления ни на подрядчика, ни на бюджет. Если ваш подрядчик показывает вам два источника одной строкой, это не отчёт, а его удобство — просите разделить до того, как обсуждать результат.

рассылка журнала

Разборы про лиды и рекламу — на почту

Куда утекает бюджет, почему падает качество лидов и как считать источники, когда половина без метки.

Цена канала: считать по качественным лидам, а не по валовым заявкам

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

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

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

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

Ещё случай: после смены текста объявления по чужой рекомендации конверсия упала с 33% до 6% — в 5,5 раза, а объём лидов вырос на четверть. Формально «лидов стало больше», по факту стоимость качественного лида выросла в разы: новый трафик оказался возрастным, иногородним, из-за рубежа. Без разбивки по качеству это выглядело бы успехом ещё две недели — пока отдел продаж не начал жаловаться на пустые звонки.

Что меритьЧастая ошибкаЧто делать вместо
Стоимость лидаБюджет / валовые лидыБюджет / лиды, прошедшие контроль качества
Конверсия каналаСравнивать все каналы одной меркойУчитывать длину цикла сделки для каждого источника
АтрибуцияНасильно распределять неотслеживаемые лидыВыделять отдельной категорией с причиной
План по лидамСмотреть только на итог месяцаСверять план по дням и неделям

О том, как разрыв между количеством лидов и реальными продажами прячется в отчётах, я подробнее писал в статье «Лиды есть, а продаж нет» — там разобрано, где именно теряются деньги между маркетингом и отделом продаж.

Контрольные точки: план по дням, а не по месяцу

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

За месяц качественными оказались только 40% лидов при плановом отвале не больше 20%. Эту разницу видно, только если считать конверсию в качество каждую неделю, а не подводить итог постфактум. То же с сезонностью: декабрь у нас идёт с коэффициентом 0,8 к плану — заранее известно, что лидов будет на 20% меньше, и это не повод паниковать, а повод не сравнивать декабрь с октябрём напрямую.

Технически такой дашборд не требует дорогого сервиса — у нас его за выходные собрал специалист по SEO, с отслеживанием лидов и конверсий по страницам в реальном времени. Дальше пошла ручная работа: сверять рост трафика с падением продаж и искать, на каком этапе разрыв. Например, конверсия органического трафика падала четыре месяца подряд — с 17% в январе до 10% в апреле, при этом трафик рос. Без разбивки по неделям это выглядело бы как «сайт работает», а по факту качество лидов с этого канала всё время снижалось. Мне понадобилось четыре месяца, чтобы это заметить, — ровно потому, что я смотрел на итог месяца, а не на неделю.

На диаграмме — конверсия органического трафика сайта в лиды, % от посетителей. Трафик за этот же период рос — падала именно конверсия, что видно только при разбивке по месяцам, а не по итогу квартала.

бесплатный курс · телеграм

Свести рекламу и продажи в одну картину

В курсе — как поставить сквозную картину от источника до оплаты: где брать данные, что считать самому, что отдать машине. Без подрядчиков и без программирования.

Начать курс бесплатно →

открывается в Telegram · доступ по подписке на канал

ИИ-связка: ежедневная проверка отчёта на аномалии вместо ручной сверки

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

Конвейер выглядит так:

1. Вебхук из Bitrix24 (или amoCRM API) раз в сутки выгружает новые сделки и лиды в Google Sheets: дата, канал, статус, телефон/email, отметка о прохождении контроля качества.
2. Google Apps Script по расписанию (триггер time-driven, ежедневно в 7:00) сворачивает сырые строки в JSON-сводку за последние 7 дней по каналам.
3. Скрипт отправляет JSON в LLM API с промптом ниже.
4. Ответ модели (тоже JSON) пишется в отдельный лист «Аномалии» и дублируется уведомлением в Telegram-бот ответственному аналитику.
5. Аналитик утром открывает лист, а не весь отчёт целиком — смотрит только то, что модель пометила как high или medium.

Модель: дешёвый классификатор — задача классификации и сверки чисел по жёсткой схеме, не творческая, важны скорость и цена при ежедневном прогоне.

Ты — аналитик отдела маркетинга. На входе JSON со сводкой лидов по каналам за последние 7 дней.
Проверь на аномалии:
1. Резкий рост доли неатрибутируемых лидов (более чем на 20% от нормы).
2. Подозрение на дубли: leads_gross превышает leads_unique_contacts более чем на 15% за день.
3. Расхождение конверсии по каналу более чем в 2 раза от среднего за предыдущие 4 недели.
4. Отставание от плана по дням более чем на 20%.

Входные данные:
{{JSON: [{date, channel, leads_gross, leads_unique_contacts, leads_qualified, unattributed_count, plan_daily}]}}

Верни строго JSON по схеме, без пояснений вне JSON:
{"date": "...", "anomalies": [{"type": "...", "channel": "...", "severity": "low|medium|high", "detail": "..."}], "action_required": true/false}

Пример ответа модели:

{
  "date": "2026-06-10",
  "anomalies": [
    {"type": "duplicate_suspect", "channel": "site_form",
     "severity": "high",
     "detail": "leads_gross заметно превышает unique_contacts, разница около трети"}
  ],
  "action_required": true
}
Google Sheets — лист «Аномалии»
+34%лидов gross сверх нормы за день
~⅓разрыв с уникальными контактами
high подозрение на дубли
ДатаКаналТип аномалииВажность
2026-06-10site_formduplicate_suspect high

Так выглядит лист «Аномалии», в который модель пишет результат прогона: аналитик открывает только его, а не весь отчёт целиком.

Инженерная обвязка простая, без энтерпрайза: Google Apps Script пишет логи прогонов в отдельный лист, каждая ошибка API — таймаут, лимит токенов, пустой ответ — попадает туда же с меткой времени и дублируется в Telegram сообщением «прогон не выполнен». Перезапуск — вручную, кнопкой в меню таблицы, без доступа к серверу аналитик делает это сам за минуту. Тот же принцип я описывал в статье про реальные счета за ИИ — дешёвая модель на рутинной сверке обходится в доллары в месяц, а не в тысячи.

Где ломается модельДешёвая модель хорошо ловит явные расхождения чисел, но иногда путает причину: помечает сезонное падение — тот же декабрь с коэффициентом 0,8 — как аномалию. Порог severity нужно калибровать вручную первые 2-3 недели, иначе аналитик начнёт игнорировать уведомления, и тогда автоматизация окажется хуже, чем её отсутствие.

Экономика: что стоит и что даёт

Настройка ~14-26 часов разово (аудит источников + связка вебхук → Sheets → LLM), эксплуатация — несколько долларов в месяц на токены, эффект — экономия около 20 часов ручной сверки в месяц (оценка).

Внедрение. Аудит источников данных — дублей, дат, атрибуции — разовая работа аналитика или толкового менеджера, оценочно 8-16 часов в зависимости от числа источников. Настройка связки вебхук → Google Sheets → LLM API — ещё 6-10 часов работы того, кто умеет писать Apps Script; часто это тот же человек, что уже собирал дашборд за выходные, а не отдельный дорогой подрядчик.

Эксплуатация. Дешёвая модель на ежедневном прогоне сводки по 5-10 каналам обходится в несколько долларов в месяц, не в десятки. Основная статья расходов — не токены, а время человека, который читает и разбирает флаги.

Эффект. Ручная сверка отчётов продаж и маркетинга занимала у аналитика около часа в день — это около 20 часов чистого рабочего времени в месяц только на то, чтобы свести две таблицы руками, не считая ошибок, которые всё равно проскакивают, потому что на 22-й день подряд быть внимательным устаёшь. Что мы не считаем эффектом: время аналитика не сокращается до нуля — оно перераспределяется на разбор флагов, помеченных моделью, а не на саму сверку; в деньгах это экономия часов на рутине, а не сокращение штата.

Окупаемость на этих же оценках: разовая настройка — 14-26 часов работы. Экономия ручного времени — около 20 часов в месяц, что при ставке ~1 000 ₽/час даёт около 20 000 ₽/мес (оценка). Даже по верхней границе разовых работ окупаемость наступает меньше чем за полтора месяца, а дальше это чистая экономия минус несколько долларов на токены.

Отдельно — риск от решения на грязных данных, и это не эффект автоматизации, а иллюстрация цены задержки. При обороте отдела ~9 млн ₽/мес и среднем чеке ~180 тыс. ₽ это около 50 сделок в месяц; дневной бюджет канала, крутящийся на искажённой картине неделю, — это риск потратить бюджет вслепую на канал, который на самом деле работает иначе, чем показывает отчёт. Похожая история — с конверсией 33%→6%: две недели трафика «по инерции» на неверной гипотезе съели заметную часть месячного бюджета канала на лидов, которых потом пришлось признать нецелевыми.

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

Чек-лист: с чего начать в понедельник

  1. Сравнить количество лидов в CRM с количеством уникальных телефонов/email за последнюю неделю — найти дубли на входящих точках.
  2. Выделить неатрибутируемые лиды отдельной категорией в отчёте и посчитать их долю за последний месяц.
  3. Разбить месячный план по лидам на недели и дни, отметить контрольные точки для отставания.
  4. Пересчитать стоимость лида по каждому каналу через число лидов, прошедших контроль качества, а не валовое.
  5. Проверить, можно ли технически разделить источники трафика (например, Google и Яндекс) — если нет, завести задачу на доработку интеграции отдельно от отчётности.
  6. Настроить простую ежедневную сверку через вебхук из CRM и дешёвую модель вместо часа ручной работы аналитика в день.

Ни один из этих шести пунктов не требует покупки BI-платформы. Все они требуют часа-двух внимания к данным, которые уже есть в системе — и, судя по практике, именно там прячется больше денег, чем в новом канале трафика.

Начните на этой неделе с малого: свяжите источник лида с фактом оплаты хотя бы вручную, по последним пятидесяти сделкам. Уже эта таблица покажет вам, где вы переплачиваете. Полная механика — в бесплатном курсе.

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

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

Частые вопросы

С чего начать сквозную аналитику своими руками, без бюджета на сервисы?

С аудита данных, которые уже есть в CRM и рекламных кабинетах: найти дубли лидов, свести отчёты продаж и маркетинга, выделить неатрибутируемый трафик отдельной категорией. Платный BI-сервис на этом этапе не нужен — нужны Google Sheets, вебхук из CRM и час времени.

Как считать стоимость лида по каналам без дорогого сервиса?

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

Что делать с лидами, которые невозможно атрибутировать?

Не пытаться силой привязать их к каналу — выделить в отдельную категорию с объяснением причины (блокировщики, очистка cookie) и следить, чтобы её доля не росла бесконтрольно: рост доли — сигнал, что поменялось что-то в трафике или на сайте.

Сквозная аналитика — это то же самое, что подключить готовый сервис или модуль в CRM?

Нет. Сервис — это витрина поверх ваших данных: он покажет ровно то, что лежит в CRM и рекламных кабинетах, вместе с дублями и неверными датами. Пока источники не проверены, подключение платформы не добавляет точности — оно делает ошибку убедительнее. Аудит источников делают руками, его нельзя купить.

#аналитика и отчётность #ии и нейросети #деньги

→Дальше читать подобрано по направлению и темам
002
Почему реклама не окупается: окупаемость рекламы считают от кассы, а не от кликов
350 000 ₽ на инфлюенсеров · 0 договоров · конверсия 33%→6%
045
Почему UTM-метки теряются у части лидов — и как ИИ восстанавливает источник
10–15% лидов без источника, до 30% в декабре, ~18 лидов/мес теряют разметку (оценка)
044
Заявки с сайта: где они теряются на пути от формы до оплаты
качество лидов 40% при плане 80% · органика 17%→<10% · неатрибуция до 30% в декабре