Legan Studio
Все статьи
~ 7 мин чтения

Telegram Ads и связка с ботом: как считать ROI

Как настроить Telegram Ads на бот, размечать UTM в /start, считать CPL и LTV, и какие связки с каналами и Mini Apps реально окупаются.

  • Telegram
  • Telegram Ads
  • трафик
  • аналитика

Telegram Ads — это официальная рекламная сеть Telegram, где объявления показываются в каналах с аудиторией от 1000 подписчиков. С 2024 года рекламодатели получили возможность вести трафик не только на канал, но и на бот через диплинк t.me/yourbot?start=ad_42. Это превратило Telegram Ads из инструмента раскрутки канала в полноценный perfromance-канал с измеримой воронкой.

Разберём, как настроить кампанию, разметить трафик, корректно атрибутировать заявки и считать unit-экономику с учётом особенностей биллинга в евро.

Как работает Telegram Ads сегодня

Объявление — это блок до 160 символов внизу канала, без картинки, с одной кнопкой. CTA ведёт на канал, бот, пост или внешний URL (последнее доступно не всем кабинетам). Минимальный депозит на старте — €1500 в реселлерах вроде Onespot или 100ads, без НДС, прямой кабинет в Telegram открывают от €2 млн оборота.

Биллинг — CPM (стоимость 1000 показов), от €0.4 до €5 в зависимости от тематики и таргета. Это не CPC: вы платите за показ, и оптимизировать нужно CTR (кликрейт) и Conversion Rate из клика в полезное действие в боте.

Связка «объявление → бот → лид» в деталях

Классическая воронка для b2b и инфо-продуктов:

  1. Юзер видит объявление в нишевом канале.
  2. Клик по кнопке → открывается t.me/yourbot?start=ad_42_utm_yandex_b2b.
  3. Бот парсит payload, распознаёт кампанию и креатив, кладёт в профиль.
  4. Запускается приветственная цепочка с лид-магнитом.
  5. Через 3–7 касаний — приглашение в Mini App или заявка на консультацию.
  6. Менеджер видит лид в CRM с пометкой источника и ведёт до сделки.

Точка истины — это payload в /start: всё, что в нём передано, должно сохраниться у вас в БД. Без этого вы не отличите трафик из Telegram Ads от органики.

Парсинг payload в боте

Telegram кладёт payload как первый аргумент команды /start. Длина — до 64 байт base64-safe символов, поэтому стандартные UTM туда не помещаются и используют свои сокращения.

from aiogram import Router, F
from aiogram.filters import CommandStart, CommandObject
from aiogram.types import Message

router = Router()

@router.message(CommandStart(deep_link=True))
async def deeplink_start(message: Message, command: CommandObject):
    payload = command.args or ""
    parts = payload.split("_")
    source = {
        "ad": parts[1] if len(parts) > 1 else None,        # ad_42
        "campaign": parts[2] if len(parts) > 2 else None,  # utm
        "channel": parts[3] if len(parts) > 3 else None,   # yandex
        "segment": parts[4] if len(parts) > 4 else None,   # b2b
    }
    await users.upsert_source(message.from_user.id, source)
    await welcome(message)

В URL-конструкторе Telegram Ads используйте схему ad_<creative_id>_utm_<source>_<segment> — она читается, помещается в 64 байта и легко парсится.

Метрики, которые считают всерьёз

Не CPM и не CTR — это операционные. Целевые метрики на воронке:

МетрикаФормулаНорма для b2b в Telegram
CPCбюджет / клики€0.05–0.30
CR в /startstart_count / clicks60–80%
CR в leadleads / starts5–15%
CPLбюджет / leads€5–30
CR в paymentpayments / leads8–25%
CPAбюджет / payments€40–250
LTV / CACLTV_90 / CPA>3

Ключевой момент: между «клик» и «/start» теряется 20–40% юзеров — кто-то закрывает Telegram, кто-то не нажимает «Запустить» в карточке бота. Не пугайтесь этой просадки, оптимизируйте только то, что после /start.

Атрибуция в CRM и аналитике

Из бота лид прилетает в CRM с полем source = telegram_ads_42. В amoCRM или Bitrix24 — отдельное поле сделки. Это позволяет в отчёте по сделкам отфильтровать «закрыто_успешно за квартал, источник = telegram_ads» и посчитать реальный ROI по каждому креативу.

async def push_to_amo(user, lead):
    payload = {
        "name": user.full_name,
        "custom_fields_values": [
            {"field_code": "PHONE", "values": [{"value": lead.phone}]},
            {"field_id": 1234, "values": [{"value": user.source.get("ad")}]},
            {"field_id": 1235, "values": [{"value": user.source.get("channel")}]},
        ],
        "_embedded": {"tags": [{"name": f"tg_ads_{user.source.get('ad')}"}]},
    }
    await amo.post("/api/v4/leads/complex", json=[payload])

A/B-тесты креативов

В Telegram Ads нельзя крутить два варианта внутри одной кампании. Поэтому A/B делают так:

  1. Создают две кампании с одинаковым таргетом и бюджетом, но разным текстом.
  2. В каждой — свой creative_id в payload (ad_42 и ad_43).
  3. Через 5–7 дней сравнивают CR в lead, не CTR.
  4. Победителя оставляют, проигравший меняют на новую гипотезу.

Минимальный бюджет на тест — €100 на креатив, иначе доверительный интервал слишком широкий.

Связка с каналом

Часто эффективнее сначала вести трафик в канал, прогревать постами 7–14 дней, и только потом продавать через бота. Канал даёт «следующее касание»: когда юзер подпишется, вы можете написать ему через chat_join_request или просто публиковать посты с кнопкой на бота.

Связка работает так:

  • Объявление → канал.
  • Бот пишет приветственный DM через webhook на chat_member.
  • В DM — лид-магнит и старт автоворонки.

CR в платёж в этой схеме обычно в 2–3 раза выше, чем в холодной связке «объявление → сразу бот», но и срок окупаемости длиннее.

Mini App как лендинг

С 2025 года Telegram Ads поддерживают прямой запуск Mini App из объявления. Это даёт мгновенный «лендинг» без выхода из мессенджера: юзер кликает — открывается ваш Next.js-фронт с формой или каталогом.

Преимущества:

  • CR из клика в просмотр продукта 80–95% (нет загрузки браузера).
  • Можно сразу отдать initData и идентифицировать пользователя.
  • Платежи через Stars в одно касание.

Минусы — каталог из >100 товаров грузится медленно, нужна виртуализация и SSR.

Топ-5 ошибок при запуске

  1. Льют трафик без payload и потом не понимают, какой креатив сработал.
  2. Считают CPM вместо CPL — теряют деньги на красивых, но нерелевантных объявлениях.
  3. Пишут на канал «Подпишись», когда выгоднее «Получи чек-лист в боте».
  4. Не подключают аналитику в боте и смотрят только на статистику Ads.
  5. Запускают тест с €30 бюджета — выборка статистически незначима.

Итого

Telegram Ads в 2026 — измеримый канал с понятной воронкой, если у вас на стороне бота настроена разметка /start payload, лиды уезжают в CRM с источником, и вы считаете не CPM, а CPL и LTV. Минимальный депозит €1500 окупается за 4–8 недель в среднем b2b-сегменте при грамотной связке «объявление → бот → автоворонка → продажа».

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

Можно ли вести Telegram Ads напрямую на Mini App?

Да, с 2025 года в кабинете Ads появился отдельный тип кнопки «Open App», который открывает Mini App из объявления без промежуточного шага. Это сокращает воронку на одно касание и поднимает CR на 15–25%, особенно для каталогов и калькуляторов. Условие — Mini App должен быть привязан к боту через @BotFather и иметь корректный web_app_url в setMenuButton.

Как обойти лимит 64 символа в payload?

Не пытайтесь упаковать туда полный UTM. Используйте короткий идентификатор кампании (ad_42) и держите расшифровку в БД на стороне бота: ad_42 → {source: yandex, medium: cpc, campaign: b2b_2026, content: variant_a}. Так в payload улетает 6 байт вместо 60, и места хватит на ещё один сегмент.

Какой минимальный бюджет имеет смысл?

В реселлерах входной депозит обычно €1500. Из них на тест одной гипотезы (3–4 креатива × 5–10 каналов) уходит €300–500 за 7–14 дней. Меньше €1000 в месяц на запуск — и вы не успеете дойти до статистически значимых выводов, кампания проживёт на тестах и не разгонится.

Какие тематики каналов работают лучше всего?

Прямой таргет по тематике канала почти всегда обыгрывает таргет по интересам пользователя. Для b2b — IT, маркетинг, бизнес, финансы. Для b2c — лайфстайл, здоровье, родительство. Худшие связки — новостные и мемные каналы: высокий CTR, но почти нулевая конверсия в лид.

Как мерить ROI, если сделка закрывается через 60 дней?

Заводите в CRM поле source и creative_id на сделке, и стройте отчёт «оплаты за период с группировкой по creative_id, плюс траты на этот creative_id из выгрузки Ads». Это даёт реальный ROAS с лагом 60–90 дней. Для оптимизации в моменте используйте промежуточную метрику CPL и CR в квалифицированный лид (после звонка).

Можно ли крутить Telegram Ads из России?

Прямой кабинет Telegram Ads из РФ недоступен. Используются европейские реселлеры: Onespot, 100ads, Tg-Ads. Они принимают оплату в евро/долларах через юрлицо в ОАЭ, Армении, Казахстане. Для российских ИП — оплата по инвойсу через валютный счёт. Есть также реселлеры, принимающие крипту (USDT TRC-20).

Что важнее: CTR или CR в /start?

CR в /start. Высокий CTR без конверсии в /start означает, что в объявлении одно, а в боте — другое: юзер кликнул, увидел не то и закрыл. Целевая воронка: CTR ≥ 0.4%, CR в /start ≥ 60%, CR в lead ≥ 8%. Если первая просадка на старте — переписывайте описание бота и приветственное сообщение, не текст объявления.