Глибоке посилання Telegram - це вебадреса t.me, яка при натисканні відкриває конкретний чат, канал, групу чи бота, і за бажання несе параметр, який отримує ваш бот. Найпоширеніші форми: https://t.me/username відкриває чат, https://t.me/username?text=Hi відкриває його з попередньо заповненою чернеткою, а https://t.me/YourBot?start=payload відкриває бота і передає йому payload. Натискаєте посилання, Telegram відкривається в потрібному місці, а для бота payload приходить на серверний бік.
Саме ця остання деталь відрізняє Telegram від більшості месенджер-каналів. WhatsApp не повідомляє, яка реклама спричинила натискання wa.me. Боти Telegram - повідомляють: payload ?start= доставляється вашому боту, коли користувач запускає діалог, тож атрибуцію можна вбудувати в саме посилання. Для звичайних посилань на чат і канал вам усе одно потрібен редирект попереду, щоб побачити клік, так само як і з будь-яким глибоким посиланням месенджера. Цей матеріал розглядає обидва варіанти.
Патерни посилань t.me
Є одна родина адрес і кілька параметрів. Telegram документує їх у довіднику з глибоких посилань (доступ отримано 2026-07-18).
- Відкрити чат або канал:
https://t.me/username. Працює для публічних юзернеймів, каналів і груп. Це посилання, яке ви розміщуєте в біо чи підписі email. - Попередньо заповнити чернетку:
https://t.me/username?text=Hello%20Acme. Повідомлення закодоване в URL і потрапляє в поле чернетки. Користувач сам натискає «надіслати», Telegram не надсилає за нього. - Відкрити бота з payload:
https://t.me/YourBot?start=spring-promo. Telegram відкриває бота, показує кнопку Start, і при натисканні доставляєspring-promoботу в команді/start. - Додати користувача до групи через бота:
https://t.me/YourBot?startgroup=payload. Та сама ідея, але спрямована на налаштування групи, а не приватний чат.
Схема tg:// (tg://resolve?domain=username) існує, але вона крихка. Браузери і вбудовані webview блокують або вирізають власні схеми, тож надруковане посилання tg:// частіше не спрацьовує, ніж працює. Використовуйте t.me - це звичайна https-URL-адреса, яка коректно резолвиться і може стояти за коротким посиланням. Механіка того, чому t.me взагалі маршрутизує в додаток, - це нативні механізми ОС, описані в глибоких посиланнях без SDK.
Чому параметр start - це перемога для атрибуції
Більшість click-to-chat каналів односторонні: натискання відкриває розмову і нічого вам не повідомляє. Боти Telegram ламають цей патерн, бо payload ?start= доставляється в код вашого бота. Facebook Messenger робить те саме зі своїм параметром ref; WhatsApp - той, хто мовчить. Telegram обмежує його 64 символами і дозволяє лише літери, цифри, дефіси та підкреслення, а для впакування структурованих даних рекомендує base64url, згідно з документацією щодо глибоких посилань бота.
Тож payload може нести тег кампанії, id реферера чи закодований id запису. Коли користувач натискає Start, ваш бот зчитує його і знає, що клік прийшов, скажімо, з травневої розсилки, а не із закріпленого поста в каналі. Жодного пікселя, жодної вебхук-гімнастики, жодного зчитування тегів із тіла повідомлення. Сигнал - у тій самій команді /start, яку ваш бот уже обробляє.
Це обмеження має значення. Шістдесяти чотирьох символів достатньо для nl-may-hero або короткого base64url-id, але не для повного рядка UTM. Патерн, який масштабується, - компактний id у ?start=, а зрозумілі людині дані кампанії зберігаються прив'язаними до цього id у вашій власній системі.
Шар редиректу
Для посилань на чат і канал, а також щоб уніфікувати відстеження на кожній поверхні Telegram, поставте коротке посилання перед URL-адресою t.me. Клієнт натискає s.elido.me/tg, ваш edge фіксує клік, а потім редиректить на https://t.me/YourBot?start=nl-may. З боку клієнта потік ідентичний натисканню t.me напряму.
З вашого боку змінилися три речі:
- Клік фіксується. Редирект генерує подію з міткою часу, гео, пристроєм та UTM-параметрами, що надійшли разом із коротким посиланням, тож Start, який ваш бот залогує секунду по тому, можна зв'язати з конкретною кампанією.
- Ціль редагована. Замініть юзернейм бота, канал або payload
?start=, не передруковуючи QR-код і не редагуючи активну рекламу. Якщо ви переносите кампанію з одного бота на інший, ви змінюєте ціль лише один раз. - Дані кампанії портативні.
s.elido.me/tg?utm_source=email&utm_medium=newsletter&utm_campaign=mayфіксує теги на рівні редиректу, навіть попри те, щоt.meігнорує рядки запиту, яких не розпізнає.
Це той самий шар, що описаний у наскрізному відстеженні UTM, і це той самий підхід, який гайд з click-to-chat WhatsApp використовує для wa.me. Telegram просто додає другий сигнал поверх - через payload бота.
Якщо вам потрібні редаговані, вимірювані посилання Telegram без самостійного створення редиректу, глибокі посилання Elido стають перед будь-якою ціллю t.me і логують кожне натискання. Ви можете налаштувати одне на безкоштовному плані.
Практичне налаштування
Три коротких посилання покривають більшість сценаріїв Telegram:
- Загальне посилання:
s.elido.me/tgна ваш основний бот чи канал, використовується у футері сайту, біо та підписі email. Ловить загальний вхідний трафік. - Посилання кампанії: по одному на кожну активну кампанію,
s.elido.me/tg-may-nl, спрямоване на того самого бота з payload?start=, специфічним для кампанії. Використовується в конкретній рекламі чи розсилці. - Посилання для друку на QR:
s.elido.me/tg-shopдля фізичних розміщень, із payload, що називає розміщення, тож ваш бот вітає того, хто сканує, з урахуванням контексту.
Кожне посилання прив'язане до UTM-шаблону та описової мітки на кшталт surface:newsletter · channel:telegram · campaign:may. Налаштуйте їх у /links, і мітки керують фільтрами в аналітиці. Відфільтруйте за channel:telegram, щоб побачити кожне натискання, спричинене Telegram, у всіх кампаніях.
Застереження щодо попередньо заповненого повідомлення
Чернетка ?text= - це справжнє зменшення тертя: клієнт потрапляє в чат із уже введеним текстом і має лише натиснути «надіслати». Але Telegram ніколи не надсилає його автоматично, і це навмисно. Посилання, яке могло б мовчки надіслати повідомлення від вашого імені, було б вектором спаму, тож Telegram вимагає натискання. Пишіть текст чернетки так, щоб натискання відчувалося природним, і не будуйте флоу, який залежить від того, що повідомлення надіслано ще до дії користувача.
Для ботів видимої чернетки взагалі немає. Payload ?start= невидимий для користувача і передається напряму боту, що чистіше для відстеження, бо жоден трекінг-id незручно не висить у повідомленні, яке клієнт бачить.
Поверхні для QR-кодів
Значна частка click-to-chat трафіку Telegram надходить зі сканувань, а не натискань у вебі. Хтось перебуває в магазині, на події чи тримає флаєр і сканує код, який відкриває ваш бот чи канал. Схема «друк - розмова» - одне з найсильніших застосувань патерна «коротке посилання, а потім t.me».
Два правила зберігають корисність друкованого тиражу:
- QR-код кодує
s.elido.me/<slug>, ніколиt.me/...напряму. Кодуванняt.meфіксує ціль назавжди, вбиває аналітику сканувань і робить друкований тираж марним, якщо бот чи канал зміниться. - Кожне розміщення отримує власне коротке посилання і власний payload
?start=, тож код на вітрині, код на флаєрі та код на упаковці - це окремі рядки, які можна порівнювати. Дизайнерські міркування на кшталт тихої зони, контрасту і корекції помилок такі самі, як і для будь-якого розміщення, - про це в динамічних vs статичних QR-кодах.
Що не працює
Три патерни, які виглядають розумно, але не витримують перевірки:
Кодування голого посилання t.me в QR-коді чи рекламі. Жодних даних про клік, жодного контролю над ціллю, і мертвий актив того дня, коли зміниться юзернейм.
Запихання рядка UTM у ?start=. Обмеження в 64 символи та вузький набір допустимих символів обріже або відхилить його. Використовуйте короткий id і розшифровуйте його до повних даних кампанії на своєму боці.
Покладатися на tg:// для чогось надрукованого чи поширеного. Власні схеми блокуються браузерами й вбудованими webview, тож посилання не спрацьовує для частини користувачів без жодного фолбеку. Тримайте tg:// внутрішнім, а публічний шлях спрямовуйте через t.me за коротким посиланням, з розумною маршрутизацією, яка обробляє будь-який фолбек за пристроєм так само, як роблять смарт-лінки.
Telegram - рідкісний канал, де глибоке посилання може нести атрибуцію самостійно. Поєднайте payload ?start= бота з редиректом попереду - і ви отримаєте і клік, і Start, пов'язані з кампанією, яка їх спричинила.
Читайте також у блозі
- Deep-лінки WhatsApp Business: click-to-chat з атрибуцією
- Click to Messenger: посилання m.me з відстеженням
- Що таке глибоке посилання, і чим воно відрізняється від звичайного посилання
- Глибокі посилання для мобільних додатків без SDK
- Як відстежувати UTM-кампанії наскрізно без CDP
- Пояснення смарт-лінків: маршрутизація на edge без додаткових сервісів
Поширені запитання
Як створити глибоке посилання Telegram?
Візьміть t.me-адресу вашого акаунта, каналу, групи чи бота і додайте параметр. Для бота адреса https://t.me/YourBot?start=payload відкриває бота і надсилає йому payload, коли користувач натискає Start. Для людини чи каналу адреса https://t.me/username відкриває чат, а додавання ?text= попередньо заповнює чернетку повідомлення. Кодуйте повідомлення і тримайте стартовий payload у межах 64 символів, використовуючи лише літери, цифри, дефіси та підкреслення.
Що таке параметр start у посиланні Telegram?
Параметр start - це короткий рядок у глибокому посиланні на бота, який записують як ?start=payload. Коли хтось відкриває https://t.me/YourBot?start=payload і натискає Start, Telegram доставляє цей payload вашому боту в повідомленні /start. Ваш бот зчитує його і може привітати користувача, розблокувати контент або зафіксувати, звідки прийшов клік. Це єдиний месенджер-канал, де атрибуція вбудована в саме посилання, а не прикручена збоку.
Чи можу я попередньо заповнити повідомлення в Telegram?
Так, для посилання на людину чи канал. Адреса https://t.me/username?text=Hello відкриває чат із текстом Hello, уже введеним у чернетку. Повідомлення не надсилається автоматично, користувач має сам натиснути «надіслати» - це особливість безпеки Telegram, а не помилка. Посилання на ботів використовують ?start= замість ?text=, і бот отримує payload мовчки, без показу як чернетки.
Чи можна відстежувати кліки за посиланням t.me?
Голе посилання t.me не дає жодних даних про клік, бо Telegram не повідомляє вам про натискання. Поставте перед ним коротке посилання: клієнт натискає ваше коротке посилання, редирект фіксує клік із часом, пристроєм і тегами кампанії, а потім передає далі на t.me. Для ботів payload ?start= додає другий, серверний сигнал, який ваш бот може залогувати, коли користувач справді запустить діалог.
У чому різниця між посиланнями t.me і tg://?
t.me - це звичайна https-вебадреса, яку Telegram резолвить і відкриває в додатку, тож її безпечно друкувати, поширювати і ховати за коротким посиланням. tg:// - це «сира» URL-адреса на власній схемі додатка, яка працює лише за встановленого Telegram і може бути заблокована чи вирізана браузерами й додатками. Використовуйте t.me для всього, що звернено до клієнта, а tg:// розглядайте щонайбільше як внутрішній фолбек.
Спробуйте Elido
Вставте URL - отримайте коротке посилання
Без реєстрації. Посилання живе 30 днів. Зареєструйтесь, щоб зберегти назавжди.
Безкоштовно, без реєстрації · 2 на день