Как понять, откуда пользователь пришёл в Telegram-бот
Если в рекламе, Telegram-канале и профиле используется одна и та же ссылка на бота, после регистрации пользователя источник обычно уже невозможно определить.
Сам Telegram решает эту задачу с помощью deep links — специальных ссылок на бота с параметром start.
Например:
https://t.me/YourBot?start=instagram
Когда пользователь открывает такую ссылку и нажимает Start, Telegram передаёт боту значение параметра. В этом примере бот получает метку instagram.
Это позволяет сделать отдельную ссылку для каждого места размещения и затем связать регистрацию пользователя с конкретным источником.
Как устроена deep link-ссылка
Базовый формат выглядит так:
https://t.me/<bot_username>?start=<parameter>
Вместо parameter подставляется короткая метка, понятная вам или вашей системе.
Например:
- telegram_channel
- site_header
- partner_anna
- promo_september
Для разных размещений создаются разные ссылки:
https://t.me/YourBot?start=instagramhttps://t.me/YourBot?start=telegram_channelhttps://t.me/YourBot?start=site
Бот остаётся тем же. Меняется только параметр ссылки.
Какие ограничения есть у start-параметра
Telegram ограничивает длину start-параметра 64 символами.
Для него используется ограниченный набор символов, совместимый с base64url: латинские буквы, цифры, подчёркивание и дефис.
Поэтому вместо длинных человеческих названий удобнее использовать короткие системные метки.
Например:
- ig_story
- tg_channel
- site_footer
- partner_01
Такой формат проще анализировать и труднее случайно испортить.
Не стоит пытаться запихнуть в одну метку всю информацию о рекламной кампании: название площадки, дату, бюджет, креатив и описание аудитории. Параметр нужен прежде всего как устойчивый идентификатор источника.
Чем start-параметр отличается от UTM
Это разные механизмы.
UTM-метки используются в URL веб-страниц и обычно состоят из нескольких параметров — например utm_source, utm_medium и utm_campaign. Их затем анализирует веб-аналитика.
У Telegram deep link другой принцип: бот получает один start-параметр.
На него распространяется Telegram-ограничение длины до 64 символов. Поэтому обычную UTM-разметку нельзя просто скопировать в ссылку на бота один в один.
Если нужно сохранить связь между рекламной системой и Telegram, удобнее назначить Telegram-ссылке короткий внутренний идентификатор, а подробную расшифровку хранить отдельно.
Например:
tg_ads_01
а в своей таблице или системе хранить:
tg_ads_01 = Telegram Ads, кампания September A
Как организовать источники, чтобы потом в них не запутаться
Система меток должна быть простой и постоянной.
Хорошее правило: одна ссылка — одно место или один понятный источник.
Например:
- ig_bio — ссылка в Instagram-профиле
- ig_story — Instagram Stories
- tg_main — основной Telegram-канал
- site — сайт
- partner_alex — ссылка партнёра
Не стоит сегодня писать instagram, завтра insta, а через неделю ig. Для системы это будут три разных источника.
Также лучше заранее определить, что именно означает каждая метка. Через несколько месяцев название campaign2 уже ничего не скажет, а partner_alex останется понятным.
Может ли источник прийти повторно
Да.
Параметр start не является событием, которое Telegram обязательно передаёт только один раз в жизни пользователя.
Если человек уже запускал бота раньше, а затем снова открывает deep link с start-параметром и нажимает Start, Telegram может снова передать этот параметр боту.
Поэтому система учёта должна отдельно решать две задачи:
- кто перед нами — новый пользователь или уже известный;
- какой source был передан в конкретном START-событии.
Именно здесь важно не путать «новый переход по ссылке» и «новая регистрация». Один и тот же человек может открыть несколько разных ссылок, но от этого он не становится несколькими пользователями.
Что считать источником регистрации
Перед запуском кампании полезно заранее решить, какой показатель вам нужен.
Если задача — понять, откуда пользователь пришёл в момент первой регистрации, логично отдельно хранить первый источник.
Если задача — анализировать все последующие переходы по вашим deep links, нужны уже события START с их собственными source.
Это две разные аналитические задачи.
Сам Telegram передаёт параметр. Как именно его сохранять, не перезаписывать ли первоначальный источник и как показывать повторные переходы — это уже логика вашей системы учёта.
Что даёт такая схема на практике
Даже простое разделение источников отвечает на полезные вопросы:
- какая ссылка привела больше зарегистрированных пользователей;
- работает ли размещение в конкретном канале;
- есть ли регистрации с сайта;
- какой партнёрский источник приводит пользователей;
- есть ли переходы по старым ссылкам после окончания кампании.
Это намного полезнее общей цифры «бот запустили 200 раз», потому что появляется контекст.
При этом источник сам по себе ещё не доказывает качество клиента или окупаемость рекламы. Для таких выводов нужны дополнительные данные о дальнейшей работе с пользователем.
Как это реализовано в Soft Lite Registration Bot
SL REG Bot работает с deep links собственного Telegram-бота и сохраняет source, переданный при START.
Программа различает первую регистрацию и повторные START-события, поэтому повторный запуск уже известным пользователем не создаёт ещё одного пользователя только ради увеличения счётчика.
Для разных источников можно создавать отдельные ссылки, а затем смотреть историю START и статистику по источникам. Список зарегистрированных пользователей и связанные данные можно экспортировать в XLSX для дальнейшей работы вне Telegram.
Это позволяет использовать Telegram deep links как понятный способ атрибуции источников без попытки превратить start-параметр в полноценную веб-аналитику.
SL REG Bot работает с вашим собственным Telegram-ботом. Пользователь сам переходит по вашей ссылке и запускает его — программа не собирает пользователей из чужих каналов и не перехватывает чужую аудиторию.