UTM-метки в Telegram: короткая история про шило в мешке и как его приручить
Вы наверняка ловили себя на этом ощущении: бюджет на рекламу съеден, бот растет, а на вопрос кто привел платящих людей в бота — развести руками. Telegram не щедр на реферы и куки, как обычный веб. Всё приходится собирать, как детские конструкторы: по шестеренкам, с наклейками и аккуратно подписанными деталями. В один из таких вечеров я запустил пост в партнерском канале на 30 тысяч, а через день понял, что почти не могу доказать, где именно деньги. Научился. Ниже рабочая схема: что такое utm метки в телеграм, как настроить автоматизацию через Make и как посчитать LTV клиента так, чтобы таблица не превращалась в болото.
Почему в Telegram всё не так просто с UTM и почему это не повод всё бросать
Когда вы даете ссылку на сайт — всё окей: UTM-метки улетают в Яндекс Метрику, Roistat, куда угодно. Но Telegram-бот — не сайт. У него нет страницы, он не умеет принимать utm в привычном виде, и реферер не передается. Зато у бота есть магия диплинков: t.me/ВашБот?start=что_угодно. Это и есть наши utm метки для телеграм бота, только в другом костюме. Вы кладете в этот start свои метки кампании, а бот, увидев нового пользователя, аккуратно сохраняет и метки, и сам Telegram ID человека. В результате вы знаете, кто пришел откуда, и уже дальше можно считать деньги. Работает это даже лучше, чем на сайте, потому что связка происходит сразу с юзером, а не с сессией браузера.
Две схемы: ссылка на сайт и ссылка на бота
Сайт — классические UTM
Если рекламируете лендинг, разметьте ссылку обычным способом: utm_source, utm_medium, utm_campaign, utm_content, utm_term. Пример понятный и без изысков: https://example.ru/offer?utm_source=telegram&utm_medium=post&utm_campaign=may&utm_content=author_X. Такие utm метки для телеграм канала прекрасно ловятся Метрикой и CRM, а если хотите не ошибаться в регистре и орфографии — используйте любой генератор utm меток для телеграм, например в Tilda или просто соберите свою вкладку в Google Sheets с выпадашками. Чуть позже покажу, как ту же аккуратность перенести в диплинки для бота.
Бот — диплинки и псевдо UTM
Для бота нам нужен deep-link: t.me/ВашБот?start=… В этот хвост вы кладете компактный набор меток. Самый удобный формат — кодировать параметры через двойное подчеркивание: src_telegram__mdm_post__cmp_may__cnt_author_X. Зачем так сложно? Чтобы потом однозначно разбирать строку без сюрпризов. Это и есть практичные utm метки в телеграм для бота. Внутри бота при первом запуске вы разбираете start, кладете разобранные параметры в базу вместе с user_id, username и датой, и больше не теряете источник. Если человек пришел второй раз уже по другой ссылке — не перезаписывайте первую точку входа, а добавляйте новую метку как дополнительный визит. В продажах это часто спасает от ложных выводов.

Автоматизация на Make: никаких ручных сводок по ночам
Сердце системы — сценарий в Make. Он получает апдейты бота, разбирает метки, складывает их в таблицу и, когда приходит событие денег, считает, что кому принадлежит. Сценарий стартует от Telegram Bot модуля, берет update с /start, парсит параметр start, нормализует ключи и записывает строку в Google Sheets. В таблице заведите столбцы как у людей: дата первой сессии, user_id, username, источник, канал, кампания, контент, термин, путь поста или партнера, а рядом статус подписки и платежи. Когда пользователь оплачивает, бот кидает во второй сценарий событие оплаты — сумма, валюта, продукт, user_id, дата. Make склеивает платеж с карточкой пользователя по user_id и кладет в отдельную вкладку журнал оплат. В итоге у вас две таблички, которые общаются между собой без вашего участия, и никакого копипаста из админок.
Куда всё складывать и как не утонуть
Google Sheets достаточно на старте, он быстро и бесплатно. Дальше при росте можно переехать в ClickHouse или PostgreSQL, если понадобится. Но и на таблицах жить приятно, если вести дисциплину: один пользователь — одна строка профиля, и много строк оплат рядом. На уровне Make удобно сразу рассчитывать derived поля: например, дату первой оплаты, дату последней, количество покупок, суммарный доход по пользователю. Это избавляет от перегретых формул в таблице. Еще полезно писать технические поля — версия сценария, дата обновления, откуда пришел апдейт, чтобы при правке не разрушить старые связи.
Как посчитать LTV без шаманства и с цифрами, которые можно защитить
Сразу про запрос из серии ltv как посчитать коэффициент покрытия задолженности обеспечением. Это банковская история про залоги, к нашему маркетинговому LTV она отношения не имеет. В Telegram-ботах под LTV мы понимаем суммарную выручку от пользователя за срок его жизни минус стоимость сервиса — проще говоря, деньги, которые этот конкретный человек принес. Базовая формула если коротко так: LTV пользователя = сумма всех его оплат за период жизни × маржинальность. Если хотите аккуратнее, добавьте удержание и горизонт: LTV когорты = суммарная выручка когорты за N дней ÷ количество пользователей в когорте × маржинальность. Это тот случай, когда вопрос как посчитать ltv клиента решается без черной магии: есть платежи — есть LTV. В Make можно по триггеру оплаты пересчитывать агрегаты и сразу писать готовую цифру в профиль пользователя, а в Google Sheets делать сводку по кампаниям, каналам и датам, чтобы видеть LTV по источникам.
Формула LTV под разные модели
Если у вас подписка, удобнее смотреть ARPU по дням жизни: LTV_30 = средняя выручка на пользователя за 30 дней × маржинальность. Для разовых покупок берите средний чек × частоту × средний срок жизни. В таблице это строится так: заводите столбцы D1, D7, D30 — сколько денег принес пользователь к дню 1, 7, 30; дальше группируете по источнику. Получаются читаемые срезы: utm_source = telegram, utm_campaign = spring — LTV_30 равен, допустим, 850 рублей, а в партнерском канале 1 уже 1 320 рублей. На уровне бизнеса это отвечает на тихий вопрос ltv как посчитать формула и почему по одним каналам окупаемость за 10 дней, а по другим нет даже за 45. Пара цифр, и лишние бюджеты растворяются почти без боли.

Серый кардинал — генератор меток и шаблоны
Вся красота рассыпается, если вы размечаете ссылки руками и каждый раз пишете Telegram и telegram по настроению. Соберите простой генератор utm меток для телеграм в Google Sheets: выпадающие списки источников и каналов, автоформирование параметров, и отдельная вкладка для диплинков бота. Для бота генератор сразу кодирует параметры в компактную строку start, а еще добавляет короткий slug контента — чтобы при равных условиях вы могли понять, какой креатив стреляет. Говорю очевидную вещь, но она экономит часы: отдельно храните папку с готовыми UTM для рекламных кабинетов и партнеров, чтобы не выпрашивать потом у менеджеров «а что за кампания была 14 февраля в 19:00». Партнеру даете одну ссылку, в таблице эта ссылка помечена, в боте все прилетает чисто и без ручной расшифровки.
А если Telegram — только часть воронки
Часто трафик крутится по кругу: канал — бот — сайт — оплата на платежке — бот. Чтобы не терять цепочку, заведите user_id как основной ключ везде, где можете. На сайте кладите user_id в localStorage после авторизации через Telegram WebApp или через одноразовую метку в ссылке на сайт, а оплату помечайте этим же ключом. В Make это решается двумя сценариями: один слушает бота, второй — вебхуки от платежной системы. Дальше сцепка простая — у платежа есть user_id, у пользователя есть метки, значит и LTV по источникам виден сразу. Если хочется красивой визуализации и прогнозов, отдайте те же события в AppMetrica — она умеет предсказывать отток и LTV, а вы будете посматривать в дашборд и иногда улыбаться, потому что цифры наконец не рандомные.

Бытовые мелочи, которые делают систему живой
Сделайте себе утренний дайджест. Пусть Make каждый день в 9:00 присылает в ваш личный чат короткое резюме: сколько новых пользователей, сколько оплат, какой LTV_7 по топовым каналам и кто из партнеров привел платежи. Переоценить этот ритуал сложно — вместо паники у вас привычный кофе и понятная картинка. Еще хорошо работает автопроверка диплинков: раз в сутки сценарий пробегает по списку активных кампаний, генерирует тестовую ссылку и проверяет, что бот верно пишет метки. И банально, но помогает: храните словарь каналов и кампаний, чтобы utm метки для телеграм канала звучали одинаково везде, а не превращались в зоопарк из source=tg, tme, Telegram и «телега».
Кому особенно зайдет и как запустить за один вечер
Если вы продвигаете инфопродукты, подписки или SaaS внутри бота — это must have. Но и офлайну полезно: запись к врачу, доставка еды, курсы для детей, любой бизнес, где клиент возвращается, держит LTV на плечах. Запуск на вечер: подключаете бота к Make, вешаете обработку стартовых параметров, создаете таблицу профилей и оплат, пересобираете рекламные ссылки через генератор, проверяете связку на двух тестовых пользователях и пускаете первый пост. Через неделю у вас уже LTV_7 по источникам, через месяц LTV_30 и уверенность, где крутить ручку бюджета. Если чувствуете, что не хочется нырять в сценарии в одиночку — у нас как раз есть материалы для быстрого старта и готовые блюпринты.
Где прокачаться и чем помочь себе уже сегодня
Хотите научиться автоматизации рабочих процессов с помощью сервиса make.com и нейросетей? Подпишитесь на наш Telegram-канал — там короткие разборы сценариев, примеры диплинков, разметка для ботов и немного здорового ироничного юмора, чтобы не закисать. Если нужен структурный маршрут и поддержка, загляните сюда: Обучение по make.com, а если хотите поставить аналитику «вчера» — возьмите готовые сценарии из подписки: Блюпринты по make.com. Они экономят недели на рутине, я проверял на себе и на клиентах. И да, регистрируйтесь в Make, без этой коробки с инструментами вся история получится на костылях.
Частые вопросы по UTM в Telegram и LTV
Что такое utm метки в телеграм и чем они отличаются от обычных
Для ссылок на сайт это обычные UTM-параметры, которые понимают аналитические системы. Для бота мы используем deep-link с параметром start, куда складываем псевдо UTM. Бот принимает параметр, запоминает вместе с user_id и вы не теряете источник. Смысл один и тот же — узнать, откуда пришел человек, просто технически упаковка разная.
Как посчитать LTV клиента простым способом
Возьмите все платежи пользователя за период его жизни и сложите, затем умножьте на маржинальность. Если нужен когортный взгляд, делите суммарную выручку когорты за N дней на количество пользователей в когорте и получите LTV_N. Этого достаточно для решений о бюджете и окупаемости каналов.
Есть ли удобный генератор utm меток для телеграм
Можно использовать генераторы на конструкторах сайтов вроде Tilda, но под бота удобнее собрать свой мини-генератор в Google Sheets, который формирует и классические UTM для сайта, и диплинк для бота с кодированными параметрами. Так вы сохраняете единый словарь кампаний и не получаете хаос в данных.
Как связать бота и таблицу без программирования
Подключите своего бота в Make, настройте обработку апдейтов с /start, разберите параметр start и запишите данные в Google Sheets. Второй сценарий принимает вебхуки платежной системы, склеивает оплату с пользователем по user_id и обновляет агрегаты. Вся логика собирается визуально, без кода.
Что делать, если один пользователь кликал разные ссылки
Сохраняйте первую точку входа как primary source, а последующие — как дополнительные. Для LTV по первому источнику используйте primary, для атрибуции последних контактов можно строить отдельные отчеты. Главное не перетирать исходные данные.
Зачем учитывать маржинальность при LTV
Потому что выручка — не прибыль. LTV без маржи часто выглядит красиво, но вводит в заблуждение. Добавьте реальную маржинальность продукта и вы увидите честную картину окупаемости каналов и сроков возврата вложений.
Про запрос ltv как посчитать коэффициент покрытия задолженности обеспечением
Это термин из кредитования, не путайте его с маркетинговым Lifetime Value. В аналитике Telegram-бота нас интересует именно LTV пользователя — сколько денег он принес за жизнь в продукте. Коэффициенты по залогам к нам здесь не применимы, и они нам тут вобще ни к чему.