Главная Обучение нейросетям Автоматизация бизнеса Компаниям Клуб Кейсы & Опыт База знаний Чтиво Личный Кабинет Забронировать слот ↗
Главная / Инструменты / Генератор UTM-меток для Telegram
БЕСПЛАТНЫЙ ИНСТРУМЕНТ // TELEGRAM DEEP LINKING

Генератор UTM-меток для Telegram (до 64 байт)

Создавайте и сжимайте диплинки (deep links) в формат URL-safe Base64 без превышения жесткого лимита в 64 байта для корректной работы Telegram-ботов. Включает контроль длины на лету и готовый скрипт сквозного проброса меток с сайта в бота.

Автор: Михаил Пузырёв
Статус: Online / Реалтайм
Лимит Telegram: ≤ 64 байта (start)
Кодировка: URL-safe Base64 (RFC 4648)
Канал: @uncrn_sage ↗

Конструктор ссылок с контролем размера

Сформируйте диплинк за 3 простых шага: укажите целевой адрес, выберите рекламный источник и скопируйте готовый URL-safe Base64 код.

01 КУДА ВЕДЕМ ТРАФИК (ЦЕЛЕВЫЕ АДРЕСА)
ШАГ 1 ИЗ 3
Адрес страницы сайта ЛЕНДИНГ
https://
Страница, куда сначала переходит пользователь с рекламы
Telegram-бот или канал TELEGRAM БОТ
https://t.me/
Ник бота без @ (куда бот передаст метки при нажатии Start)
02 ПАРАМЕТРЫ РЕКЛАМЫ (ОТКУДА ПРИШЕЛ КЛИЕНТ)
ШАГ 2 ИЗ 3
⚡ БЫСТРЫЕ ШАБЛОНЫ ПОД РЕКЛАМНЫЕ КАНАЛЫ:
ОСНОВНЫЕ МЕТКИ КАМПАНИИ:
Источник трафика utm_source · s
ya, vk, tg, google, email
Тип рекламы utm_medium · m
cpc, targeted, channel, stories
Название кампании utm_campaign · c
Краткое имя кампании (латиницей)
ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ (ОПЦИОНАЛЬНО):
Баннер / Объявление utm_content · o
Ключевое слово utm_term · t
Реферальный ID / Партнер referralCode · r
03 ГОТОВЫЙ РЕЗУЛЬТАТ ДЛЯ ЗАПУСКА
РЕАЛТАЙМ РАСЧЕТ
★ ГЛАВНЫЙ ДИПЛИНК ДЛЯ TELEGRAM (BASE64 URL-SAFE) ● 0 / 64 БАЙТ · ЛИМИТ СОБЛЮДЕН
ДОПОЛНИТЕЛЬНЫЕ ВАРИАНТЫ ССЫЛОК:
1. Ссылка для сайта (стандартная с полными UTM)
2. Ссылка для сайта (Base64 URL-safe с короткими ключами)
3. Стандартная ссылка для Telegram (можно редактировать вручную)
Параметр start передается в бот при нажатии кнопки «Запустить».

Скрипт сквозного проброса меток (Tilda / Web)

Если вы ведете платный трафик на лендинг, а целевым действием является переход в Telegram-бота, метки из адресной строки пользователя потеряются при клике по кнопке. Скрипт ниже автоматически подхватывает параметры страницы и дописывает их ко всем исходящим ссылкам на сайте.

// HTML / JAVASCRIPT ДЛЯ ВСТАВКИ В <HEAD> ИЛИ БЛОК T123
<!-- Скрипт сквозного проброса UTM-меток (AiSAGE) -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Получаем строку запроса из URL страницы
    var queryString = window.location.search;

    // 2. Если параметры существуют, обрабатываем ссылки
    if (queryString) {
        var allLinks = document.querySelectorAll('a');
        allLinks.forEach(function(link) {
            var href = link.getAttribute('href');
            // Пропускаем якорные ссылки (#) и системные вызовы
            if (href && !href.startsWith('#') && !href.startsWith('javascript:')) {
                // Корректно объединяем через ? или &
                if (href.indexOf('?') !== -1) {
                    link.href = href + '&' + queryString.substring(1);
                } else {
                    link.href = href + queryString;
                }
            }
        });
    }
});
</script>
Как установить на Тильде за 30 секунд:
  1. Добавьте на страницу лендинга блок T123 (HTML-код) из категории «Другое».
  2. Вставьте скопированный скрипт в блок и нажмите «Сохранить и закрыть».
  3. Опубликуйте страницу. Теперь при переходе на yoursite.ru/?utm_source=yandex все ссылки на странице автоматически получат этот параметр.

Почему Telegram ограничивает параметр 64 байтами?

В протоколе Telegram Bot API команда /start [payload] жестко ограничена спецификацией: длина параметра start не может превышать 64 байта (ASCII-символов). Если попытаться передать обычную строку utm_source=yandex&utm_medium=cpc&utm_campaign=brand, ссылка моментально превысит лимит, и Telegram просто отбросит параметр. Пользователь попадет в бота, но бот получит пустой старт.

Таблица сокращения ключей параметров

Стандартный ключ Короткий ключ Назначение Пример значения
utm_source s Источник трафика ya, tg, vk
utm_medium m Тип рекламы / Канал cpc, post, story
utm_campaign c Название рекламной кампании sale, web26
utm_content o Идентификатор креатива/баннера b1, v2
utm_term t Ключевое слово / таргетинг agent, vibe
referralCode r ID партнера / Реферальный код usr99, p12

Как Telegram-бот декодирует метки на сервере

При нажатии на кнопку «Запустить» бот получает событие с текстом команды, например: /start c315YSZtPWNwYyZjPXNhbGU. Бот берет полезную нагрузку, восстанавливает URL-safe Base64 и парсит querystring.

PYTHON (AIOGRAM 3.X / TELEBOT)
import base64
from urllib.parse import parse_qs

def decode_utm_payload(payload: str) -> dict:
    """Декодирует URL-safe Base64 payload из команды /start в Telegram боте"""
    try:
        # Восстанавливаем паддинг '=' до кратности 4
        padded = payload + '=' * (-len(payload) % 4)
        # Декодируем URL-safe Base64 (- на +, _ на /)
        raw_bytes = base64.urlsafe_b64decode(padded)
        decoded_query = raw_bytes.decode('utf-8')
        
        # Парсим параметры s, m, c, o, t, r
        parsed = parse_qs(decoded_query)
        return {
            'utm_source': parsed.get('s', [None])[0],
            'utm_medium': parsed.get('m', [None])[0],
            'utm_campaign': parsed.get('c', [None])[0],
            'utm_content': parsed.get('o', [None])[0],
            'utm_term': parsed.get('t', [None])[0],
            'referral_code': parsed.get('r', [None])[0],
        }
    except Exception as e:
        return {}

# Пример в aiogram 3:
# @dp.message(CommandStart(deep_link=True))
# async def start_handler(message: Message, command: CommandObject):
#     utm = decode_utm_payload(command.args)
#     print("Источник рекламы:", utm.get('utm_source'))
NODE.JS / TYPESCRIPT (TELEGRAF / GRAMMY)
function decodeUtmPayload(payload) {
  try {
    // Восстанавливаем символы Base64 и выравнивание
    let base64 = payload.replace(/-/g, '+').replace(/_/g, '/');
    while (base64.length % 4) base64 += '=';
    
    const decoded = Buffer.from(base64, 'base64').toString('utf-8');
    const params = new URLSearchParams(decoded);

    return {
      utm_source: params.get('s'),
      utm_medium: params.get('m'),
      utm_campaign: params.get('c'),
      utm_content: params.get('o'),
      utm_term: params.get('t'),
      referral_code: params.get('r')
    };
  } catch (err) {
    return null;
  }
}

// Пример в grammY:
// bot.command('start', async (ctx) => {
//   const payload = ctx.match;
//   const utm = decodeUtmPayload(payload);
// });

Вопросы и ответы о диплинках в Telegram

Telegram поддерживает только один параметр запуска для ботов: ?start=ПАРАМЕТР. Знаки амперсанда (&) и вопроса внутри этого значения парсер Telegram игнорирует либо ломает. Кроме того, длина параметра жестко ограничена 64 байтами. Перевод в URL-safe Base64 решает обе проблемы: убирает спецсимволы и позволяет уместить до 5–6 сокращенных параметров в один компактный токен.
Если значение после ?start= окажется длиннее 64 байт, клиент Telegram просто проигнорирует параметр. Пользователь откроет бота, нажмет кнопку «Запустить», но бот получит только команду /start без хвоста с метками. Сквозная конверсия и источник трафика будут потеряны. Именно поэтому наш счетчик выделяет превышение красным цветом.
В стандартном Base64 используются символы + и /, а в конце добавляется знак равенства = для выравнивания. В URL адресной строки символ + заменяется на пробел, а / ломает структуру пути. В URL-safe Base64 (RFC 4648) плюсы заменяются на дефисы (-), слэши на подчеркивания (_), а концевые знаки = просто обрезаются. Это гарантирует 100% стабильность ссылки в любых мессенджерах.
Да, алгоритм генератора предварительно кодирует UTF-8 символы перед упаковкой в Base64. Однако учтите: каждый русский символ в UTF-8 занимает 2 байта, из-за чего длина Base64-строки растет быстрее. Для рекламы в Telegram настоятельно рекомендуется использовать короткую латиницу (например, c=direct_msk вместо c=директ_москва).
Да, этот генератор полностью интегрирован в Личный Кабинет платформы (/cabinet/?tab=knowledge). Вы можете открывать его прямо из панели управления в виде быстрого модального окна в 1 клик без перехода на внешние страницы.

Получите персональный план и оценку задачи
за 1 день

Напишите, какую задачу нужно решить: запустить сервис, внедрить AI-агентов в отдел, прокачать команду или снять ограничения роста. Отвечу лично и предложу пошаговый план.

• Канал в Telegram: @uncrn_sage
// ПРЯМАЯ СВЯЗЬ БЕЗ ПОСРЕДНИКОВ
Написать в Telegram ↗ Забронировать слот в Календаре ↗ Написать в MAX ↗
Прямой контакт ● Online