Чтобы отслеживать продажи из Telegram Ads, нужно сохранить источник рекламы при первом идентифицируемом действии пользователя, передать его в CRM и связать с заказом и подтверждённой оплатой. Рабочая цепочка выглядит так:
объявление Telegram Ads → Telegram-бот или Mini App → пользователь → заявка → заказ → оплата
Встроенная статистика Telegram Ads показывает параметры объявления, просмотры sponsored message, вступления в канал и запуски бота после просмотра. Продажи, выручка и прибыль в открытом описании статистики не перечислены, поэтому коммерческий результат необходимо получать из бота, Mini App, CRM, платёжной системы или собственной базы. (Telegram Ad Platform)
Главная задача — не просто записать оплату, а сохранить связь между ней и конкретным объявлением. Для этого каждому объявлению присваивают внутренний код, передают его через параметр start или startapp, сохраняют вместе с Telegram user ID и переносят в лид, сделку и заказ.
Если реклама ведёт прямо в Telegram-канал, точная пользовательская атрибуция сложнее: Telegram Ads показывает агрегированное количество вступлений, но для связи подписчика с будущей покупкой нужен дополнительный измеримый шаг — запуск бота, открытие Mini App, форма, промокод или иной идентифицируемый сценарий.
Коротко
- Каждому объявлению нужен отдельный код источника.
- Для бота код передаётся через параметр
start. - Для Mini App используется параметр
startapp. - Источник нужно сохранять на сервере при первом контакте.
- CRM должна получать код объявления вместе с заявкой.
- Оплату связывают с пользователем через уникальный
order_id. - Продажей считается подтверждённый платёж, а не нажатие кнопки или создание счёта.
- В итоговом отчёте сопоставляют расходы, лиды, продажи, выручку, CAC и ROMI.
Рекомендация от автора GramTelegram: сначала настройте передачу рекламного источника до оплаты и проведите контрольную покупку. Дашборд стоит строить только после того, как вся цепочка проходит без ручного исправления данных.
Что считать продажей из Telegram Ads
Продажа из Telegram Ads — это подтверждённая покупка пользователя, которого выбранная модель атрибуции связывает с конкретным объявлением или рекламной кампанией.
Для корректного учёта должны выполняться три условия:
- Пользователь пришёл по размеченной рекламной ссылке.
- Источник сохранился до создания заявки или заказа.
- Платёж подтверждён платёжной системой или учётной системой.
Не следует считать продажей:
- открытие канала;
- вступление в канал;
- запуск бота;
- просмотр тарифа;
- нажатие «Купить»;
- создание заказа;
- открытие платёжной формы;
- выставленный, но не оплаченный счёт;
- предварительную проверку платежа.
Если используются встроенные платежи Telegram, завершённую операцию подтверждает объект successful_payment. Ответ на pre_checkout_query ещё не гарантирует, что деньги действительно получены. (Telegram)
Для управленческого отчёта стоит разделять:
| Событие | Что оно означает |
|---|---|
order_created | Пользователь создал заказ |
checkout_started | Пользователь начал оплату |
payment_success | Платёж подтверждён |
payment_refunded | Деньги полностью или частично возвращены |
repeat_payment | Покупатель совершил повторную оплату |
В GramTelegram рекомендуем использовать статус payment_success только после серверного подтверждения. Клиентское нажатие может записаться в интерфейсе, даже если CRM, банк или платёжный провайдер не завершили операцию.
Как выглядит схема отслеживания продаж
Минимальная схема состоит из четырёх уровней:
| Уровень | Какие данные нужны |
|---|---|
| Telegram Ads | Объявление, показы, расходы, вступления или запуски |
| Бот или Mini App | Источник, Telegram user ID, действия пользователя |
| CRM или база заказов | Лид, сделка, товар, статус, ответственный |
| Платёжная система | Order ID, сумма, дата, статус, возврат |
Связь между уровнями создают идентификаторы:
campaign_id— рекламная кампания;ad_id— объявление;source_code— короткий код рекламной ссылки;telegram_user_id— пользователь;lead_id— лид;deal_id— сделка;order_id— заказ;payment_id— платёж.
Один идентификатор не заменяет остальные. Telegram user ID связывает действия пользователя, а order_id нужен для финансовой операции. У одного пользователя может быть несколько заказов и платежей.
Как отслеживать продажи при рекламе Telegram-бота
Реклама бота позволяет наиболее точно связать объявление, пользователя и оплату.
Шаг 1. Создайте отдельный start-параметр
Telegram поддерживает deep links вида:
После нажатия пользователем кнопки Start бот получает команду:
/start ad104
Официальная документация разрешает в параметре латинские буквы, цифры, _ и -; длина может составлять до 64 символов. Правила Telegram Ads также допускают start-параметры, когда объявление ведёт на бота. (Telegram)
Для каждого объявления используйте свой код:
| Код | Кампания | Объявление | Аудитория | Предложение |
|---|---|---|---|---|
ad104 | course_july | text_1 | marketers | audit |
ad105 | course_july | text_2 | marketers | consultation |
ad106 | course_july | text_1 | owners | audit |
Код в ссылке должен быть коротким и неизменяемым. Подробную расшифровку храните в отдельном справочнике.
Шаг 2. Сохраните первый запуск
При получении команды /start сервер должен записать:
- Telegram user ID;
- start-параметр;
- дату и время;
- код кампании;
- код объявления;
- продукт;
- сегмент;
- признак первого или повторного запуска.
В материалах GramTelegram об аналитике Telegram полезно разделять первый запуск и повторные рекламные касания. Если учитывать каждую команду /start как нового пользователя, количество привлечённых клиентов будет завышено.
Шаг 3. Не перезаписывайте первоначальный источник
Пользователь может сначала прийти по объявлению A, а затем вернуться через объявление B.
Сохраните минимум два поля:
first_source— первое известное касание;last_source— последнее рекламное касание.
Дополнительно храните таблицу всех переходов:
| Пользователь | Источник | Время | Событие |
|---|---|---|---|
| 123456 | ad104 | 10 июля | Первый запуск |
| 123456 | ad112 | 15 июля | Повторный запуск |
| 123456 | ad112 | 16 июля | Покупка |
Рекомендация от автора GramTelegram: не заменяйте first_source новым start-параметром. Храните первое, последнее и все промежуточные касания отдельно — это позволит сравнивать модели атрибуции без потери исходных данных.
Шаг 4. Передайте источник в заказ
При создании заказа сохраните:
order_id;- Telegram user ID;
- first source;
- last source;
- campaign ID;
- ad ID;
- продукт;
- стоимость;
- дату;
- CRM lead ID или deal ID.
Когда платёжная система подтвердит оплату, она должна вернуть тот же order_id. После этого продажу можно связать с пользователем и объявлением.
Как отслеживать продажи через Telegram Mini App
Для Mini App используется параметр startapp.
Пример:
Telegram передаёт непустое значение в поле start_param и GET-параметр tgWebAppStartParam. (Telegram)
Что нужно сделать в Mini App
При первом открытии приложение должно отправить на сервер:
start_param;- проверенные данные пользователя;
- идентификатор сессии;
- дату открытия;
- рекламную кампанию;
- объявление;
- продукт.
Telegram отдельно предупреждает, что initDataUnsafe нельзя считать доверенным источником. На сервере следует проверять данные из initData перед использованием пользовательского идентификатора. (Telegram)
Источник нельзя хранить только:
- в JavaScript-переменной;
- в интерфейсе;
- в URL текущей страницы;
- в локальном состоянии приложения.
Пользователь может закрыть Mini App до регистрации, открыть её повторно или продолжить оформление позже. Поэтому рекламный код нужно записать в серверную сессию как можно раньше.
События Mini App
Минимальная воронка:
miniapp_opened;registration_completed;product_viewed;order_created;checkout_started;payment_success;payment_refunded.
Каждое событие должно содержать:
- пользователя;
- источник;
- время;
- идентификатор сессии;
- продукт;
- заказ, если он уже создан.
На практике безопаснее считать регистрацию завершённой только после успешной записи на сервере. Нажатие кнопки «Продолжить» не доказывает, что данные сохранились.
Как отслеживать продажи при рекламе Telegram-канала
Если объявление ведёт прямо в канал, Telegram Ads показывает количество пользователей, вступивших после просмотра sponsored message. В открытом описании статистики это агрегированный показатель объявления, а не список пользователей для передачи в CRM. (Telegram Ad Platform)
Поэтому схема:
объявление → подписка → продажа
обычно не даёт точной пользовательской атрибуции без дополнительного действия.
Рабочая схема:
Telegram Ads → канал → бот или Mini App → заявка → оплата
В канал можно добавить:
- ссылку на бота в закреплённом сообщении;
- кнопку Mini App;
- отдельную форму;
- промокод;
- специальное предложение;
- ссылку с кодом рекламной когорты.
В разборах GramTelegram по продвижению каналов подписку рекомендуется считать отдельным верхним событием, а продажу — только после перехода пользователя в идентифицируемый сценарий. Это не позволяет распознать каждого подписчика, но делает коммерческую часть воронки измеримой.
Пример когортной схемы
- В июле Telegram Ads приводит подписчиков в канал.
- В закреплённом посте размещён бот со ссылкой
?start=channel_july. - Пользователь запускает бота.
- Бот сохраняет Telegram user ID и код когорты.
- При заявке код передаётся в CRM.
- При оплате заказ связывается с кодом
channel_july.
Ограничение: часть подписчиков может купить без перехода в размеченный сценарий. Такие продажи останутся неатрибутированными или попадут в другой источник.
Какие поля передавать в CRM
Минимальная карточка лида должна содержать:
| Поле | Пример |
|---|---|
| Источник | Telegram Ads |
| Campaign ID | course_july |
| Ad ID | ad104 |
| Source code | ad104 |
| First source | ad104 |
| Last source | ad112 |
| Telegram user ID | 123456 |
| Дата первого запуска | 10.07.2026 |
| Дата заявки | 11.07.2026 |
| Продукт | Консультация |
| Lead ID | 9012 |
| Deal ID | 4551 |
| Order ID | ord_1802 |
CRM должна возвращать в аналитическую систему:
- квалификацию лида;
- стадию;
- сумму сделки;
- дату оплаты;
- причину отказа;
- факт возврата;
- повторную покупку.
Если реклама оценивается только по созданным формам, не видно, какие объявления приводят качественных клиентов.
В GramTelegram рекомендуем отдельно хранить статус «валидный лид». Автоматически созданная заявка может оказаться дублем, тестом, спамом или обращением без контактов.
Как связать платёж с рекламным источником
Ключом является уникальный order_id.
Последовательность:
- Бот или Mini App создаёт заказ.
- Заказ получает уникальный ID.
- ID сохраняется вместе с Telegram user ID и рекламным источником.
- Тот же ID передаётся в платёжный сценарий.
- После успешной операции платёжная система возвращает ID.
- Аналитика меняет статус заказа на
paid. - Выручка относится к выбранному рекламному источнику.
Для встроенных Bot Payments факт завершения подтверждается successful_payment; предварительный запрос оплаты не равен продаже. (Telegram)
Для внешней платёжной системы используйте серверное уведомление или подтверждённый статус заказа. Возврат пользователя на страницу «Спасибо» сам по себе ненадёжен: пользователь может закрыть страницу, обновить её или открыть повторно.
Какие данные сохранять по платежу
payment_id;order_id;- пользователь;
- сумма;
- валюта;
- дата;
- источник;
- комиссия;
- статус;
- сумма возврата;
- первая или повторная покупка.
Если оплата была полностью возвращена, её можно оставить в валовой статистике продаж, но следует исключить из чистой выручки и чистого финансового результата.
Как выбрать модель атрибуции
Модель атрибуции определяет, какому объявлению засчитывается продажа.
Первое касание
Продажа относится к объявлению, которое впервые привело пользователя.
Подходит для оценки источников первичного привлечения.
Последнее касание
Продажа относится к последнему рекламному переходу перед покупкой.
Подходит для анализа кампаний, которые возвращают пользователя к оформлению заказа.
Последний непрямой источник
Самостоятельное возвращение без нового рекламного кода не заменяет предыдущее известное рекламное касание.
Когортная атрибуция
Продажа связывается с группой пользователей, пришедших в определённый период или по определённому сценарию.
Подходит для рекламы канала, когда точная связь с каждым вступлением недоступна.
Единой обязательной модели для внутренней аналитики нет. Важно выбрать правило заранее и одинаково применять его ко всем сравниваемым кампаниям.
На практике безопаснее строить два отчёта — first-touch и last-touch. Если выводы сильно различаются, решение о бюджете не следует принимать только по одной модели.
Какое окно атрибуции использовать
Окно атрибуции — срок между рекламным контактом и продажей, в течение которого покупка относится к кампании.
Например:
- пользователь запустил бота 1 июля;
- оплатил 20 июля;
- окно атрибуции — 30 дней.
Продажа будет отнесена к рекламе.
При окне 14 дней та же продажа не попадёт в отчёт кампании.
Период выбирают с учётом реального цикла сделки:
- для быстрой покупки окно может быть коротким;
- для консультационных продаж — длиннее;
- для B2B-сделок может потребоваться несколько недель или месяцев.
Это аналитический выбор компании, а не универсальная настройка Telegram.
Не сравнивайте кампанию с семидневным окном и кампанию с тридцатидневным окном как равнозначные результаты.
Какие показатели считать
Конверсия из запуска в продажу
CR = новые покупатели ÷ уникальные запуски × 100%
Конверсия из лида в продажу
CR = новые покупатели ÷ валидные лиды × 100%
CAC
CAC = полные расходы на привлечение ÷ новые покупатели
ROAS
ROAS = выручка из рекламы ÷ расходы на размещение
ROMI
ROMI = (маржинальная прибыль − маркетинговые расходы) ÷ маркетинговые расходы × 100%
Средний чек
Средний чек = выручка ÷ количество оплаченных заказов
Доход на запуск
Доход на запуск = выручка ÷ уникальные запуски бота
Для принятия решения о бюджете одного количества продаж недостаточно. Кампания может приносить больше заказов, но иметь низкий чек, высокие возвраты или слабую маржу.
Пример отслеживания продаж из Telegram Ads
Условные данные:
- показы — 300 000;
- расходы на рекламу — 150 000 ₽;
- запуски бота — 3 000;
- валидные лиды — 300;
- покупатели — 30;
- выручка — 600 000 ₽;
- переменные расходы — 300 000 ₽;
- дополнительные маркетинговые расходы — 50 000 ₽.
Расчёты:
| Метрика | Формула | Результат |
|---|---|---|
| Конверсия показа в запуск | 3 000 ÷ 300 000 | 1% |
| Стоимость запуска | 150 000 ÷ 3 000 | 50 ₽ |
| Конверсия запуска в лид | 300 ÷ 3 000 | 10% |
| CPL | 150 000 ÷ 300 | 500 ₽ |
| Конверсия лида в продажу | 30 ÷ 300 | 10% |
| Медийный CAC | 150 000 ÷ 30 | 5 000 ₽ |
| Полный CAC | 200 000 ÷ 30 | 6 667 ₽ |
| ROAS | 600 000 ÷ 150 000 | 400% |
| Маржинальная прибыль | 600 000 − 300 000 | 300 000 ₽ |
| ROMI | (300 000 − 200 000) ÷ 200 000 | 50% |
Все значения условны и используются только для демонстрации расчёта.
Пример показывает, почему выручку и количество заказов нужно дополнять расходами и маржинальной прибылью.
Как организовать отчёт
Минимальная таблица:
| Ad ID | Расходы | Запуски | Лиды | Продажи | Выручка | CAC | ROMI |
|---|
Расширенный отчёт:
| Кампания | Объявление | Сегмент | First-touch продажи | Last-touch продажи | Возвраты | Маржа |
|---|
На первом этапе данные можно собирать в CRM или таблице. При увеличении числа кампаний удобнее использовать собственную базу и BI-систему.
Источники данных должны быть закреплены заранее:
| Показатель | Система истины |
|---|---|
| Расходы и показы | Telegram Ads |
| Запуск бота | Сервер бота |
| Открытие Mini App | Сервер приложения |
| Валидный лид | CRM |
| Успешная оплата | Платёжная система |
| Возврат | Платёжная или учётная система |
| Маржинальная прибыль | Финансовый учёт |
Как проверить отслеживание перед запуском рекламы
Проведите контрольный сценарий:
- Откройте тестовую ссылку с рекламным кодом.
- Запустите бота или Mini App.
- Проверьте сохранение источника.
- Выполните первый целевой шаг.
- Создайте заявку.
- Убедитесь, что CRM получила Ad ID.
- Создайте заказ.
- Проведите тестовую оплату.
- Проверьте
order_idи статус платежа. - Убедитесь, что продажа появилась в отчёте.
- Повторите переход другим рекламным кодом.
- Проверьте first source и last source.
- Проведите возврат, если этот сценарий поддерживается.
- Повторите тест на мобильном и настольном устройствах.
После настройки всей цепочки можно открыть рекламный кабинет Telegram Ads и запускать отдельное объявление для каждой измеримой гипотезы.
Рекомендация от автора GramTelegram: не масштабируйте кампанию, пока хотя бы одна контрольная покупка не прошла от рекламной ссылки до финансового отчёта. Потерянная атрибуция на тестовом бюджете обходится дешевле, чем неверный ROMI после масштабирования.
Почему данные могут расходиться
Небольшие и большие расхождения могут возникать по разным причинам:
- рекламный кабинет и сервер используют разные часовые пояса;
- пользователь запустил бота несколько раз;
- CRM создала дубль;
- платёж поступил после закрытия отчётного периода;
- источник был перезаписан;
- заказ создан одним пользователем, а оплачен другим;
- webhook доставлен повторно;
- платёж возвращён позже;
- часть пользователей купила через другой канал;
- события фиксируются на клиенте, но не подтверждаются сервером.
Для контроля проверяйте:
- запуски без source code;
- лиды без Telegram user ID;
- заказы без lead ID;
- платежи без order ID;
- повторяющиеся payment ID;
- оплаченные заказы без источника;
- неизвестные Ad ID;
- выручку, не совпадающую с платёжной системой.
Распространённые ошибки
Один код для всех объявлений
Можно оценить Telegram Ads в целом, но нельзя сравнить тексты, аудитории и предложения.
Источник хранится только в боте
После передачи заявки в CRM связь с рекламой теряется.
First source постоянно перезаписывается
Первоначальное привлечение становится невозможно оценить.
Продажей считается создание заказа
Заказ может остаться неоплаченным.
Используется только клиентское событие
Нажатие кнопки может записаться, хотя сервер не получил данные.
Нет уникального order ID
Платёж невозможно надёжно связать с заказом и пользователем.
Повторный webhook создаёт вторую продажу
Каждый payment ID должен обрабатываться идемпотентно — одна операция не должна записываться повторно.
Все продажи периода приписываются Telegram Ads
Совпадение по времени не доказывает рекламный источник.
Не учитываются возвраты
Количество успешных платежей может выглядеть хорошо, хотя чистая выручка ниже.
Сравниваются разные окна атрибуции
Результаты становятся несопоставимыми.
FAQ
Показывает ли Telegram Ads продажи?
Встроенная статистика показывает параметры объявления, просмотры, вступления в канал и запуски бота после просмотра. Продажи и финансовый результат нужно получать из CRM, бота, Mini App или платёжной системы. (Telegram Ad Platform)
Как определить, из какого объявления пришёл покупатель?
Добавьте к ссылке на бота отдельный параметр start или используйте startapp для Mini App. Сохраните код на сервере и передавайте его в заявку, заказ и оплату. (Telegram)
Можно ли использовать UTM-метки?
UTM-метки удобны для сайта. Для прямой ссылки на Telegram-бота основным идентификатором является параметр start, а для Mini App — startapp. При наличии промежуточного сайта UTM можно преобразовать во внутренний код источника.
Как отслеживать продажи, если реклама ведёт на канал?
Добавьте в канал измеримый следующий шаг: бот, Mini App, форму или промокод. Обычное вступление в канал отображается агрегированно, поэтому без дополнительного действия точная пользовательская атрибуция ограничена. (Telegram Ad Platform)
Что считать оплатой?
Подтверждённую успешную транзакцию. При использовании Bot Payments ориентируйтесь на successful_payment, а не на создание счёта или pre_checkout_query. (Telegram)
Как учитывать повторные покупки?
Первую покупку используйте для расчёта CAC и конверсии в нового клиента. Повторные платежи считайте отдельно для анализа удержания, выручки и LTV.
Как учитывать пользователя из нескольких объявлений?
Сохраняйте первое, последнее и все промежуточные касания. Затем стройте отчёты по first-touch и last-touch.
Какие метрики нужны кроме количества продаж?
Минимальный набор: конверсия, стоимость запуска, CPL, CAC, средний чек, возвраты, маржинальная прибыль и ROMI. Количество продаж без расходов не показывает экономическую эффективность.
Вывод
Чтобы отслеживать продажи из Telegram Ads, присвойте каждому объявлению отдельный код, сохраните его при запуске бота или Mini App, передайте в CRM и свяжите с подтверждённым платежом через уникальный order ID.
Начните с простой таблицы идентификаторов и контрольной покупки. Главный риск — считать заказ или нажатие кнопки фактической продажей либо потерять рекламный источник между ботом и CRM.
Следующее действие — построить отчёт по объявлениям, где рядом отображаются расходы, лиды, оплаченные заказы, выручка, CAC и ROMI.
Источники
- Telegram Ad Platform Explained
- Telegram Ad Policies and Guidelines
- Telegram Bot Features: Deep Linking
- Telegram Mini Apps
- Telegram Bot Payments API
- Telegram Bot Payments for Digital Goods and Services
- Редакционные требования GramTelegram.
SEO-карточка
SEO Title:
Как отслеживать продажи из Telegram Ads
Meta Description:
Как связать Telegram Ads с ботом, CRM и оплатами, определить источник покупателя и рассчитать продажи, CAC, выручку и ROMI по объявлениям.
H1:
Как отслеживать продажи из Telegram Ads
URL Slug:
otslezhivanie-prodazh-telegram-ads
Canonical URL:
https://grammtelegramma.ru/otslezhivanie-prodazh-telegram-ads/
Основной поисковый запрос:
как отслеживать продажи из Telegram Ads
Дополнительные поисковые запросы:
- отслеживание продаж Telegram Ads;
- как связать Telegram Ads с CRM;
- аналитика продаж из Telegram;
- атрибуция Telegram Ads;
- как определить источник покупателя в Telegram;
- отслеживание оплат Telegram-бота;
- start-параметр Telegram Ads;
- аналитика Telegram Mini App;
- как передавать рекламный источник в CRM;
- сквозная аналитика Telegram Ads;
- продажи через Telegram-бота;
- как считать CAC в Telegram Ads;
- как рассчитать ROMI Telegram Ads;
- отслеживание заказов из Telegram;
- воронка продаж Telegram Ads.
Связанные сущности и термины:
- Telegram Ads;
- Telegram-бот;
- Telegram Mini App;
- CRM;
- deep link;
- start-параметр;
- startapp;
- Telegram user ID;
- order ID;
successful_payment;- атрибуция;
- first-touch;
- last-touch;
- CAC;
- ROMI.
Поисковое намерение:
Информационно-практическое. Пользователь хочет связать рекламу Telegram Ads с конкретными покупателями, передать источник в CRM и получить достоверный отчёт по продажам и окупаемости.
Краткое описание для страницы:
Пошаговое руководство по отслеживанию продаж из Telegram Ads. Материал объясняет разметку ссылок, передачу источника через бота и Mini App, интеграцию с CRM и фиксацию подтверждённых оплат.
Open Graph Title:
Как связать Telegram Ads с продажами
Open Graph Description:
Схема отслеживания от объявления до оплаты: start-параметры, Telegram user ID, CRM, order ID, CAC и ROMI.
Рекомендуемая разметка Schema.org:
Article, FAQPage.
Продвижение и реклама в Telegram
Как отслеживать продажи из Telegram Ads 2026 — боты в Telegram, кейсы Telegram маркетинга, GPT-боты и MiniApp. Сегодня Telegram стал одним из ключевых каналов digital-маркетинга. Через Telegram Ads можно запускать кампании с точным таргетингом, снижать стоимость заявки (CPA/CPS) и привлекать новых клиентов. Использование ботов и MiniApp позволяет автоматизировать процесс, а сквозная аналитика показывает реальную эффективность. Кейсы из практики подтверждают, что реклама в Telegram работает стабильно и даёт результат для разных ниш.
На практике Как отслеживать продажи из Telegram Ads 2026 стабильно даёт прирост из Telegram при корректной воронке.
