広告SDK-Adjust SDKを使ったディファードディープリンクの活用について


はじめに

こんにちは
ディップでアプリのUIの改善やマーケティングのツール導入などiOSやAndroidアプリの開発を任されている部署の課長をやらせてもらっている@m-komatsuです。

今回adjustSDKというアプリの広告計測する為のSDKの導入時に実施した施策例と使いどころについて備忘録的になればと思い書きました。

ディファードディープリンクとは

端末にアプリがインストールされてあれば、ディープリンクを使うと目的の場所に遷移することができますが、アプリをインストールしていないケースにおいてもディープリンクを起動することができます。
アプリをインストールされていないケースでは、adjsut側がディープリンクの情報を一時的に保持し、アプリ初回起動の際にその保持したディープリンクの情報元に遷移させたい画面に着地させることができます。この仕組みをディファードディープリンクと言います。

この機能を使うことで、ユーザー体験やコンバージョン率の向上につながり、色々なキャンペーンを実施することが可能となります。

例えば、特定のキャンペーン経由でアプリをインストールしたユーザーにインセンティブを提供するなどのキャンペーンが可能となったりします。こういうキャンペーンや広告運用をすることで、インストールのCVR向上だけでなく、課金系などのアプリによっては課金ユーザーへの転換率の向上などのキャンペーンにより、全体的なROIが向上する可能性があると思いますので、一度是非検討されてみてはいかがでしょうか。

ちょっと調べた感じでは、ディファードディープリンクの機能を使用できる広告SDKは、adjust以外にappsflyerやfacebookのSDKなどでも使用できます。

組込み例

こちらを参考に。※今回はswiftコードで記載します。
https://docs.adjust.com/ja/sdk/ios/

下記のようにデリゲートコールバック関数を以下のように実装し、ディファードディープリンクオブジェクトの情報を取得しておく
※これを実装していない場合は、adjust SDKはデフォルトで常にディープリンクを開く挙動になります。

    func adjustDeeplinkResponse(_ deeplink: URL?) -> Bool {
        return true
    }

次に、下記のようにアプリでディープリンクの内容データを受信したら、appWillOpenUrlメソッドへのコールを追加する。 これにより、adjust SDK側でディープリンクの中に新たなアトリビューションが存在するかを調べて、あった場合はadjustサーバーに送信します。

   func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
        var canHandle = false

        //universal link起動
        if  userActivity.activityType == NSUserActivityTypeBrowsingWeb,
            let url: URL = userActivity.webpageURL {
            Adjust.appWillOpen(url)
・
・
・

リアトリビューション!?について

実装自体は難しいことはないとは思いますが、テストする際に、毎度端末の初期化をすることを忘れないようにすることが大事です。
初期化しておかないと、コールバック(adjustDeeplinkResponse())が呼ばれません。

初期化手順については、こちらに記載しておきました。

また、固定リンクにおいて、この機能を使うと、新規インストールユーザには効果はありますが一度アンインストールした端末に対してはadjust側に前回のアトリビューションデータが残っている場合が多いのでディファードディープリンクが発動しませんので使いどころは気を付けないといけないと思いました。

adjust社によれば、ディファードディープリンクが動作するのは以下のケースとのこと。

  • A:新規インストール時
  • B:リアトリビューション時 

(よく読んだら理解はできていたのですが・・・はじめは何故動作しないかかなりハマりました。)

リアトリビューション!!(普段マーケティング用語を使わないので都度戸惑ってしまいますね・・・

リターゲティングとアトリビューションが組み合わさった言葉らしいです。
アプリインストール(初回起動)してから90日以内にリターゲティング広告経由で再インストールしたコンバージョンのことのようです。

adjust側で設定があって、休眠の条件(休眠期間)を満たして、、
また、アンインストールした後も30分以上時間を空けて、URLのトラッカートークンを変更するか、キャンペーン以下のパラメータ情報を何かしら変更し、インストールで紐付いているトラッカーとは別のURLで試すと確実のようです。
(インストールと同一のURLの場合、リアトリビューションが計測されない可能性があるらしい・・・)

例)
https://app.adjust.com/abc123?deep_link=adjustiOS%3A%2F%2F&idfa=111-222-3333-4444
iOSでテストする場合は、IDFAをURLのパラメータに付与することでクリック時にIDFAをadjsutに送ることが必要とのこと。

最後に

広告SDKを組み込んだあとのテスト方法は、使用方法をちゃんと読むこと。
(当たり前だけど・・・但し、量が多いのとadjust日本語版のドキュメント更新されていないことが多いので気を付けましょう)

あとは、adjustを使用する際は、テストおよび結果分析を慎重に行い、すべての設定が正しく計測が行われているか確認はしておきましょう。

テストでは、必ず「サンドボックス」で実施すること!
※サンドボックス環境を使うことでテスト データと本番データを区別することができる為。

以上!