UTM-метки для Telegram-бота: воронка от перехода до оплаты
UTM-метки хорошо работают на сайте, но до Telegram-бота не доходят: из ссылки t.me бот получает только start-параметр. Поэтому рекламу бота часто оценивают на глаз. Разберём, как связать переход по рекламе с запуском, регистрацией и оплатой и увидеть, какой источник окупается.
Коротко. Telegram передаёт боту из ссылки только start-параметр — до 64 символов, без UTM-меток. Чтобы видеть источник каждого пользователя, ведите рекламу через короткую ссылку MGRAM UTM: при переходе она запоминает источник и подставляет в адрес бота номер перехода {click_id}. Бот отправляет шаги — запуск, регистрацию, оплату — с этим номером, а панель считает воронку и выручку по каждой ссылке.
Почему UTM-метки не работают в Telegram-боте
На сайте UTM-метки из адреса читает система аналитики. С ботом так не выйдет: по ссылке https://t.me/your_bot?start=oct_mailing бот получает только команду /start oct_mailing, остальное Telegram отбрасывает. В start-параметр помещается до 64 символов: латиница, цифры, _ и -.
Источник можно зашить прямо в start-параметр, но тогда всё остальное придётся делать самому: хранить метку у пользователя, считать переходы, отделять повторные запуски, сводить регистрации и оплаты по источникам. И вы не узнаете, сколько людей нажали на ссылку, но не запустили бота.
Как устроена воронка в MGRAM UTM
| Элемент | Что это |
|---|---|
| Проект | Куда вести трафик — бот, сайт или Mini App — и шаги после перехода, например «Запуск → Регистрация → Оплата» |
| Ссылка | Короткий адрес вида https://utm.mgram.biz/abc1234 со своими UTM-метками — по одной на каждый источник |
| Переход | MGRAM запоминает клик, подставляет плейсхолдеры в адрес и ведёт человека дальше |
| Шаг | Ваш бот, сайт или сервер сообщает о действии человека с номером перехода — шаг засчитывается ссылке и её меткам |
UTM-метки ссылки хранятся на стороне MGRAM, поэтому для бота не нужно втискивать их в start-параметр: туда уходит только номер перехода.
Плейсхолдеры в адресе
Плейсхолдеры пишутся в фигурных скобках прямо в адресе проекта и заполняются при каждом переходе.
| Плейсхолдер | Что подставится |
|---|---|
{click_id} | Номер перехода — передавайте его дальше по воронке: в /start бота или в адрес сайта |
{utm_source} … {utm_term} | UTM-метки ссылки |
{sub1} … {sub5} | Значения из адреса перехода, например …/abc1234?sub1=vk |
{project}, {link} | Номер проекта и код ссылки |
{country} | Страна посетителя |
{ts} | Время перехода в формате Unix |
Готовые адреса:
- бот —
https://t.me/your_bot?start={click_id}; - Mini App —
https://t.me/your_bot/app?startapp={click_id}; - сайт —
https://your-site.ru/?mgram_cid={click_id}. К адресу сайта UTM-метки ссылки добавляются сами, если их там нет.
Как настроить воронку по шагам
- Откройте панель app.mgram.biz → «Реклама» → «UTM-воронки» и нажмите «Новый проект».
- Выберите шаблон: «Telegram-бот» (шаги «Запуск бота → Регистрация → Оплата»), «Сайт» («Визит на сайт → Заявка → Покупка»), «Mini App» («Открытие Mini App → Целевое действие») или «Своя».
- Проверьте адрес с
{click_id}, задайте название и UTM-метки первой ссылки. - Сохраните ключ записи: он показывается один раз. Храните его в переменных окружения сервера, например
MGRAM_UTM_KEY. - Создайте по ссылке на каждый источник: рассылку, Показы, свой канал, блогера.
- Скопируйте код отправки шагов из вкладки «Интеграция» и вставьте его в бота или на сайт.
Переходы считаются сразу, без кода. Код нужен, чтобы видеть шаги после перехода.
Как бот отправляет шаги
Шаг — это POST-запрос на https://utm.mgram.biz/api/v1/events с ключом записи в заголовке Authorization: Bearer utm_sk_…. В панели есть готовый код для Python, aiogram, JavaScript, PHP, cURL и сайта.
| Поле | Зачем |
|---|---|
step | Ключ шага: start, register, pay. Новый ключ сам добавится в воронку |
click_id | Номер перехода — связывает шаг со ссылкой и источником |
link | Код ссылки, если перехода не было, например бот открыли по его собственной ссылке |
user_id | Ваш идентификатор пользователя |
value, currency | Сумма шага и валюта — из них панель считает выручку по ссылкам |
event_id | Ваш номер события: повторная отправка не задвоит шаг |
unique | true — шаг засчитывается один раз на переход или пользователя |
Как это выглядит в боте:
- Пользователь нажимает рекламную ссылку и запускает бота — бот получает
/start <номер перехода>. - В обработчике /start бот отправляет шаг
startс этим номером и сохраняет номер у пользователя. - После регистрации бот отправляет
registerс тем же номером, после оплаты —payс суммой.
Пример тела запроса: {"step": "register", "click_id": "…", "user_id": "42", "unique": true}. События можно отправлять пачкой — до 100 в одном запросе.
На сайте подключите скрипт https://utm.mgram.biz/t.js с публичным ключом проекта: из браузера засчитываются только шаги, которые в проекте отмечены «сайт». Ключ записи в код страницы не вставляйте — он только для сервера и бота.
UTM-ссылки в рекламе MGRAM
- Рассылка и Показы. Поставьте ссылку в кнопку поста. Чтобы сравнить услуги между собой, сделайте копию поста для каждой — со своей ссылкой.
- Запуски бота. На шаге «Ссылка» заказа запусков пришлите адрес с кодом ссылки:
https://t.me/your_bot?start=<код ссылки>. Бот передаёт этот код в шаге какclick_id— шаги засчитаются этой ссылке, а значит, этому заказу. - ИИ-ассистент. Через MGRAM в ChatGPT и Claude ассистент сам создаёт проект, ссылки и копии постов, а потом показывает по каждому заказу переходы и шаги воронки.
Что видно в статистике
- Обзор: переходы, уникальные посетители, воронка — сколько людей дошло до каждого шага и какая конверсия между шагами, график по дням, источники.
- Ссылки: цифры по каждой ссылке, чтобы сравнить источники и заказы.
- Действия: лента переходов и шагов, новые сверху.
Переходы ботов предпросмотра — Telegram, VK, Facebook и других — считаются отдельно и не портят статистику. IP-адреса MGRAM не хранит: уникальных посетителей считает по суточному обезличенному отпечатку.
Как сравнить источники
| Метрика | Как считать |
|---|---|
| Цена перехода | Расходы на источник ÷ переходы по его ссылке |
| Цена запуска | Расходы ÷ шаги start |
| Цена регистрации | Расходы ÷ шаги register |
| Цена оплаты | Расходы ÷ шаги pay |
| Возврат на рекламу (ROAS) | Сумма шагов pay ÷ расходы |
Дешёвый переход ещё не значит дешёвого клиента: решения принимайте по цене оплаты и возврату на рекламу. Общие метрики рекламы — CPM, CTR, CPA — разобраны в статье как отслеживать рекламу в Telegram.
Частые ошибки
- Бот не сохранил номер перехода. Шаг
startпришёл, а регистрации и оплаты — безclick_id, и источник теряется. Сохраняйте номер у пользователя сразу при /start. - Одна ссылка на все источники. Тогда воронка общая и сравнивать нечего — создайте ссылку на каждое размещение.
- Ключ записи в браузере. Из кода страницы его может взять кто угодно. На сайте — только публичный ключ и шаги «сайт».
- Повторы оплат. Передавайте
event_id: повторная отправка того же события не задвоит выручку.
Лимиты
До 50 проектов, до 500 ссылок в проекте, до 20 шагов воронки, до 1 200 событий в минуту и до 100 в одном запросе. Полное описание API — в документации MGRAM UTM.