1分で読了業界

Telegramディープリンク:t.meリンクとボットのスタートリンクを計測する

計測可能なTelegramディープリンクの作り方: t.meリンクの形式、プリフィル済みテキスト、ボットのスタートパラメータ、そして短縮リンクを前段に置いたクリックアトリビューションを解説します。

Ana Kowalska
Marketing solutions engineering
Telegramディープリンクのルーティング: 短縮リンクがクリックを記録し、その後チャットまたはスタートパラメータ付きのボットを開くt.meリンクへリダイレクトする様子

Telegramディープリンクとは、タップすると特定のチャット、チャンネル、グループ、またはボットを開くt.meのWebアドレスであり、任意でボットが受け取るパラメータを伴います。よくある形は、チャットを開くhttps://t.me/username、下書きがプリフィルされた状態で開くhttps://t.me/username?text=Hi、そしてボットを開いてペイロードを渡すhttps://t.me/YourBot?start=payloadです。リンクをタップすると、Telegramは正しい場所で開き、ボットの場合はペイロードがサーバーサイドに届きます。

この最後の点こそが、Telegramをほとんどのメッセージングチャネルと異なるものにしています。WhatsAppは、どの広告がwa.meのタップを促したかを教えてくれません。Telegramのボットは違います。ユーザーがStartすると?start=ペイロードがボットに届けられるため、アトリビューションをリンク自体に組み込むことができます。普通のチャットやチャンネルへのリンクについては、他のメッセージング向けディープリンクと同じように、クリックを見るために依然として前段のリダイレクトが必要です。本稿ではその両方を扱います。

t.meリンクのパターン

アドレスの系統は1つで、パラメータがいくつかあるだけです。Telegramはディープリンクのリファレンス(2026年7月18日アクセス)でこれらを文書化しています。

  • チャットやチャンネルを開く: https://t.me/username。公開ユーザー名、チャンネル、グループで機能します。プロフィールやメール署名に載せるリンクです。
  • 下書きをプリフィルする: https://t.me/username?text=Hello%20Acme。メッセージはURLエンコードされ、下書きボックスに入ります。ユーザーが送信をタップする必要があり、Telegramが代わりに送信することはありません。
  • ペイロード付きでボットを開く: https://t.me/YourBot?start=spring-promo。Telegramはボットを開いてStartボタンを表示し、タップするとspring-promo/startコマンドとしてボットに届けます。
  • ボット経由でユーザーをグループに追加する: https://t.me/YourBot?startgroup=payload。考え方は同じですが、個人チャットではなくグループのセットアップを対象としています。

tg://スキーム(tg://resolve?domain=username)も存在しますが、脆弱です。ブラウザやアプリ内Webビューはカスタムスキームをブロックしたり取り除いたりするため、印刷されたtg://リンクは機能するよりも失敗することの方が多くなります。きれいに解決でき、短縮リンクの背後に置ける、普通のhttps URLであるt.meを使いましょう。そもそもt.meがアプリへとルーティングされる仕組みは、SDKなしのディープリンクで説明されているOSネイティブの仕組みです。

スタートパラメータがアトリビューションの決め手になる理由

ほとんどの「クリックしてチャット」チャネルは一方通行です。タップすると会話が開くだけで、何も教えてくれません。Telegramのボットは、?start=ペイロードがあなたのボットのコードに届くため、このパターンを打ち破ります。Facebook Messengerもrefパラメータで同じことをしていますが、WhatsAppは沈黙したままです。Telegramは64文字を上限とし、英字・数字・ハイフン・アンダースコアのみを許可しており、構造化データを詰め込む必要がある場合はボットのディープリンクドキュメントに従ってbase64urlを推奨しています。

そのため、ペイロードにはキャンペーンタグ、リファラーID、あるいはエンコードされたレコードIDを乗せられます。ユーザーがStartをタップすると、ボットはそれを読み取り、そのクリックが例えば固定されたチャンネル投稿ではなく5月のニュースレターから来たことを把握します。ピクセルも、ウェブフックの曲芸も、メッセージ本文からタグを読み取る作業も不要です。シグナルは、ボットがすでに処理している/startの中にあります。

3種類のTelegramディープリンクの構造: 素のt.meチャットリンク、プリフィルされたテキスト下書き付きのt.meリンク、そしてStart時にスタートペイロードがボットに届けられるボットリンク

この上限は重要です。64文字あればnl-may-heroや短いbase64url IDには十分ですが、完全なUTM文字列には足りません。スケールするパターンは、?start=にコンパクトなIDを入れ、人間が読めるキャンペーンデータはそのIDに紐づけて自分のシステム側に保存しておくというものです。

リダイレクトレイヤー

チャットやチャンネルへのリンクについて、そしてあらゆるTelegramの接点でトラッキングを統一するために、t.me URLの前段に短縮リンクを置きましょう。顧客がs.elido.me/tgをタップすると、あなたのエッジがクリックを記録し、その後https://t.me/YourBot?start=nl-mayにリダイレクトします。顧客側から見ると、このフローはt.meを直接タップするのと同一です。

あなたの側では、3つのことが変わります。

  • クリックが記録される。 リダイレクトは、タイムスタンプ、ジオ、デバイス、そして短縮リンクに付与されたUTMパラメータを伴うイベントを発火させるため、その1秒後にボットが記録するStartは特定のキャンペーンと結びつけられます。
  • 遷移先が編集可能になる。 QRコードを刷り直したり、稼働中の広告を編集したりすることなく、ボットのユーザー名やチャンネル、?start=ペイロードを差し替えられます。あるボットから別のボットへキャンペーンを移す場合、遷移先を1回変更するだけで済みます。
  • キャンペーンデータのポータビリティ。 t.meが認識しないクエリ文字列を無視するとしても、s.elido.me/tg?utm_source=email&utm_medium=newsletter&utm_campaign=mayはリダイレクト時点でタグをキャプチャします。

これは、UTMのエンドツーエンドトラッキングで説明されているのと同じ層であり、WhatsAppのクリックしてチャットガイドwa.meに対して使っているのとまさに同じアプローチです。Telegramの場合は、ボットのペイロードを通じて2つ目のシグナルが上乗せされるだけです。

リダイレクトを自分で構築せずに、編集可能で計測可能なTelegramリンクが欲しい場合、Elidoのディープリンクはあらゆるt.meの遷移先の前段に立ち、すべてのタップを記録します。無料プランで設定できます。

実用的なセットアップ

3本の短縮リンクで、ほとんどのTelegramフローをカバーできます。

  • 一般的なリンク: メインのボットまたはチャンネルへのs.elido.me/tg。Webサイトのフッター、プロフィール、メールの署名で使用し、一般的なインバウンドを獲得します。
  • キャンペーンリンク: アクティブなキャンペーンごとに1つ作成するs.elido.me/tg-may-nl。同じボットを指しつつ、キャンペーン固有の?start=ペイロードを設定します。特定の広告やニュースレターで使用します。
  • QR印刷用リンク: 物理的な配置用のs.elido.me/tg-shop。配置場所を名指しするペイロードを設定しておけば、ボットがスキャンした人を文脈に応じて迎えられます。

各リンクはUTMテンプレートと、surface:newsletter · channel:telegram · campaign:mayのような説明的なラベルにマッピングされます。/linksでこれらを設定すると、そのラベルがアナリティクスのフィルターに反映されます。channel:telegramでフィルタリングすれば、キャンペーンを横断してTelegram経由の全タップを確認できます。

プリフィルされたメッセージの注意点

?text=の下書きは、正真正銘の摩擦削減です。顧客はメッセージが入力された状態でチャットに到着し、送信をタップするだけで済みます。しかしTelegramは決してこれを自動送信せず、それは意図的なものです。あなたの代わりにサイレントにメッセージを送信できてしまうリンクはスパムの温床になるため、Telegramはタップを要求します。タップが自然に感じられるようにプリフィルの文面を書き、ユーザーが行動する前にメッセージが送信されていることを前提にしたフローを組まないようにしましょう。

ボットの場合、目に見える下書きはそもそも存在しません。?start=ペイロードはユーザーには見えず、そのままボットに渡されるため、顧客が見えるメッセージの中にトラッキングIDが不自然に居座ることもなく、トラッキングという点ではより綺麗です。

QRコードの接点

Telegramのクリックしてチャットのトラフィックのかなりの割合は、Webタップではなくスキャンから来ています。誰かが店舗にいたり、イベント会場にいたり、フライヤーを手にしていたりして、あなたのボットやチャンネルを開くコードをスキャンするのです。印刷物から会話へ、というのは、短縮リンクの後にt.meを続けるパターンの最も強力な用途の1つです。

印刷されたQRコードは、生のt.meリンクではなく短縮リンクをエンコードしているため、リダイレクトがスキャンを記録し、遷移先は編集可能なままで、ボットのスタートペイロードが配置場所を識別する様子

印刷物を無駄にしないための2つのルールがあります。

  • QRはs.elido.me/<slug>をエンコードし、t.me/...を直接エンコードしないこと。t.meをエンコードすると遷移先が固定され、スキャンのアナリティクスが機能しなくなり、ボットやチャンネルが変わった場合に印刷物が無駄になります。
  • 配置場所ごとに独自の短縮リンクと独自の?start=ペイロードを割り当てること。そうすれば、ウィンドウのコード、フライヤーのコード、パッケージのコードが、比較可能な別々の行になります。クワイエットゾーン、コントラスト、誤り訂正といったデザイン上の考慮事項は、他の配置と同様であり、動的QRコード vs 静的QRコードで解説しています。

機能しないパターン

一見妥当に見えて、うまくいかない3つのパターンがあります。

生のt.meリンクをQRや広告に直接エンコードする。 クリックデータも遷移先のコントロールも得られず、ユーザー名が変わった日にアセットが死にます。常に短縮リンクを印刷しましょう。

?start=にUTM文字列を詰め込む。 64文字の上限と制限された文字種のせいで、切り詰められるか拒否されます。短いIDを使い、それを自分の側で完全なキャンペーンデータに解決しましょう。

印刷・共有するものすべてをtg://に頼る。 カスタムスキームはブラウザやアプリ内Webビューにブロックされるため、一定数のユーザーに対してフォールバックなしでリンクが失敗します。tg://は内部用にとどめ、公開する経路は短縮リンクの背後でt.meを通し、スマートリンクと同じ要領でデバイスごとのフォールバックはスマートルーティングに任せましょう。

Telegramは、ディープリンク自体がアトリビューションを運べる稀有なチャネルです。ボットの?start=ペイロードと前段のリダイレクトを組み合わせれば、クリックとStartの両方を、それらを促したキャンペーンに結びつけて得られます。

ブログの関連記事

よくある質問

Telegramディープリンクはどうやって作成しますか?

自分のアカウント、チャンネル、グループ、またはボットのt.meアドレスにパラメータを追加します。ボットの場合、https://t.me/YourBot?start=payload はボットを開き、ユーザーがStartをタップするとペイロードを送信します。個人やチャンネルの場合、https://t.me/username はチャットを開き、?text=を付け加えると下書きメッセージがプリフィルされます。メッセージはエンコードし、スタートペイロードは英字・数字・ハイフン・アンダースコアのみを使って64文字以内に収めましょう。

Telegramリンクにおけるスタートパラメータとは何ですか?

スタートパラメータとは、?start=payloadという形で書かれる、ボットのディープリンク内の短い文字列です。誰かがhttps://t.me/YourBot?start=payload を開いてStartをタップすると、Telegramはそのペイロードを/startメッセージとしてあなたのボットに届けます。ボットはそれを読み取り、ユーザーに挨拶したり、コンテンツを解放したり、クリックの出所を記録したりできます。アトリビューションが後付けではなくリンク自体に組み込まれている、唯一のメッセージングチャネルです。

Telegramのメッセージをプリフィルすることはできますか?

個人やチャンネルへのリンクであれば可能です。https://t.me/username?text=Hello は、下書きにHelloが入力された状態でチャットを開きます。メッセージは自動送信されず、ユーザーが送信をタップする必要があります。これはバグではなく、Telegramのセキュリティ機能です。ボットへのリンクは?text=ではなく?start=を使い、ボットは下書きとして表示されるのではなく、ペイロードをサイレントに受け取ります。

t.meリンクのクリックをトラッキングすることはできますか?

素のt.meリンクだけでは、クリックデータは一切得られません。Telegramがタップをあなたに報告してくれないからです。その前段に短縮リンクを置きましょう。顧客が短縮リンクをタップすると、リダイレクトが時間・デバイス・キャンペーンタグとともにクリックを記録し、その後t.meへ転送します。ボットの場合、?start=ペイロードが、ユーザーが実際にStartしたときにボット側で記録できる、サーバーサイドの2つ目のシグナルを追加してくれます。

t.meリンクとtg://リンクの違いは何ですか?

t.meは、Telegramが解決してアプリ内で開く普通のhttpsアドレスであり、印刷したり、共有したり、短縮リンクの背後に置いたりしても安全です。tg://は、Telegramがインストールされている場合にしか動作せず、ブラウザやアプリによってブロックされたり取り除かれたりしうる、生のアプリスキームURLです。顧客向けのものにはすべてt.meを使い、tg://はせいぜい内部的なフォールバックとして扱いましょう。

Elidoを試す

URLを貼り付けて短縮リンクを取得

登録不要。リンクは30日間有効。永久に保存するには登録してください。

Free、登録不要 · 1日あたり2件

Elidoを試す

EUホスティングのURL短縮サービス。カスタムドメイン、詳細な分析、オープンAPI付き。無料プラン - クレジットカード不要。

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

続きを読む