6 min czytaniaBranże

Deep linki Telegrama: śledzenie linków t.me i startowych linków bota

Jak zbudować mierzalne deep linki Telegrama: format linku t.me, wstępnie wypełniony tekst, parametry startowe bota i atrybucja kliknięć z krótkim linkiem na przedzie.

Ana Kowalska
Marketing solutions engineering
Routing deep linku Telegrama: krótki link zapisuje kliknięcie, a potem przekierowuje do linku t.me, który otwiera czat lub bota z parametrem start

Deep link Telegrama to adres webowy t.me, który po tapnięciu otwiera konkretny czat, kanał, grupę lub bota, opcjonalnie niosąc parametr, który odbiera Twój bot. Typowe formaty to https://t.me/username, żeby otworzyć czat, https://t.me/username?text=Hi, żeby otworzyć go ze wstępnie wypełnionym szkicem, oraz https://t.me/YourBot?start=payload, żeby otworzyć bota i przekazać mu payload. Tapnij link, Telegram otwiera się we właściwym miejscu, a w przypadku bota payload trafia po stronie serwera.

Właśnie ta ostatnia część odróżnia Telegram od większości kanałów komunikatorów. WhatsApp nie mówi Ci, która reklama wywołała tapnięcie wa.me. Boty Telegrama owszem: payload ?start= jest dostarczany do Twojego bota, gdy użytkownik startuje, więc atrybucja może być wbudowana w sam link. Dla zwykłych linków do czatu i kanału nadal potrzebujesz przekierowania z przodu, żeby zobaczyć kliknięcie, tak samo jak w przypadku każdego deep linku w komunikatorze. Ten artykuł omawia oba przypadki.

Wzorce linków t.me

Istnieje jedna rodzina adresów i kilka parametrów. Telegram dokumentuje je w dokumentacji deep linków (dostęp 2026-07-18).

  • Otwórz czat lub kanał: https://t.me/username. Działa dla publicznych nazw użytkownika, kanałów i grup. To link, który umieszczasz w bio albo w stopce e-mailowej.
  • Wstępnie wypełnij szkic: https://t.me/username?text=Hello%20Acme. Wiadomość jest zakodowana w formacie URL i trafia do pola szkicu. Użytkownik tapnie wyślij, Telegram nie wysyła jej za niego.
  • Otwórz bota z payloadem: https://t.me/YourBot?start=spring-promo. Telegram otwiera bota, pokazuje przycisk Start, a po tapnięciu dostarcza spring-promo do bota w komendzie /start.
  • Dodaj użytkownika do grupy przez bota: https://t.me/YourBot?startgroup=payload. Ta sama idea, skierowana na konfigurację grupy, a nie prywatny czat.

Schemat tg:// (tg://resolve?domain=username) istnieje, ale jest zawodny. Przeglądarki i wewnątrzaplikacyjne webview blokują lub usuwają niestandardowe schematy, więc wydrukowany link tg:// zawodzi częściej, niż działa. Używaj t.me, czyli zwykłego URL-a https, który rozwiązuje się bezproblemowo i może stać za krótkim linkiem. Mechanika tego, dlaczego t.me w ogóle kieruje do aplikacji, opiera się na natywnych mechanizmach systemu operacyjnego opisanych w Głębokich linkach dla aplikacji mobilnych bez SDK.

Dlaczego parametr start wygrywa w atrybucji

Większość kanałów click-to-chat jest jednokierunkowa: tapnięcie otwiera rozmowę i nic Ci nie mówi. Boty Telegrama łamią ten wzorzec, bo payload ?start= jest dostarczany do kodu Twojego bota. Facebook Messenger robi to samo dzięki swojemu parametrowi ref; WhatsApp jest tym, który milczy. Telegram ogranicza go do 64 znaków i dopuszcza wyłącznie litery, cyfry, myślniki i podkreślenia, a przy potrzebie spakowania danych strukturalnych zaleca base64url, zgodnie z dokumentacją deep linkowania botów.

Payload może więc nieść tag kampanii, identyfikator polecającego albo zakodowany identyfikator rekordu. Gdy użytkownik tapnie Start, Twój bot go odczytuje i wie, że kliknięcie pochodziło na przykład z majowego newslettera, a nie z przypiętego posta na kanale. Bez piksela, bez gimnastyki z webhookami, bez wyciągania tagów z treści wiadomości. Sygnał jest w /start, które Twój bot już obsługuje.

Anatomia trzech deep linków Telegrama: zwykły link czatu t.me, link t.me ze wstępnie wypełnionym szkicem tekstu oraz link bota, którego payload start jest dostarczany do bota przy tapnięciu Start

Ten limit ma znaczenie. Sześćdziesiąt cztery znaki wystarczą na nl-may-hero albo krótki identyfikator base64url, ale nie na pełny ciąg UTM. Wzorzec, który się skaluje, to zwarty identyfikator w ?start=, a czytelne dla człowieka dane kampanii przechowywane pod tym identyfikatorem we własnym systemie.

Warstwa przekierowania

Dla linków do czatu i kanału, oraz żeby ujednolicić śledzenie na każdej powierzchni Telegrama, postaw krótki link przed adresem URL t.me. Klient tapnie s.elido.me/tg, Twój edge zapisuje kliknięcie, a następnie przekierowuje do https://t.me/YourBot?start=nl-may. Z perspektywy klienta przepływ jest identyczny jak przy bezpośrednim tapnięciu t.me.

Z Twojej strony zmieniły się trzy rzeczy:

  • Kliknięcie jest zapisywane. Przekierowanie wywołuje zdarzenie ze znacznikiem czasu, geolokalizacją, urządzeniem i parametrami UTM, które dotarły na krótkim linku, dzięki czemu Start, który Twój bot zapisuje sekundę później, można połączyć z konkretną kampanią.
  • Miejsce docelowe jest edytowalne. Zmień nazwę użytkownika bota, kanał albo payload ?start= bez przedrukowywania kodu QR czy edytowania aktywnej reklamy. Jeśli przenosisz kampanię z jednego bota na drugiego, zmieniasz miejsce docelowe raz.
  • Dane kampanii są przenośne. s.elido.me/tg?utm_source=email&utm_medium=newsletter&utm_campaign=may przechwytuje tagi na etapie przekierowania, mimo że t.me ignoruje parametry zapytania, których nie rozpoznaje.

To ta sama warstwa, którą opisuje Jak śledzić kampanie UTM od końca do końca bez CDP, i dokładnie to samo podejście, którego dla wa.me używa Deep linki WhatsApp Business: click-to-chat z atrybucją. Telegram po prostu daje Ci dodatkowy sygnał na wierzchu, przez payload bota.

Jeśli chcesz edytowalnych, mierzalnych linków Telegrama bez samodzielnego budowania przekierowania, deep linki Elido stają przed każdym miejscem docelowym t.me i zapisują każde tapnięcie. Możesz skonfigurować taki na darmowym planie.

Praktyczna konfiguracja

Trzy krótkie linki pokrywają większość przepływów Telegrama:

  • Link ogólny: s.elido.me/tg do Twojego głównego bota lub kanału, używany w stopce strony, w bio i w podpisie e-mail. Wyłapuje ogólny ruch przychodzący.
  • Link kampanijny: jeden na każdą aktywną kampanię, s.elido.me/tg-may-nl, wskazujący na tego samego bota z payloadem ?start= specyficznym dla kampanii. Używany w konkretnej reklamie albo newsletterze.
  • Link drukowany na kodzie QR: s.elido.me/tg-shop dla fizycznych umieszczeń, z payloadem, który nazywa dane miejsce, dzięki czemu Twój bot wita skanującego z uwzględnieniem kontekstu.

Każdy link mapuje się na szablon UTM i opisową etykietę taką jak surface:newsletter · channel:telegram · campaign:may. Skonfiguruj je pod /links, a etykiety napędzają filtry w analityce. Filtruj po channel:telegram, żeby zobaczyć każde tapnięcie napędzane przez Telegram we wszystkich kampaniach.

Zastrzeżenie dotyczące wstępnie wypełnionej wiadomości

Szkic ?text= to prawdziwe ograniczenie tarcia: klient trafia do czatu z wpisaną już wiadomością i musi tylko tapnąć wyślij. Ale Telegram nigdy nie wysyła jej automatycznie, i to celowe. Link, który mógłby po cichu wysłać wiadomość w Twoim imieniu, byłby wektorem spamu, więc Telegram wymaga tapnięcia. Napisz wstępne wypełnienie tak, żeby tapnięcie było naturalne, i nie buduj przepływu, który zakłada, że wiadomość zostanie wysłana, zanim użytkownik podejmie działanie.

W przypadku botów nie ma żadnego widocznego szkicu. Payload ?start= jest niewidoczny dla użytkownika i trafia prosto do bota, co jest czystsze pod względem śledzenia, bo nie ma identyfikatora trackingowego niezręcznie siedzącego w wiadomości, którą klient może zobaczyć.

Powierzchnie kodów QR

Duża część ruchu click-to-chat w Telegramie pochodzi ze skanów, a nie z tapnięć w sieci. Ktoś jest w sklepie, na wydarzeniu albo trzyma ulotkę i skanuje kod, który otwiera Twojego bota lub kanał. "Od druku do rozmowy" to jedno z najsilniejszych zastosowań wzorca krótki-link-potem-t.me.

Wydrukowany kod QR koduje krótki link, a nie surowy link t.me, dzięki czemu przekierowanie zapisuje skan, miejsce docelowe pozostaje edytowalne, a payload start bota identyfikuje miejsce umieszczenia

Dwie zasady utrzymują nakład druku użytecznym:

  • Kod QR koduje s.elido.me/<slug>, nigdy bezpośrednio t.me/.... Zakodowanie t.me blokuje miejsce docelowe, zabija analitykę skanów i marnuje nakład druku, jeśli bot lub kanał się zmieni.
  • Każde miejsce umieszczenia dostaje własny krótki link i własny payload ?start=, dzięki czemu kod na witrynie, kod na ulotce i kod na opakowaniu to osobne wiersze, które możesz porównać. Kwestie projektowe, takie jak strefa ciszy, kontrast i korekcja błędów, są takie same jak przy każdym umieszczeniu, omówione w artykule Dynamiczne vs statyczne kody QR: co tak naprawdę się zmienia.

Co nie działa

Trzy wzorce, które wyglądają rozsądnie, a jednak zawodzą:

Kodowanie surowego linku t.me w kodzie QR albo reklamie. Żadnych danych o kliknięciach, żadnej kontroli nad miejscem docelowym i martwy zasób w dniu, w którym zmienia się nazwa użytkownika. Zawsze drukuj krótki link.

Wciskanie ciągu UTM do ?start=. Limit 64 znaków i ograniczony zestaw dopuszczalnych znaków obetnie go albo odrzuci. Użyj krótkiego identyfikatora i rozwiąż go do pełnych danych kampanii po swojej stronie.

Poleganie na tg:// w czymkolwiek drukowanym lub udostępnianym. Niestandardowe schematy są blokowane przez przeglądarki i wewnątrzaplikacyjne webview, więc link zawodzi dla części użytkowników bez żadnego fallbacku. Trzymaj tg:// wewnętrznie, a publiczną ścieżkę prowadź przez t.me za krótkim linkiem, ze smart routingiem obsługującym ewentualny fallback per urządzenie, tak jak robią to smart linki.

Telegram to rzadki kanał, w którym deep link sam z siebie może nieść atrybucję. Połącz payload bota ?start= z przekierowaniem z przodu, a dostaniesz zarówno kliknięcie, jak i Start, połączone z kampanią, która je wywołała.

Powiązane wpisy na blogu

Najczęściej zadawane pytania

Jak stworzyć deep link Telegrama?

Weź adres t.me swojego konta, kanału, grupy lub bota i dodaj parametr. Dla bota, https://t.me/YourBot?start=payload otwiera bota i wysyła do niego payload, gdy użytkownik tapnie Start. Dla osoby lub kanału, https://t.me/username otwiera czat, a dodanie ?text= wstępnie wypełnia szkic wiadomości. Zakoduj wiadomość i ogranicz payload startowy do 64 znaków, używając wyłącznie liter, cyfr, myślników i podkreśleń.

Czym jest parametr start w linku Telegrama?

Parametr start to krótki ciąg znaków w deep linku bota, zapisywany jako ?start=payload. Gdy ktoś otworzy https://t.me/YourBot?start=payload i tapnie Start, Telegram dostarcza ten payload do Twojego bota w wiadomości /start. Twój bot go odczytuje i może powitać użytkownika, odblokować treść albo zapisać, skąd pochodziło kliknięcie. To jedyny kanał komunikatora, w którym atrybucja jest wbudowana w sam link, a nie doklejona z boku.

Czy mogę wstępnie wypełnić wiadomość Telegrama?

Tak, w przypadku linku do osoby lub kanału. https://t.me/username?text=Hello otwiera czat z wpisanym w szkicu tekstem Hello. Wiadomość nie jest wysyłana automatycznie, użytkownik musi tapnąć wyślij, co jest funkcją bezpieczeństwa Telegrama, a nie błędem. Linki do botów używają ?start= zamiast ?text=, a bot otrzymuje payload po cichu, zamiast pokazywać go jako szkic.

Czy można śledzić kliknięcia w linku t.me?

Sam link t.me nie daje żadnych danych o kliknięciach, bo Telegram nie zgłasza Ci tapnięcia. Postaw przed nim krótki link: klient tapnie Twój krótki link, przekierowanie zapisuje kliknięcie z czasem, urządzeniem i tagami kampanii, a następnie przekazuje dalej do t.me. Dla botów payload ?start= dodaje drugi, serwerowy sygnał, który Twój bot może zapisać, gdy użytkownik faktycznie uruchomi bota.

Jaka jest różnica między linkami t.me a tg://?

t.me to zwykły adres webowy https, który Telegram rozwiązuje i otwiera w aplikacji, dzięki czemu bezpiecznie jest go drukować, udostępniać i chować za krótkim linkiem. tg:// to surowy URL ze schematem aplikacji, który działa wyłącznie, gdy Telegram jest zainstalowany, a przeglądarki i aplikacje mogą go blokować lub usuwać. Używaj t.me do wszystkiego, co widzi klient, a tg:// traktuj co najwyżej jako wewnętrzny fallback.

Wypróbuj Elido

Wklej URL, otrzymaj krótki link

Bez rejestracji. Link działa 30 dni. Zarejestruj się, aby zachować go na zawsze.

Za darmo, bez rejestracji · 2 dziennie

Wypróbuj Elido

Skracarka URL hostowana w UE: własne domeny, głęboka analityka i otwarte API. Darmowy plan - bez karty kredytowej.

Tagi
telegram deep links
t.me link
telegram bot start parameter
click to chat telegram
telegram link tracking
prefilled telegram message

Czytaj dalej