Un deep link di Telegram è un indirizzo web t.me che apre una chat, un canale, un gruppo o un bot specifico quando viene toccato, opzionalmente portando con sé un parametro che il tuo bot riceve. Le forme comuni sono https://t.me/username per aprire una chat, https://t.me/username?text=Hi per aprirla con una bozza precompilata, e https://t.me/YourBot?start=payload per aprire un bot e consegnargli un payload. Tocchi il link, Telegram si apre nel punto giusto, e per un bot il payload arriva lato server.
Quest'ultima parte è ciò che rende Telegram diverso dalla maggior parte dei canali di messaggistica. WhatsApp non ti dice quale annuncio ha generato un tocco su wa.me. I bot di Telegram invece sì: il payload ?start= viene consegnato al tuo bot quando l'utente avvia la chat, cosicché l'attribuzione possa essere incorporata nel link stesso. Per i semplici link di chat e canale ti serve comunque un redirect davanti per vedere il clic, allo stesso modo in cui faresti con qualunque deep link di messaggistica. Questo articolo copre entrambi i casi.
Gli schemi dei link t.me
C'è un'unica famiglia di indirizzi e alcuni parametri. Telegram li documenta nel riferimento sui deep link (consultato il 18-07-2026).
- Apri una chat o un canale:
https://t.me/username. Funziona per username pubblici, canali e gruppi. È il link che metti in una bio o in una firma email. - Precompila una bozza:
https://t.me/username?text=Hello%20Acme. Il messaggio è URL-encoded e atterra nella casella della bozza. L'utente tocca invia, Telegram non lo invia al posto suo. - Apri un bot con un payload:
https://t.me/YourBot?start=spring-promo. Telegram apre il bot, mostra il pulsante Start e al tocco consegnaspring-promoal bot nel comando/start. - Aggiungi l'utente a un gruppo tramite un bot:
https://t.me/YourBot?startgroup=payload. Stessa idea, rivolta alla configurazione di un gruppo invece che a una chat privata.
Lo schema tg:// (tg://resolve?domain=username) esiste ma è fragile. Browser e webview in-app bloccano o rimuovono gli schemi personalizzati, quindi un link tg:// stampato fallisce più spesso di quanto funzioni. Usa t.me, che è un normale URL https che si risolve senza problemi e può stare dietro un link breve. La meccanica del perché t.me instrada verso l'app è quella nativa del sistema operativo descritta in deep link senza SDK.
Perché il parametro start è la chiave dell'attribuzione
La maggior parte dei canali click-to-chat è a senso unico: il tocco apre la conversazione e non ti dice nulla. I bot di Telegram rompono questo schema perché il payload ?start= viene consegnato al codice del tuo bot. Facebook Messenger fa lo stesso con il suo parametro ref; WhatsApp è quello che resta silenzioso. Telegram lo limita a 64 caratteri e permette solo lettere, numeri, trattini e underscore, e raccomanda base64url se hai bisogno di impacchettare dati strutturati, secondo la documentazione sul deep linking dei bot.
Quindi il payload può portare un tag di campagna, un id di referrer o un id di record codificato. Quando l'utente tocca Start, il tuo bot lo legge e sa che il clic è arrivato, per esempio, dalla newsletter di maggio invece che dal post fissato del canale. Nessun pixel, nessuna acrobazia con i webhook, nessuna lettura di tag dal corpo di un messaggio. Il segnale sta nel /start che il tuo bot già gestisce.
Il limite conta. Sessantaquattro caratteri bastano per nl-may-hero o un breve id base64url, non per una stringa UTM completa. Lo schema che scala è un id compatto in ?start=, con i dati di campagna leggibili dall'uomo memorizzati a fronte di quell'id nel tuo sistema.
Il livello di redirect
Per i link di chat e canale, e per unificare il tracciamento su ogni superficie di Telegram, metti un link breve davanti all'URL t.me. Il cliente tocca s.elido.me/tg, il tuo edge registra il clic, poi reindirizza a https://t.me/YourBot?start=nl-may. Dal lato del cliente il flusso è identico a toccare t.me direttamente.
Dal tuo lato, sono cambiate tre cose:
- Il clic viene registrato. Il redirect genera un evento con timestamp, geo, dispositivo e i parametri UTM arrivati sul link breve, cosicché lo Start che il tuo bot registra un secondo dopo sia collegabile a una campagna specifica.
- La destinazione è modificabile. Cambi lo username del bot, il canale o il payload
?start=senza ristampare un QR o modificare un annuncio già live. Se sposti una campagna da un bot a un altro, cambi la destinazione una sola volta. - I dati di campagna sono portabili.
s.elido.me/tg?utm_source=email&utm_medium=newsletter&utm_campaign=maycattura i tag al momento del redirect anche set.meignora le query string che non riconosce.
Questo è lo stesso livello descritto in tracciare le UTM end-to-end, ed è esattamente l'approccio che la guida al click-to-chat di WhatsApp usa per wa.me. Telegram ti dà solo un secondo segnale in più tramite il payload del bot.
Se vuoi link di Telegram modificabili e misurabili senza costruirti da solo il redirect, i deep link di Elido si mettono davanti a qualunque destinazione t.me e registrano ogni tocco. Puoi configurarne uno sul piano gratuito.
Una configurazione pratica
Tre link brevi coprono la maggior parte dei flussi di Telegram:
- Link generale:
s.elido.me/tgverso il tuo bot o canale principale, usato nel footer del sito, nella bio e nella firma email. Cattura il traffico generico in entrata. - Link di campagna: uno per ogni campagna attiva,
s.elido.me/tg-may-nl, che punta allo stesso bot con un payload?start=specifico per la campagna. Usato nell'annuncio o nella newsletter specifica. - Link stampato su QR:
s.elido.me/tg-shopper i posizionamenti fisici, con un payload che nomina il posizionamento cosicché il tuo bot saluti chi scansiona nel contesto giusto.
Ogni link corrisponde a un template UTM e a un'etichetta descrittiva come surface:newsletter · channel:telegram · campaign:may. Configurali su /links e le etichette guidano i filtri in analytics. Filtra per channel:telegram per vedere ogni tocco generato da Telegram in tutte le campagne.
L'avvertenza sul messaggio precompilato
La bozza ?text= è una vera riduzione di attrito: il cliente arriva alla chat con un messaggio già digitato e deve solo toccare invia. Ma Telegram non lo invia mai automaticamente, e questo è deliberato. Un link che potesse inviare un messaggio silenziosamente a tuo nome sarebbe un vettore di spam, quindi Telegram richiede il tocco. Scrivi il testo precompilato in modo che il tocco risulti naturale, e non costruire un flusso che dipende dal fatto che il messaggio venga inviato prima che l'utente agisca.
Per i bot, non c'è alcuna bozza visibile. Il payload ?start= è invisibile all'utente e viene consegnato direttamente al bot, il che è più pulito per il tracciamento perché non c'è nessun id di tracciamento che resta scomodamente in un messaggio che il cliente può vedere.
Le superfici QR code
Una grossa quota del traffico click-to-chat di Telegram arriva da scansioni, non da tocchi sul web. Qualcuno è in un negozio, a un evento, o ha in mano un volantino, e scansiona un codice che apre il tuo bot o canale. Dalla stampa alla conversazione è uno degli usi più forti dello schema link-breve-poi-t.me.
Due regole mantengono utile la tiratura di stampa:
- Il QR codifica
s.elido.me/<slug>, mait.me/...direttamente. Codificaret.meblocca la destinazione, uccide l'analytics delle scansioni, e spreca la tiratura di stampa se il bot o il canale cambia. - Ogni posizionamento ha il proprio link breve e il proprio payload
?start=, cosicché il codice della vetrina, quello del volantino e quello della confezione siano righe separate che puoi confrontare. Le considerazioni di design come quiet zone, contrasto e correzione degli errori sono le stesse di qualunque posizionamento, trattate in QR code dinamici vs statici.
Cosa non funziona
Tre schemi che sembrano ragionevoli e falliscono:
Codificare il link t.me grezzo in un QR o in un annuncio. Nessun dato sui clic, nessun controllo sulla destinazione, e un asset morto il giorno in cui lo username cambia. Stampa sempre il link breve.
Infilare una stringa UTM in ?start=. Il limite di 64 caratteri e il set di caratteri ristretto la tronca o la respinge. Usa un id breve e risolvilo ai dati completi della campagna dal tuo lato.
Affidarsi a tg:// per qualunque cosa stampata o condivisa. Gli schemi personalizzati vengono bloccati da browser e webview in-app, quindi il link fallisce per una parte degli utenti senza alcun fallback. Tieni tg:// interno e instrada il percorso pubblico attraverso t.me dietro un link breve, con lo smart routing che gestisce qualunque fallback per dispositivo nello stesso modo in cui fanno gli smart link.
Telegram è il raro canale in cui il deep link può portare l'attribuzione da solo. Abbina il payload ?start= del bot a un redirect davanti, e ottieni sia il clic sia lo Start, collegati alla campagna che li ha generati.
Correlati sul blog
Domande frequenti
Come creo un deep link di Telegram?
Prendi l'indirizzo t.me del tuo account, canale, gruppo o bot e aggiungi un parametro. Per un bot, https://t.me/YourBot?start=payload apre il bot e gli invia il payload quando l'utente tocca Start. Per una persona o un canale, https://t.me/username apre la chat, e aggiungere ?text= precompila un messaggio in bozza. Codifica il messaggio e mantieni il payload start entro 64 caratteri usando solo lettere, numeri, trattini e underscore.
Cos'è il parametro start in un link di Telegram?
Il parametro start è una breve stringa in un deep link di bot, scritta come ?start=payload. Quando qualcuno apre https://t.me/YourBot?start=payload e tocca Start, Telegram consegna quel payload al tuo bot nel messaggio /start. Il tuo bot lo legge e può salutare l'utente, sbloccare contenuti, o registrare da dove è arrivato il clic. È l'unico canale di messaggistica in cui l'attribuzione è incorporata nel link invece che aggiunta a posteriori.
Posso precompilare un messaggio di Telegram?
Sì, per un link a una persona o a un canale. https://t.me/username?text=Hello apre la chat con Hello digitato nella bozza. Il messaggio non viene inviato automaticamente, l'utente deve toccare invia, il che è una funzionalità di sicurezza di Telegram, non un bug. I link di bot usano ?start= invece di ?text=, e il bot riceve il payload silenziosamente invece di mostrarlo come bozza.
Puoi tracciare i clic su un link t.me?
Un link t.me nudo non ti dà alcun dato sui clic, perché Telegram non ti segnala il tocco. Mettici davanti un link breve: il cliente tocca il tuo link breve, il redirect registra il clic con orario, dispositivo e tag di campagna, poi inoltra a t.me. Per i bot, il payload ?start= aggiunge un secondo segnale, lato server, che il tuo bot può registrare quando l'utente avvia davvero la chat.
Qual è la differenza tra i link t.me e i link tg://?
t.me è un normale indirizzo web https che Telegram risolve e apre nell'app, il che lo rende sicuro da stampare, condividere e mettere dietro un link breve. tg:// è un URL grezzo con schema d'app che funziona solo se Telegram è installato e può essere bloccato o rimosso da browser e app. Usa t.me per tutto ciò che è rivolto al cliente, e considera tg:// al massimo come un fallback interno.
Prova Elido
Incolla un URL, ottieni un link breve
Senza registrazione. Il link vive 30 giorni. Iscriviti per conservarlo.
Gratis, nessuna registrazione richiesta · 2 al giorno