基本
スマートリンクとリダイレクト
スマートリンクmapps.one/habitlyは、訪問者ごとにデバイスを判定し、数ミリ秒で送り先を決定します。このページでは、デフォルトのルール、ルールの変更方法、リンクプレビューのボットに表示される内容、キャンペーンタグがストアへ引き継がれる仕組みについて説明します。
デフォルトのルーティング
| 訪問者 | 送り先 | そのリンクがない場合 |
|---|---|---|
| iPhone、iPad、iPod | App Store | ランディングページ |
| Android | Google Play | ランディングページ |
| HuaweiとHonorのデバイス、HarmonyOS | AppGallery | Google Play、次にランディングページ |
| Windows | Microsoft Store | ランディングページ |
| macOS | App Store | ランディングページ |
| 認識できないデバイス(「その他」) | ランディングページ | — |
| LinuxとChromeOS | ランディングページ | — |
デバイスは、ブラウザのユーザーエージェントから判定されます。タブレットには、同じOSのスマートフォンと同じルールが適用されます。デスクトップ用サイトをリクエストするiPadはMacとして識別されますが、macOSのデフォルトの送り先はApp Storeなので、App Storeに到達します。
リダイレクトルール
アプリのリンクタブを開き、iOS、Android、Huawei、Windows、macOS、その他の各プラットフォームの遷移先を選択します。選択肢は次のとおりです。
- App Store、Google Play、AppGallery、Microsoft Store:そのストアの掲載ページにリダイレクトします
- Web URL:アプリに保存されているウェブアドレス(Web版やウェイティングリストなど)にリダイレクトします
- ランディングページ:スマートリンクのアドレスでランディングページを表示します
選択した遷移先にリンクが保存されていない場合、訪問者はフォールバック先に送られます。Huaweiの訪問者はGoogle Play、次にランディングページの順に試し、それ以外の訪問者にはランディングページが表示されます。ダッシュボードのルールプレビューには、各プラットフォームの現時点での最終的な送り先が表示され、フォールバックを使用している行にはマークが付きます。
リダイレクトにはCache-Control: no-store付きのHTTP 302が使用されるため、ブラウザやプロキシにキャッシュされず、ルールの変更は次回の訪問から適用されます。
リンクプレビューとボット
チャットや投稿にリンクが貼り付けられると、そのアプリはプレビューを作成するためにページを取得します。これらのクローラーには、リダイレクトではなく常にランディングページが返されるため、プレビューにはページのOpen Graphタグから取得したアプリ名、タグライン、画像が表示されます。対象には、Facebook、Instagram、WhatsApp、X、LinkedIn、Slack、Discord、Telegram、iMessage、Pinterest、Reddit、Mastodon、Bluesky、Snapchat、Skype、Zoom、Microsoft Teamsなどが含まれます。
検索エンジンのクローラー、SEOツール、稼働監視サービス、AIクローラー、curl、wget、python-requestsなどのコマンドラインクライアントも、ボットとして扱われます。ボットにはランディングページが返され、分析でカウントされることはありません。
アプリ内ブラウザ
Instagram、Facebook、TikTok、X、LinkedIn、Snapchat、Pinterest、LINE、Telegram、WeChat、Reddit、Threadsの中で開かれたリンクは識別されます。訪問者は、他の訪問と同じようにデバイスに応じて振り分けられます。これらのブラウザは通常リファラーを送信しませんが、分析では、訪問者がアクセスしてきたアプリがトラフィックソースとして記録されます。
キャンペーンタグ
スマートリンクに標準のUTMタグを追加すると、チャネルを比較できます。
https://mapps.one/habitly?utm_source=instagram&utm_medium=social&utm_campaign=launch
mapps.oneは、utm_source、utm_medium、utm_campaignを常に分析に記録します。キャンペーンパラメータをストアに渡すがオン(デフォルト)の場合は、タグが遷移先で理解できる形式に変換され、遷移先にも引き継がれます。
| 遷移先 | 追加される内容 |
|---|---|
| Google Play | URLエンコードしたUTMタグを含むreferrerパラメーター。アプリではPlay Install Referrer APIで読み取れます。https://play.google.com/store/apps/details?id=com.habitly.app&referrer=utm_source%3Dinstagram%26utm_medium%3Dsocial%26utm_campaign%3Dlaunch |
| App Store | ctキャンペーントークン。値はutm_campaign、キャンペーンがない場合はutm_sourceで、最大40文字です。https://apps.apple.com/app/id1612345678?ct=launch |
| Web URL | UTMタグそのもの。https://habitly.app/?utm_source=instagram&utm_medium=social&utm_campaign=launch |
| AppGallery、Microsoft Store | なし。掲載ページは追加のパラメーターなしで開きます。 |
5つのタグutm_source、utm_medium、utm_campaign、utm_term、utm_contentがすべて転送されます。各値は100文字で切り詰められます。
ctトークンをキャンペーンとして計測するのは、リンクにプロバイダートークン(pt)も含まれている場合だけです。ストアリンクは正規の形式で保存されるため、App Storeのリンクに貼り付けたptは保持されません。チャネルの比較には、mapps.oneの分析にあるキャンペーン別の内訳を使用してください。ストアバッジのリンク
ランディングページのストアバッジは、計測付きのリダイレクトmapps.one/habitly/go/{store}を指しています。クリックはストアクリックとしてカウントされ、その後、訪問者は掲載ページに送られます。アプリにそのストアのリンクがない場合、訪問者はランディングページに戻されます。
デバイスに関係なく特定のストアに送りたい場合(Android限定のキャンペーンなど)は、これらのURLを直接使用できます。/go/ URLに追加したUTMタグは、スマートリンクの場合と同じように転送されます。
| ストアキー | URL |
|---|---|
app_store | mapps.one/habitly/go/app_store |
google_play | mapps.one/habitly/go/google_play |
app_gallery | mapps.one/habitly/go/app_gallery |
microsoft_store | mapps.one/habitly/go/microsoft_store |
web | mapps.one/habitly/go/web |
URLリファレンス
| URL | 用途 |
|---|---|
/habitly | スマートリンク:デバイスに応じてリダイレクト、またはランディングページを表示 |
/habitly/page | すべてのデバイスでランディングページを表示 |
/habitly/go/{store} | 1つのストアへの計測付きリダイレクト |
/habitly/open/{path} | インストール済みアプリへのディープリンク |
/habitly/privacy, /habitly/privacy/{language} | プライバシーポリシー |
/habitly/terms, /habitly/terms/{language} | 利用規約 |
/habitly/press, /habitly/press.zip | プレスキットのページとダウンロード |
/habitly/qr.svg, /habitly/qr.png | スマートリンクのQRコード |
リンクが機能しない場合
- 404 Not Found:このスラッグを使用しているアプリはありません。スペルが正しいか、スラッグが変更されていないかを確認してください。
- 410 Gone(「一時停止中」):アプリがダッシュボードで一時停止されています。再びオンにしてください。
- 410 Gone(「利用できなくなりました」):アプリがトラスト&セーフティチームによって停止されています。サポートにお問い合わせください。
- 常にランディングページが表示される:プラットフォームの遷移先にリンクが保存されていないか、ルールがランディングページに設定されているか、ボットのようなクライアントでテストしています。