Deferred Deep Linkのしくみ

# Deferred Deep Linkとは

Deferred Deep Link（ディファードディープリンク）は、アプリがインストールされていないユーザーがリンクをクリックした場合でも、アプリインストール後に特定のコンテンツやアクションに誘導する技術です。

これにより、ユーザーはアプリインストール後もシームレスに特定のコンテンツにアクセスでき、マーケティング活動の効果を最大化できます。

# 背景
ディープリンクは元々、アプリ内の特定のページやコンテンツに直接アクセスするために使われていました。

しかし、アプリをインストールしていないユーザーがリンクをクリックすると、アプリのダウンロードページに飛ばされるだけで、ユーザーエクスペリエンスが損なわれるという課題がありました。Deferred Deep Linkはこの課題を解決するために登場しました。


| Deep Linkの種類 | アプリ未インストール時 | ユーザー体験 | マーケティング効果 |
|----------------|----------------------|--------------|-------------------|
| 通常のDeep Link | アプリ内画面へ遷移せず | 途切れる可能性あり | 限定的 |
| Deferred Deep Link | インストール後に機能 | シームレス | 高い |

# ユースケース
- Eコマース: ユーザーが特定の商品ページへのリンクをクリックし、アプリをインストールした後でもその商品ページに直接アクセスできます

- プロモーションキャンペーン: 新規ユーザーがキャンペーンリンクをクリックし、インストール後に自動的にキャンペーンページに誘導されることで、参加率が向上します

- サービス業: 例えば、レストランの予約ページや特定のクーポンページにユーザーを直接誘導することで、利用促進を図ることができます。これにより、ユーザーが必要な情報に迅速にアクセスでき、コンバージョン率が向上します。

# ユーザー体験の例
メールのリンクをクリックした例を前提にすると、ユーザの体験は以下の通りです。

1. メール受信: ユーザーがプロモーションメールを受信し、メール内の「新商品50%オフ！」というリンクをクリックします

2. リンククリックとリダイレクト: ユーザーはリンクをクリックし、サーバーがリンク情報を保存し、アプリストアにリダイレクトされます


3. アプリインストール:
ユーザーがアプリストアでアプリをダウンロードし、インストールします

4. 初回起動:
インストール後、アプリを初めて起動します

5. 特定画面への遷移:
アプリがリンク情報を解析し、ユーザーを「新商品50%オフ」ページに誘導します。

6. シームレスな体験:
ユーザーはスムーズに割引情報が表示された商品ページにアクセスし、購入を検討します。

# 技術的な仕組み
Deferred Deep Linkの処理は、ユーザーがリンクをクリックすると、その情報がリンクプロバイダーに送信され、識別子とともに保存されます。ユーザーがアプリをインストールし初回起動すると、SDKが識別子を使ってリンク情報を取得し、特定のコンテンツに誘導します。これにより、ユーザーはシームレスに関連するページにアクセスできます。

ステップはこうです。

1. リンククリックのトラッキング:
ユーザーがDeferred Deep Linkをクリックすると、リンクプロバイダー（例：Adjust）のサーバーにリンククリック情報が送信されます。この情報はサービスによりますが、リンク自体の情報（リンク先URLやパラメータ）、およびユーザーのデバイスに一意の識別子（クッキーやデバイスID）、推定するための情報（IPアドレス、OSバージョンなど)が含まれまれる可能性があります。

2. 識別子の保存:
リンクプロバイダーのサーバーは、ユーザーの識別子とリンククリック情報を関連付けて保存します。これにより、特定のユーザーがどのリンクをクリックしたかを記録することができます。

3. アプリストアへのリダイレクト:
リンクプロバイダーのサーバーからアプリストア（Google Play StoreやApple App Store）にリダイレクトされます。

4. アプリのインストール:
ユーザーがアプリをダウンロードし、インストールを完了します。

5. アプリの初回起動:
アプリが初めて起動されると、アプリ内のSDK（例：Adjust SDK）が初期化され、リンクプロバイダーのサーバーに接続します。

6. 識別子の送信とリンク情報の取得:
SDKは、デバイスに保存されている識別子を使って、リンクプロバイダーのサーバーにリンククリック情報のリクエストを送信します。サーバーは保存していた識別子をもとに、対応するリンククリック情報を返します。

7. リンク情報の解析と処理:
アプリはサーバーから受け取ったリンククリック情報を解析し、ユーザーを特定のコンテンツやアクションに誘導します。例えば、特定の商品ページやキャンペーンページ、登録画面などに遷移させます。

# よくある質問
## Deferred Deep Linkと通常のディープリンクの違いは何ですか？
回答:
通常のディープリンク(Deferred Deep Linkと区別してDirect Deep Linkともいう)は、ユーザーがリンクをクリックした際に、アプリがインストールされている場合にのみ特定のコンテンツやページに直接アクセスするためのリンクです。しかし、アプリがインストールされていない場合、リンクは機能せず、ユーザーはアプリのダウンロードページにリダイレクトされるだけです。

一方、Deferred Deep Linkは、ユーザーがアプリをインストールしていない場合でもリンクが機能します。ユーザーがリンクをクリックしてアプリをインストールした後、アプリが初めて起動される際に、リンクが含んでいた情報をアプリに渡し、ユーザーを特定のコンテンツやページに誘導します。これにより、シームレスなユーザーエクスペリエンスが提供され、マーケティング効果を最大化できます。

##  Deferred Deep Linkを設定するための最適なサービスは何ですか？

Deferred Deep Linkを設定するためには、いくつかのツールやサービスが利用可能です。

1. [Adjust](https://www.adjust.com/ja/): Adjustは、モバイルアプリのマーケティングキャンペーンの追跡と分析を行うためのプラットフォームで、Deferred Deep Linkの設定も可能です。詳細なデータ解析機能が特徴です。ドキュメントやサンプルが比較的多い印象です。アトリビューション（インストールなど）の従量課金制です

2. Firebase Dynamic Links: Googleが提供するFirebase Dynamic Linksは、簡単にディープリンクを作成し、解析するための強力なツールです。クロスプラットフォームで動作し、シンプルな設定でDeferred Deep Linkを実装できます。ただし、2025年8月25日にサービス終了する予定なので、新規導入は避けたほうがよいでしょう。サービスさえ継続するならダントツ一位の選択肢でした

3. [Branch.io](https://www.branch.io/deep-linking/)や[AppsFlyer](https://www.appsflyer.com/ja/products/customer-experience-deep-linking/?utm_source=google&utm_medium=cpc&utm_campaign=Search_APAC-ROA-JPN_GG_NEW_Demos_wbcvr_JP_gg[SCH]_st[Brand]_mt[MIX]_07-Jan-24&utm_content=158197937016_687784145720&utm_term=appsflyer%20deferred%20deep%20linking&afc_source=google&afc_medium=cpc&afc_campaign=Search_APAC-ROA-JPN_GG_NEW_Demos_wbcvr_JP_gg[SCH]_st[Brand]_mt[MIX]_07-Jan-24&afc_content=158197937016_687784145720&afc_term=appsflyer%20deferred%20deep%20linking&gad_source=1&gbraid=0AAAAACitX7QHvxbZjNhX5N0VrLCLJu81G&gclid=CjwKCAjwk8e1BhALEiwAc8MHiH9oEZyOYh_8aPvamS7PBI7mOY6_zt9be25p44wlwIcIriSr2qjIqBoCZpMQAvD_BwE)などの他の選択肢もあります

## Deferred Deep Linkの実際に導入する際に検討した点はありますか？
1. ウォークスルーや許可ダイアログ後の処理: ウォークスルーや許可ダイアログの処理が終わった後に、Deferred Deep Linkの処理を行う必要があります。そのため、初期処理や画面遷移の制御に手を加える必要があるかもしれません。

2. データ保護規制の遵守: ユーザーのプライバシーを守るために、GDPRやCCPAなどのデータ保護規制を遵守する必要があります。そのため、ユーザーの同意を得る仕組みが必要になるかもしれません。

3. 柔軟で保守性の高いコードの実現: 将来的に使用するサービスを入れ替えやすくするため、SDK APIを直接使用するのではなく、抽象化したインターフェースを介して操作することが重要です。これにより、テストの際にMockオブジェクトを用いたテストが容易になり、柔軟で保守性の高いコードが実現できます。


# まとめ

Deferred Deep Linkは、アプリインストール後にユーザーを特定のコンテンツやアクションに誘導することで、シームレスなユーザー体験を提供し、マーケティング効果を最大化する強力な技術です。特に、Eコマースやプロモーションキャンペーン、サービス業などの分野で、その有効性が発揮されます。データ保護規制の遵守や柔軟で保守性の高いコード設計を考慮しつつ、効果的に利用していきましょう！