CHATBOSS.PRO

Deep-link в Telegram-боте: откуда приходят клиенты

Одна ссылка на бота не отвечает на вопрос «что сработало». Разбираем параметр start — как устроен, какую схему меток выбрать, как бот его читает, где владелец видит отчёт и чем метка отличается от UTM.
Павел Седов · основатель CHATBOSS.PRO
14 сентября 2026 г.
Обновлено: 19 сентября 2026 г.
105 просмотров
ПродвижениеАналитикаТехническое

Ссылку на бота обычно раздают одну и ту же: в шапку канала, в подпись почты, на визитку, в рекламный пост, на QR у кассы. Через месяц владелец видит в боте сто человек — и не может сказать, откуда пришли девяносто из них. Дальше решение «куда вкладываться» принимается по ощущениям.

Задача решается параметром, который Telegram поддерживает с самого начала: ?start=. Ниже — как он устроен, как назвать метки, чтобы через полгода их можно было читать, и где смотреть результат. Про сценарий, в который эти люди попадают, — на странице автоворонка в Telegram.

Как устроена ссылка t.me/bot?start=

Обычная ссылка на бота выглядит так:

https://t.me/vashbot

Ссылка с меткой — так:

https://t.me/vashbot?start=qr-stoika

Для человека разницы нет: открывается тот же диалог с той же кнопкой «Начать». Разница в том, что при нажатии бот получает не голую команду /start, а /start qr-stoika — то есть команду вместе с вашей меткой.

Ограничения параметра, которые придётся учитывать:

  • До 64 символов. Это ограничение самого Telegram, а не платформы. Длинную строку в метку не уложить.
  • Только латиница, цифры, дефис и подчёркивание. Кириллица, пробелы, точки, =, & не пройдут: ?start=акция летом работать не будет.
  • Метка приходит один раз — при первом переходе. Это не параметр, который висит в диалоге постоянно; он приезжает в момент старта.
  • Регистр сохраняется, но полагаться на него не стоит: при группировке в отчётах VK и vk окажутся одной строкой. Пишите метки строчными буквами и не заводите две, отличающиеся только регистром.

Отдельно про тех, кто уже писал боту раньше: у них переход по новой помеченной ссылке источник не поменяет — почему так, разбираем ниже, в разделе про первое касание.

Схема названий: src-medium-campaign

Метка — это 64 символа, в которые нужно упаковать смысл. Без схемы через полгода в отчёте будут строки новая, test2, qr и qr1, про которые никто не вспомнит, что они значили.

Рабочая схема — три части через дефис, от общего к частному:

источник-формат-кампания

Примеры:

  • vk-post-sentyabr — пост во ВКонтакте в сентябре;
  • qr-stoika-salon1 — QR на стойке в первой точке;
  • tg-ads-zapis — объявление Telegram Ads кампании «запись»;
  • email-podpis — подпись в почте;
  • blogger-ivanov — размещение у конкретного блогера.

Три правила, которые экономят время позже:

  1. Первый кусок — всегда источник. Тогда отчёт группируется взглядом: все qr-* рядом, все vk-* рядом.
  2. Не кодируйте в метке то, что и так знаете. Дата размещения и стоимость живут в вашей табличке, а не в 64 символах.
  3. Заведите одну табличку «метка → где висит». Две строки на метку: где размещено и когда. Без неё через квартал отчёт снова станет нечитаемым.

Как бот читает метку и что делает дальше

Дальше есть две разные вещи, которые легко перепутать: учёт источника и использование метки внутри сценария.

Учёт источника происходит без вашего участия. Человек переходит по помеченной ссылке, бот получает /start qr-stoika, метка нормализуется (латиница, цифры, дефис, подчёркивание, до 64 символов) и сохраняется за этим пользователем. Всё, что не проходит проверку, — кириллица, слишком длинная строка, мусор — складывается в отдельную строку «Нераспознанная метка», чтобы не притворяться настоящим каналом.

Использование метки внутри сценария — другое дело, и здесь стоит знать границу честно. Отдельной развилки «если метка такая — иди сюда» в редакторе сейчас нет: метка не превращается в переменную, по которой строится условие. Что метка умеет внутри сценария — попадать в текст уведомления владельцу: в блоке уведомления доступна подстановка {{refSource}}, и сообщение «пришла новая заявка» может сразу сообщать, с какой ссылки человек пришёл.

Поэтому «разный сценарий под разные метки» сегодня собирается не меткой, а разными точками входа: отдельный бот-сценарий, отдельная команда или отдельный шаг, на который ведёт конкретное размещение.

Отдельный случай — приглашения по реферальной программе. У блока «Реферальная программа» свой формат ссылки, и такой переход в отчёте показывается строкой «По приглашению», а не сырым идентификатором пригласившего. Кто кого привёл — отдельный вопрос и отдельный раздел метрик.

Первое касание: почему метка не переписывается

Человек пришёл по QR со стойки, через месяц увидел ваш пост в канале и перешёл оттуда ещё раз. Какой источник его привёл?

Правильный ответ — QR: именно он превратил незнакомца в пользователя бота. Поэтому метка ставится один раз, при первом переходе, и дальше не меняется. Если бы источник переписывался, картина съезжала бы в пользу последнего касания, и любая массовая рассылка со ссылкой обнуляла бы всю историю привлечения.

Практический вывод: тестировать каналы нужно на новых людях. Если раздать новую метку своей существующей базе, в отчёте по ней будет ноль — и это правильно, а не поломка.

Где владелец видит результат

В метриках бота есть раздел «🧭 Откуда приходят пользователи» с таблицей: метка, всего пользователей, за последние 30 дней. Три строки в этой таблице особенные:

  • «Прямые / без метки» — те, кто пришёл по голой ссылке. Первое время это будет самая большая строка, и это нормально: помечать нужно начинать до размещения, а не после.
  • «По приглашению» — переходы по реферальным ссылкам.
  • «Нераспознанная метка» — то, что не прошло проверку формата. Если эта строка растёт, значит где-то в размещении живёт кириллическая или слишком длинная метка.

Переключатель периода в шапке метрик на эту таблицу не влияет: метка — свойство пользователя, а не события, поэтому колонка «всего» считается за всё время, а «за 30 дней» — по дате, когда метка была поставлена.

UTM для сайта и start для Telegram: это разные слои

Частая путаница: человек берёт ?utm_source=vk&utm_medium=post и приклеивает к ссылке на бота. Так не работает — Telegram не знает про UTM-параметры и до бота они не доедут.

Разделение простое:

  • UTM живут на сайте. Их читает веб-аналитика, когда человек попадает на страницу.
  • start живёт в Telegram. Его читает бот, когда человек нажимает «Начать».

Если между рекламой и ботом стоит страница-прокладка на сайте, вам нужны обе метки: UTM — чтобы посчитать заходы на страницу, start в ссылке с этой страницы — чтобы посчитать тех, кто дошёл до бота. Совпадение названий облегчит жизнь: utm_campaign=zapis и ?start=direct-zapis читаются как одно и то же размещение.

QR-код с меткой

QR — это просто картинка со ссылкой внутри, поэтому метка в него попадает так же, как в обычную ссылку: кодируете не https://t.me/vashbot, а https://t.me/vashbot?start=qr-stoika.

Что стоит знать:

  • QR-код на экране публикации бота в ChatBoss кодирует голую ссылку — без метки. Если нужна метка, соберите QR из полной ссылки любым генератором.
  • Разные места — разные QR. Один код на стойке и столике сэкономит вам печать и лишит смысла весь отчёт.
  • Проверяйте напечатанный код, а не макет. Сканировать нужно тем телефоном, который никогда не открывал вашего бота: на своём вы увидите старый диалог и не заметите, что метка не приехала.
  • Не сокращайте ссылку сторонним сервисом. Редирект через чужой домен иногда теряет параметр, а иногда просто перестаёт работать, когда сервис закрывается.

Типовые ошибки

  • Метка кириллицей. ?start=акция не работает и попадает в «нераспознанные».
  • Пробел в метке. До бота доедет только первое слово, остальное отрежется.
  • Одна метка на всё. Отчёт из одной строки qr ничего не объясняет.
  • Метка, добавленная после размещения. Люди, пришедшие раньше, останутся без источника — их уже не переразметить.
  • Ожидание, что метка перепишется у старых пользователей. Не перепишется: источник фиксируется при первом переходе.
  • Символы & и = внутри метки. Это не строка запроса: параметр у start один, разделителей внутри него нет.
  • Слишком длинная метка. Больше 64 символов — и вместо неё в отчёте окажется «нераспознанная».

Дисклеймер: это не юридическая консультация. Метка в ссылке сама по себе никаких требований по маркировке рекламы не создаёт, но размещение, в которое вы её ставите, может их создавать — юридический контекст 2026 года собран на странице продвижение Telegram-бота.

С чего начать за один вечер

  1. Выпишите все места, где сейчас стоит ссылка на бота. Обычно их 5–10, и половина находится с трудом.
  2. Придумайте каждому метку по схеме источник-формат-кампания.
  3. Замените ссылки. Перепечатайте QR там, где он печатный.
  4. Запишите метки в табличку: где висит, с какой даты.
  5. Через две недели откройте раздел «Откуда приходят пользователи» и посмотрите, что из этого действительно приводит людей.

Пятый шаг и есть смысл всей работы: до него решения про продвижение принимаются на ощущениях, после — по таблице. Как приводить людей в бота локальному бизнесу, разобрано отдельно в статье как привлечь клиентов в бота салона, кафе, автосервиса.

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

Сколько символов помещается в метку?

64 — это ограничение Telegram на параметр start. Разрешены латиница, цифры, дефис и подчёркивание.

Можно ли в метке использовать русские буквы?

Нет. Такая ссылка не сработает, а переход попадёт в строку «Нераспознанная метка» в отчёте по источникам.

Что будет, если человек уже пользовался ботом и перешёл по новой ссылке с меткой?

Источник у него не изменится: метка ставится один раз, при первом переходе. Это осознанное решение — иначе рассылка со ссылкой переписала бы всем реальный источник привлечения.

Чем метка start отличается от UTM-меток?

UTM читает веб-аналитика на сайте, start читает бот в Telegram. Друг друга они не заменяют: если между рекламой и ботом есть страница, нужны обе.

Где посмотреть, какая метка сколько привела?

В метриках бота, раздел «Откуда приходят пользователи»: метка, всего пользователей и сколько пришло за последние 30 дней. Строка «Прямые / без метки» — те, кто пришёл по ссылке без метки.

Нужно ли делать отдельный сценарий под каждую метку?

Нет, и собрать такую развилку по метке сейчас нельзя: условия в редакторе значение метки не видят. Учёт источника при этом работает сам, без единого блока в сценарии. Внутри сценария метку можно подставить в текст уведомления владельцу — {{refSource}} в блоке уведомления.

Мы используем cookie для корректной работы сайта и улучшения сервиса. Подробнее