Сквозная аналитика для Telegram-бота или канала: от клика по объявлению до депозита
Сквозная аналитика — это одна непрерывная запись на каждого пользователя: объявление, по которому он перешёл, момент запуска бота или вступления в канал, что он написал и что оплатил, с расходами на рекламу с одной стороны и выручкой с другой. Для сайта это обычная задача. Для воронки в Telegram её приходится решать иначе, поскольку пользователь покидает браузер при первом же нажатии. В этом руководстве описано, что должна содержать такая запись, как Tellmetric строит её без догадок и что из неё можно узнать.
Что означает сквозная аналитика для воронки в Telegram
Термин употребляют широко, поэтому уточним, что именно он должен давать. Для бота или канала, который наполняется платной рекламой, сквозная аналитика отвечает на четыре вопроса одним набором данных:
Какое объявление привело каждого участника. Не «сколько участников пришло за неделю», а для одного конкретного пользователя — кампания, группа объявлений и креатив, которые его привели.
Сколько стоил каждый шаг. Стоимость вступления, стоимость удержанного участника и стоимость первого депозита — по кампании и по креативу.
Сколько принёс каждый шаг. Депозиты и платежи, привязанные к тем же строкам, чтобы креатив показывал свою окупаемость, а не только CTR.
Знает ли об этом рекламная система. Вступление и депозит передаются обратно в Meta, TikTok или Google, чтобы кампания оптимизировалась на вносящих депозит, а не на клики.
Для всех четырёх нужен один идентификатор, присвоенный при клике, который сохраняется через запуск бота, вступление, дни переписки и депозит спустя недели. Потеряйте его на любом шаге — и всё последующее будет учтено, но не атрибутировано.
Почему пиксель или UTM-метки сами по себе этого не дают
Веб-аналитика опирается на два инструмента, и ни один из них не проникает в Telegram.
Пиксель работает на странице под вашим управлением. Группа, канал или бот в Telegram такой страницей не являются. Пиксель Meta не может сработать при вступлении, а Pixel Tag в Telegram Ads измеряет только сайты, как описано в материале пиксель Telegram Ads.
UTM-параметры заканчиваются на редиректе. Ссылка может донести utm_campaign до трекинговой ссылки, но Telegram не передаёт ничего из этого ни боту, ни группе. Внутри UTM существует только в журнале кликов и никак не связана с вступившим аккаунтом. См. UTM-трекинг рекламы в Telegram.
Сравнение числа участников с числом кликов — не атрибуция. Оно даёт одно соотношение по всему каналу, а не результат по объявлению, и ошибочно всякий раз, когда люди вступают ещё и из других источников.
Что Telegram действительно предоставляет, так это Bot API: боту-администратору сообщается, кто вступил и по какой инвайт-ссылке, любому боту — с каким стартовым кодом пользователь нажал «Запустить», и бот получает платежи в Stars. Недостающее звено — привязка каждого из этих фактов к одному клику.
Как Tellmetric детерминированно следует за одним пользователем
Клик. Объявление ведёт на трекинговую ссылку, созданную на странице Links (ссылки). Ссылка регистрирует клик с собственным идентификатором (c_…), сохраняет идентификатор клика платформы, если он есть (fbclid, ttclid, gclid, sccid и другие), параметры кампании, sub1–sub9, страну и устройство.
Запуск бота или вступление. Посетитель переходит к боту по адресу t.me/<bot>?start=<идентификатор клика>, так что нажатие «Запустить» приходит вместе с идентификатором клика. Для группы или канала бот создаёт одноразовую инвайт-ссылку для этого одного клика; при включённом прямом вступлении посетитель направляется на неё сразу. Когда пользователь вступает, Telegram сообщает боту, какая инвайт-ссылка была использована, а эта ссылка принадлежит ровно одному клику. Ни временных окон, ни сопоставления по IP-адресу.
Сообщения. Первое сообщение вашему боту после перехода по ссылке на чат записывается за кликом. Сообщения без ссылки сохраняются как неатрибутированные: они учитываются, но никогда не засчитываются не тому объявлению.
Депозит. Брокер, платёжный провайдер или ваш собственный бэкенд отправляет постбэк или вызов API событий с идентификатором клика. Если платёжная система знает только аккаунт клиента в Telegram, API событий принимает вместо этого ID пользователя Telegram, и депозит сопоставляется с кликом, с которым этот пользователь пришёл. Платежи в Stars, полученные ботом, фиксируются как покупки сами по себе и атрибутируются через идентификатор клика в payload счёта либо, если его нет, через вступление пользователя.
Что происходит потом. Выходы и исключения из группы регистрируются; по истечении заданного вами числа дней каждое вступление помечается как удержанное или нет. Возвраты привязываются к своей покупке и никогда не передаются в рекламные системы.
Поскольку каждый шаг сопоставляется по идентификатору, а не по времени, депозит через месяц после клика атрибутируется так же, как депозит в тот же день. Цепочка пошагово описана в материалах трекинг конверсий Telegram и атрибуция в Telegram.
Что показывает панель аналитики
Панель аналитики состоит из четырёх страниц за одним рядом вкладок, и все они читают одни и те же записи.
Overview (обзор). Клики, вступления, сообщения и депозиты по дням, где люди отсеиваются между шагами (доля вступивших и доля внёсших депозит), лучшие кампании и проверки, требующие внимания.
Results (результаты). Таблица воронки по кампании, объявлению или креативу, источнику трафика, ссылке, стране или устройству, а при использовании шаблона рекламного URL — по идентификаторам кампании, группы объявлений и объявления Meta (аналогично для TikTok и Google). При наличии расходов каждая строка содержит расходы, стоимость вступления, стоимость удержанного участника, стоимость депозита и ROAS.
Community (сообщество). Кто остаётся в группе или на сервере по истечении периода удержания, а на тарифах Pro и Agency — сколько стоят новые участники: люди, сгруппированные по неделе вступления, и депозиты, внесённые ими впоследствии.
Delivery (доставка). Что передано в Meta и другие платформы, насколько хорошо Meta распознаёт ваших клиентов (качество сопоставления, Pro и Agency), последняя активность и состояние трекинга, которое уведомляет владельца по почте, когда клики идут, а вступлений нет, бот теряет права администратора, Meta отклоняет события или качество сопоставления падает.
Расходы поступают из трёх источников. Подключённый рекламный аккаунт Meta и подключённый аккаунт Google Ads импортируются ежедневно. У Telegram Ads нет API отчётности, поэтому на странице Telegram Ads в разделе Ad accounts (рекламные аккаунты) каждая ссылка получает адрес t.me для своего креатива, расходы вносятся вручную, и появляются те же удельные показатели.
Передача результатов обратно в рекламные системы
Сквозная аналитика — это не только отчёт. Вступление и депозит возвращаются в платформу, показавшую объявление, вместе с исходным идентификатором клика, чтобы кампанию можно было оптимизировать на значимый шаг. Вступление по умолчанию поступает в Meta как CompleteRegistration, сообщение — как Contact, депозит — как Purchase с суммой и валютой; соответствие можно изменить для каждого рабочего пространства. Meta получает события на любом тарифе через Conversions API; TikTok, Snapchat, Reddit, Spotify, X и Google Ads доступны на тарифах Pro и Agency, причём Google Ads получает только депозиты и покупки. Доставка событий описана в материале Meta Conversions API для Telegram.
Отчёты в других системах: выгрузки и вебхуки
У команд, которые ведут отчётность в Google Таблицах, BI-системе или партнёрском трекере, есть два пути вывода данных.
Выгрузка в CSV. Любую таблицу панели аналитики можно скачать с применёнными фильтрами на тарифах Pro и Agency.
Исходящие вебхуки. На странице Connections (подключения) можно пересылать каждое вступление, сообщение, депозит, лид и изменение членства на указанный URL — либо GET-запросом по шаблону с макросами {clickid}, {status} и {payout}, либо подписанным JSON POST-запросом с заголовком X-Tellmetric-Signature (HMAC-SHA256) и заголовком X-Tellmetric-Event. Кнопка Send a test (отправить тест) сначала отправляет образец.
Формат GET подходит для Keitaro, RedTrack и Binom; формат JSON ожидают Zapier, Make и Apps Script для Google Таблиц, рецепты приведены в материале Telegram в Zapier, Make и Google Таблицы.
Условный пример
Приведённые ниже цифры условны. Канал с торговыми сигналами в течение недели запускает две группы объявлений в Meta и один креатив в Telegram Ads, у каждого — собственная ссылка типа «Opens your group» с включённым прямым вступлением. Депозиты приходят постбэком от брокера, а идентификатор клика передаётся через оффер-ссылку, опубликованную в канале.
codeРезультаты по группам объявлений за неделю (условно)
Если судить по стоимости вступления, побеждает креатив в Telegram Ads с €0,49. По стоимости удержанного участника все три близки. По ROAS похожая аудитория приносит более чем восьмикратную отдачу от расходов, тогда как креатив в Telegram Ads возвращает менее двух с половиной крат, потому что его дешёвые участники быстро уходят и редко вносят депозит. Без цепочки от клика до депозита бюджет ушёл бы на самые дешёвые вступления. С ней 31 депозит похожей аудитории ушёл в Meta событиями Purchase с суммой, и эту группу объявлений можно оптимизировать на вносящих депозит.
Настройка
Подключите бота. Создайте его через @BotFather, вставьте токен на странице Connections и добавьте бота в группу или канал как администратора с правом приглашать пользователей. Режим Member only (только участник) для групп, где права администратора выдать нельзя, вместо этого сопоставляет вступление с нажатием «Запустить»; каналы принимают ботов только как администраторов.
Подключите рекламные системы. Идентификатор набора данных Meta и токен Conversions API, а также рекламный аккаунт для расходов; остальные платформы — на тарифах Pro и Agency.
Создайте по одной ссылке на группу объявлений или креатив на странице Links, назовите её соответственно и используйте предложенный страницей шаблон рекламного URL, чтобы идентификаторы кампании, группы объявлений и объявления передавались с каждым кликом.
Подключите депозиты через постбэк-URL или API событий со страницы для разработчиков; ответ на тестовый постбэк сообщает, был ли найден клик.
Выполните проверку на странице Setup test (проверка настройки), а после первого дня расходов откройте Tracking health (состояние трекинга).
Частые вопросы
Нужен ли для сквозной аналитики сайт или лендинг?
Нет. Объявление может вести прямо на трекинговую ссылку, которая направляет посетителя в Telegram. Если лендинг всё же есть, однострочный сниппет tracker.js передаёт идентификаторы клика в размещённые на нём ссылки.
Работает ли это для бота без группы?
Да. Ссылка типа «Opens a chat with your bot» передаёт идентификатор клика в стартовом параметре, поэтому запуск, первое сообщение, любое событие Mini App и любой платёж в Stars атрибутируются клику.
Можно ли атрибутировать депозит без идентификатора клика?
Через API событий — да: передайте ID пользователя Telegram, внёсшего депозит, и депозит будет сопоставлен с кликом, с которым этот пользователь пришёл. Для постбэка нужен идентификатор клика, который оффер-ссылка подставляет макросом {clickid}.
Отслеживает ли Tellmetric людей через мой личный аккаунт Telegram?
Нет. Вступления фиксирует ваш бот — как администратор или как участник, но никогда не личный аккаунт. Внутри Telegram ничего не устанавливается.
Работает ли это и для Discord?
Такая же цепочка существует для сервера Discord: ссылка на вступление проводит посетителя через экран авторизации Discord, а обратный вызов записывает вступление за кликом. См. трекинг конверсий Discord.