реклама
разместить

Как отслеживать источники пользователей в Telegram-ботах и Mini App.

Самая полная статья про UTM метки в телеграм ботах и Mini App. Я описал как отслеживать источники трафика, переносить метки в бот про модели атрибуции, трекинг запуска App и т.д. Полезные лайфхаки и сопутствующие вещи.

Привет! Меня зовут Дима, я сделал graspil.com – сервис аналитики для Telegram-ботов и Mini App. Уже давно я объясняю людям, зачем нужны UTM-метки в ботах и почему они важны (нужно же мне как-то продавать свой сервис 🤷‍♂ )

В этой статье я постарался ответить на все вопросы о UTM метках в ботах и кажется описал все что знаю про них. С какими проблемами вы столкнётесь и как их решить.

Кратенько, что такое UTM-метки

UTM-метки – это такие параметры в ссылках, которые помогают понять, откуда пришел пользователь. Их используют в вебе везде, где надо трекать трафик.

Пример ссылки с метками:

https://graspil.com/ru?utm_source=vc&utm_medium=article&utm_campaign=utm&utm_content=guide&utm_term=example

Эта ссылка подскажет, что пользователь пришёл из VC, со статьи про UTM, в рамках кампании “utm для чайников”.

Зачем всё это? Чтобы потом не сидеть и не гадать, в какую именно дыру слили бюджет на рекламу.

Например, я потратил несколько часов на написание этой статьи (или допустим 10к руб), по меткам я смогу понять сколько из вас перешло по ссылкам, зарегистрировалось, оплатило сервис. Это даст мне понимание окупились ли мои труды или нет 🤔.

Тут я не буду вдаваться в подробности, как работают UTM-метки – гугл вам в помощь или добро пожаловать в комменты.

Давайте к ботам.

Зачем UTM-метки в Telegram-боте?

Очевидно что затем же самым. Боты не продвигают сами себя, а значит, 100% вы будете их рекламировать. Без меток это делать, мягко скажем странно.

ЗакУпите трафика, вам нальют ботов и вы будете радоваться что теперь у вас 100500 пользователей, только вот почему-то дальше команды /start они ничего не делают 🤷

Или закупили вы посевы, как будете считать конверсию с этих посевов без меток?

Мемная классика
Мемная классика

Как передать метки в Telegram-бот?

Единственный способ передать данные в бот - это параметр start (https://t.me/bot?start=данные).

Но тут Telegram говорит: “Подожди-ка, дружочек, у тебя всего 64 символа

Карл не использует метки, ему и так норм :)
Карл не использует метки, ему и так норм :)

В целом, 64 символа чаcто достаточно. Но start все еще один. Если вы еще не поняли почему это проблема, то я объясню. UTM-меткИ, не меткА… их много. В вебе используют до 5 меток одновременно. Это прям проблема…

Мем подошел идеально, в бразерс что-то знали 😅
Мем подошел идеально, в бразерс что-то знали 😅

Из-за этих ограничений приходится выдумывать разные велосипеды. У нас их целый велопарк 🚴‍♀

Если вы привысите лимит в 64 символа, то бот просто не запустится по такой ссылке.

---

Что делать и кто виноват?

Сейчас будет чуть сложно понять, но я в вас верю. Чтобы подружить несколько utm параметров и start нужен альтернативный подход 😏

Давайте посмотрим на обычную ссылку с utm метками в вебе:

Уже всем привычная ссылка
Уже всем привычная ссылка

Параметры делит & амперсанд, а название параметра от его значения делит символ = равно

Стандартизированно, удобно, легко запомнить. Но телеграм решил, что это не путь джедаев… Амперсанд и равно нельзя использовать в параметре start, поэтому придумаем что-то другое.

Вместо символов равно и амперсанда мы будем использовать какие-то другие символы. Graspil по умолчанию предлагает использовать символы:

- вместо =

_ вместо &

Вообще, в graspil можно задавать свои, любые символы. Можно какие-то параметры исключать или учитывать только определенные. И еще есть упрощенный режим, если вам ничего не нужно разделять

---

А давайте на примере

Допустим мы хотим передать 3 метки: utmSource, utmMedium, utmTerm (названия могут быть любыми). И еще какой-то свой параметр param

У нас получается вот такая строка:

Страшная ссылка, но если приглядеться то все не так плохо
Страшная ссылка, но если приглядеться то все не так плохо

Когда пользователь перейдет по этой ссылке и запустит бот эти данные можно будет получить и обработать.

Как получить значение параметра start в коде бота?

Когда пользователь запускает бота, приходит сообщение /start. Если параметр start будет иметь значение, например ?start=hello-world, то при запуске бота сообщение будет выглядеть так /start hello-world

---

Результат

Теперь можно присвоить эти метки пользователю и построить вот такой utm отчет:

Мистер utm-отчет...много нулей на скрине, но смысл вы поняли 
Мистер utm-отчет...много нулей на скрине, но смысл вы поняли 

Вы только посмотрите на этот отчет, тут вам и поведенческие параметры, кол-во запусков/перезапусков/уходов отдельно по боту и mini App, конверсии, вложенные метки и все это работает со скоростью света… ляпота :)

А еще мы начали работать над определением спам аккаунтов, и уже тоже добавили этот параметр в отчет

❗Кстати, очень рекомендую продумать схему ваших меток еще на этапе создания бота, чтобы потом меньше страдать от их разной структуры.

Как публиковать такие длинные и страшные ссылки в ТГ?

Уверен, что когда вы видите ту ссылку с метками, ничего кроме отвращения вы не чувствуете. Она длинная, не понятная и пугающая. Публиковать такую ссылку где-то в посте паблика - не дело…

К счастью есть выход, вы можете как обычно в посте написать название бота @graspil_bot, так никаких меток конечно не появиться. Но, если выделить текст @graspil_bot, кликнуть правой кнопкой мыши и сделать обычный линк с той самой ссылкой, то все будет работать как вы привыкли только с метками.

Если интересно, можно посмотреть как это выглядит прямо в телеграм

Посадочные страницы или как передавать UTM-метки с сайта в бот?

У вас может возникнуть ситуация, когда вы ведете пользователей на какую-то посадочную страницу, на который есть ссылка на бот, вы хотите сквозную аналитику и вам нужно передать ваши метки дальше в бот.

Такое есть у нас. Мы сделали простой js скрипт который вы можете добавить на вашу страницу и метки магическим образом будут передаваться прямо в graspil. И попутно он еще и определит геолокацию этих пользователей. Подробней можно почитать в этой статье

Что если нужны большие и толстые параметры? 😏

Как я уже писал, для start есть ограничение в 64 символа. Тут не разгуляешься, вы легко можете перевалить за это ограничение. Что делать если у вас много параметров с длинными значениями?

У граспил есть специально обученные ссылки, которые перенесут все параметры в бот.

Работает оч. просто.

Берем вот такую ссылку https://tlin.cc/graspil_bot Добавляем к ней сколько угодно параметров:

https://tlin.cc/graspil_bot?utm_source=meowmeowmeow&utm_campaign=meowmeowmeow&....

При переходе по такой ссылке graspil:

  • Сохраняет все параметры и передает их в граспил (UTM-отчет)
  • Определяет геолокацию пользователя
  • Переадресовывает пользователя в бота

Перенос utm-меток из канала в бот

У большинства ботов есть свой телеграм канал. Куда лучше лить трафик? Сразу в бот или в канал? У меня нет ответа на этот вопрос, думаю, что зависит от конкретного кейса. (будет интересно узнать ваше мнение в комментах).

Если вы ведете пользователей в канал, то вы можете отследить с какого канала, сколько пришло человек. Но, сколько из них перешло в бот и совершило “покупку”?

Окей, мы можем ко всем ссылкам в канале добавить utm-метки, тогда мы поймем сколько человек перешло из канала, но откуда они попали в канал?

Сложная система ссылок, только для pro
Сложная система ссылок, только для pro

Подключив graspil к боту и каналу, настроив метки у вас получится это посчитать. А бонусом вы еще получите дополнительную статистику по источникам вашего канала.

Мы можем связать метки канала с метками бота и посчитать конверсии уже по источникам канала. Настоящая сквозная аналитика 👉👈

Пример. Из этих данных можно собрать и не такую красоту.
Пример. Из этих данных можно собрать и не такую красоту.

Сейчас эта фича в стадии тестирования, если хотите получить такую сквозную аналитику, подключайте граспил и пишите в поддержку, поможем все настроить 😉

Модели атрибуции

Если нужно считать конверсии, то без моделей атрибуции никак. Представим ситуацию, один и тот же пользователь запускает ваш бот по двум разным utm ссылкам. Например, он запускает бот с вашего сайта, а спустя какое-то время видит рекламу в TG ADS запускает бот повторно и совершает покупку.

Какому каналу нужно присвоить эту продажу? Сайту, так как пользователь впервые запустил бот из этого источника или TG ADS, так как именно после него он соверши продажу?

Мы сделали три модели атрибуции:

  • Первый запуск - если пользователь запустил бот впервые
  • Последний запуск - даже если это повторный запуск, он попадет в эту категорию
  • Последний значимый запуск - сюда попадут первый запуск и возврат пользователя (если заблокировал, но запустил бот повторно)

Graspil может считать конверсию в рамках этих трех правил. В зависимости от того какой вариант лучше подходит вам. Если ничего не понятно, то вот тут подробней :)

Что по Mini Apps?

С Mini Apps всё аналогично, только параметр называется startapp, а не start.

Как получить значение параметра startapp в коде? Это значения можно найти в initData после инициализации mini App.

Мы сделали единую систему для ботов и mini App. А еще мы добавили одну очень простую, но кайфовую вещь:

Определение кнопки запуска Mini App

Вы задавались вопросом, с какой кнопки запускают App? С кнопки меню в боте, или со стартового сообщения, или с кнопки в профиле бота? А после рассылки пользователям сколько раз запустили App по кнопке в этой рассылке? (кстати рассылки у нас тоже есть)

Для этого мы сделали одну простую вещь. Добавьте один параметр в ссылку, которая ведет на ваш App, и трекайте эти данные. У нас это реализовано на сессиях, по умолчанию они показывают запускался ваш App из бота или из каналов/чатов. Но, если вы добавите параметр gs_source, то будете видеть данные по этому параметру.

Пример отчета по источникам запуска.
Пример отчета по источникам запуска.

В отчете видно данные по кнопкам gs_source=bot-button, gs_source=main, gs_source=menu_button а так же прочие запуски из канала и бота.

Это не то же самое что UTM метки. Подробней у нас это расписано в документации.

С какими ботами это все работает?

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

Если говорить про graspil, то наша система работает со всеми самописными ботами и с многими конструкторами. А если ваш конструктор не поддерживается, то напишите им об этом в поддержку, подключение элементарное.

Когда я создавал граспил, моя основная цель была сделать систему на подключение которой уходило бы минимум времени. Так и получилось, даже школьники подключают своих ботов за несколько минут. Реально, есть такой отзыв от школы 😅

Подключайте graspil.com, уверен у программистов хватает работы и без этих меток 😉

Вывода нет

После такой гениальной и подробной статьи врядли у вас остались вопросы, но если вдруг есть, то я постараюсь на них ответить в комментариях, а в graspil самая дружелюбная поддержка в мире (если на нас не матерится).

Мои корявые тексты есть в моем личном телеграм канале. А еще есть телеграм канал graspil.

66
33
11
реклама
разместить
2 комментария

Вам бы схемку на главную как вы организуете процесс. Т.е. что нужно сделать пользователю и как оно работает. Я то понимаю, что я должен вам дать ключ API, вы ставите хук на себя, а от себя пробрасываете хук на стандартный адрес, как прокси. Но вот на сайте людям это не понятно и это людей пугает. ИМХО. Удачи в развитии проекта!

1

Вы правы, что нужно осветить момент с подключением на главной и в целом обновить лендинг, он уже устарел по всем параметрам.

По подключению, помимо варианта с прокси, есть еще вариант подключение через АПИ и скоро появится еще один вариант подключения.

Сейчас описание схемы работы есть в доке https://docs.graspil.com/ru/connect-bot

1
Как набирать подписчиков в Telegram — дешево, быстро и без опыта в рекламе

Телеграм-канал — еще один инструмент в арсенале производителя, предпринимателя или эксперта. Он помогает продавать товары, собирать сообщества вокруг продуктов и растить лояльность. Но здесь нет ленты, сториз и рекомендаций. Набирать подписчиков нужно платно, а это требует определенных навыков. Или нет?

Как набирать подписчиков в Telegram — дешево, быстро и без опыта в рекламе
77
Как раз и навсегда навести порядок в telegram, не пропускать важные сообщения, не отвлекаться на ерунду и сберечь кучу нервов

Рассказываю, как я веду дела в телеграме (а там, буквально, все мои дела). Особенно полезно для предпринимателей, управленцев и просто ответственных людей. Описал четкую инструкцию по настройкам и принципы поддержания порядка. Актуально тем, кто вечно пропускает сообщения или не может найти ту самую важную группу.

Как раз и навсегда навести порядок в telegram, не пропускать важные сообщения, не отвлекаться на ерунду и сберечь кучу нервов
4646
88
33
11
Нейрокомментинг в Telegram. Как нейросеть поможет вам привлечь подписчиков в телеграм и сделать продажи? Раскрутка телеграм
Нейрокомментинг в Telegram. Как нейросеть поможет вам привлечь подписчиков в телеграм и сделать продажи? Раскрутка телеграм
Разработка telegram мини-приложения в 2025 или как я дошел до жизни такой. Часть уно.

Штош, начнем.

11
Как увеличить прибыль телеграмм канала в 1.5 раза за 1 день
Как увеличить прибыль телеграмм канала в 1.5 раза за 1 день

Прибыль. Что может быть приятнее этого слова? Наверное только прибыль которая растёт не по месяцам, а по дням. Для того чтобы увеличить прибыль, от монетизации своего телеграмм канала, есть множество способов, но многие про них просто забывают или им лень. Хотя их подключить стоит всего 1 день вашего времени. Давайте разберём их:

11
Как я сделал бизнес на удалении плохих отзывов и зарабатываю 150 000 рублей в месяц.

Что делать оффлайн-бизнесу, который сталкивается с плохими отзывами?! Герой нашей статьи сделал агентство удаления таких отзывов. Как это работает — детально рассказали в материале.

Как я сделал бизнес на удалении плохих отзывов и зарабатываю 150 000 рублей в месяц.
33
11
«Столько терминов Telegram, ах**ть». Помогу понять новичкам, о чём беседуют профессионалы

Если вы до конца прочитаете эту базу терминов, то будете на 100% понимать то, о чём говорят телеграмщики

Сколько полезной информации...
11
Как скачать видео с Пинтерест по ссылке? Рассказываю про мой новый Telegram-бот «VidBoom»

Я давно создаю микроботы — небольшие инструменты, которые решают одну конкретную задачу. У меня уже есть бот для транскрибации видео и аудио, бот для расшифровки совещаний, бот, который нарезает видео на шортс, и вот теперь я решил добавить ещё один инструмент в экосистему. Так появился VidBoom — Telegram-бот для скачивания видео с Pinterest и друг…

Telegram-бот MANTAWAY - исследуй арбитраж иначе
Telegram-бот MANTAWAY - исследуй арбитраж иначе

Как я создал первый в своем роде ссылочный Telegram-агрегатор сервисов для арбитража трафика и почему считаю, что это новый виток развития арбитражных СМИ? Что такое tg-бот MANTAWAY, зачем он нужен именно тебе, как им пользоваться и какое будущее ждет проект в 2025 году? Рассказываю всю правду от идеи создания до реализации.

44
реклама
разместить
3 Бесплатные фишки для Telegram-канала

Привет народ, меня зовут Тарас, я владелец блога "Из технаря в предприниматели" Сегодня хочу поделится с вами полезными фишкам, которые мы с командой используем для наших клиентов и которые вы можете использовать у себя в Telegram-каналах для увеличения удобства и лояльности вашей аудитории.

11
Хотите запустить свой первый канал в Telegram избежав множества ошибок? Я сделал часть сложной работы за вас! Хотя когда-то работал физруком
Хотите запустить свой первый канал в Telegram избежав множества ошибок? Я сделал часть сложной работы за вас! Хотя когда-то работал физруком