Блог / Гайды

Как настроить сквозную аналитику в WhatsApp

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

Шаг 1. Забрать расходы и клики из рекламного кабинета

Первый коннектор — Facebook/Instagram Marketing API. Он отдаёт по каждой кампании, группе объявлений и объявлению: расход, показы, клики и отдельно — переходы в WhatsApp (Meta считает их как messaging_conversation_started_7d, это открытые диалоги, инициированные с объявления). Без этого коннектора можно увидеть только «сколько людей написали в WhatsApp», но нельзя разложить это по объявлениям и понять, какой креатив реально продаёт, а какой просто собирает клики.

Шаг 2. Прокинуть UTM-метки клика из WABA прямо в CRM

Когда клиент нажимает «Написать в WhatsApp» на объявлении, сама по себе WhatsApp Business API (WABA) UTM-метки в CRM не передаёт — это отдельная задача, и для неё нужна прослойка между WABA и CRM. Мы используем для этого коннектор wtargeted: он встаёт между номером WhatsApp и CRM, ловит метки клика по объявлению (ID кампании, объявления, креатива) и прикрепляет их к сделке в момент её создания в CRM. Коннектор не привязан к одной CRM — он умеет отправлять UTM в любую систему с открытым API, поэтому эту часть схемы можно ставить поверх практически любой CRM, а не только AmoCRM.

Без этой прослойки в CRM долетает голый лид без контекста: видно, что человек написал, но не видно, с какого объявления. Именно wtargeted закрывает разрыв между рекламным кабинетом (шаг 1) и сделкой в CRM (шаг 3) — без него разбивку по кампаниям и креативам на дашборде взять неоткуда.

Шаг 3. Провести лид через CRM и не потерять первое касание

Дальше в дело вступает CRM — у неё свой webhook, который стреляет при создании сделки и при каждой смене стадии воронки (новый лид → квалифицирован → отказ / продажа). Так как UTM-метки уже прикреплены к сделке коннектором на шаге 2, CRM-webhook просто читает их вместе со стадией — не нужно сводить два источника данных постфактум. Это и есть ключевая деталь: атрибуция и стадия воронки должны попадать в дашборд из одной записи, а не склеиваться руками после факта, иначе часть лидов неизбежно теряет привязку к рекламе.

Шаг 4. Склеить всё в одну таблицу по датам

Дальше — техническая рутина, но именно она даёт «сквозной» эффект. Раз в сутки скрипт идёт в оба API (рекламный кабинет и CRM), забирает свежие данные и агрегирует их в одну таблицу по дням: расход, показы, клики, лиды, квал-лиды, продажи — и разбивки по кампаниям/объявлениям/креативам в виде JSON рядом. Дашборд читает уже готовую агрегированную таблицу, а не дёргает внешние API на каждый визит — иначе он был бы медленным и падал бы при рейт-лимитах Meta.

Что в итоге видно на дашборде

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

Частая ошибка при настройке

Отдельно стоит сказать про техническую мелочь, которая на практике ломает всю схему: рекламный кабинет должен слать клиента именно на номер бота, а не на тот номер, что «исторически» привязан к странице Facebook. Если в промо-объекте объявления не указан ID бизнес-номера WhatsApp явно, Meta по умолчанию роутит диалог на номер, подключённый к странице — а он может быть другим. Внешне всё выглядит рабочим (клиент пишет, кто-то отвечает), но бот и вся атрибуция при этом просто не участвуют в диалоге, и часть аналитики превращается в чёрную дыру. Проверяется это за одну минуту — но найти причину без этого знания можно неделями.

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

Обязательно ли использовать AmoCRM?

Нет. Коннектор между WABA и CRM (wtargeted) умеет отправлять UTM-метки в любую CRM с открытым API, не только в AmoCRM — принцип везде один: прикрепить метки клика к сделке в момент её создания.

Можно ли посчитать ROI не на весь WhatsApp, а на конкретный креатив?

Да. Для этого нужна прослойка между WABA и CRM, которая ловит UTM-метки клика по объявлению (кампания, объявление, креатив) и прикрепляет их к сделке — мы используем для этого wtargeted. Тогда каждая продажа в CRM привязывается к конкретному объявлению, а не просто к каналу «WhatsApp».

Как часто обновляются данные на дашборде?

Обычно раз в сутки — кроном рано утром за предыдущий день. Если нужна почти real-time картина, тот же скрипт можно запускать раз в час — это вопрос нагрузки на API рекламных кабинетов, а не архитектуры.

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

Гайды

Как отследить, откуда пришёл клиент в WhatsApp: гайд по сквозной аналитике

Гайды

Сквозная аналитика в Битрикс24 в Казахстане: Kaspi, WhatsApp, Instagram

Гайды

Meta CAPI для click-to-WhatsApp рекламы: как вернуть до 30% потерянных конверсий и снизить стоимость лида

Ко всем статьям →