サーバー間(S2S)アトリビューションおよびセッション計測には、Adjust SDKの基本機能を複製した、カスタムアプリ内ソリューションが必要となります。このS2Sアトリビューションチェックリストでは、アプリ内ソリューションの要件について概要を説明します。これらの要件を満たすことで、Adjustが受信する情報のセキュリティとレポートの正確性が保証されます。
事前準備
Adjust SDKは、アトリビューションおよびセッション計測に必要なコードを最小限に抑えています。アプリにこのコードを実装することが、Adjustが推奨するアトリビューションおよびセッション計測の方法です。簡単に実装可能なこのコードが、カスタムソリューションに複製する機能を提供します。
以下のリンク先のガイドで、基本的な連携手順をご覧ください。
📖 Android / iOS / Windows / Adobe Air / Unity / Cordova / Marmalade / Xamarin / Cocos2d-x / React Native / Titanium / Corona
チェックリストの概要
Adjustのサーバー間(S2S)アトリビューションチェックリストは、3つの主要領域(データの整合性とセキュリティ、広告IDとデバイスID、サードパーティ連携)の下に5つの要件が含まれています。いずれの項目も、正確なアトリビューションおよびセッション計測に不可欠です。アプリ内ソリューションは、デフォルトでこれらの要件を満たすAdjust SDKの基本機能を複製する必要があります。
1. セキュリティと整合性の維持
リクエストを保護し、情報をローカルに保存することで、アプリが作成および取得してサーバーに送信する情報のセキュリティと整合性を保証する必要があります。
アプリからサーバーに送信されるリクエストを保護する
モバイル業界では、モバイルアプリの不正インストールが横行し、マーケターに数十億ドルを超える多額の損害を与えています。モバイルアプリの不正インストール防止に欠かせない最初のステップは、アプリからサーバーに送信されるリクエストを保護することです。データのセキュリティを保証できない場合は、Adjustがお客様のサーバーから送信された情報の正当性を確認することができません。このため、レポート内の不正なデータに対して脆弱な状態となります。
この要件を満たしていない場合、レポートや支出においてスプーフィングインストールの影響を受けやすくなり、広告予算にも悪影響を与える可能性があります。リクエストのセキュリティを保証できない場合、S2S連携は推奨されません。
Adjustがインストールを保護する仕組み
Adjustは、Adjust SDKシグネチャーで全てのインストールを保護します。このシグネチャーは、アプリシークレットで保護された暗号化ハッシュで、Adjust SDKに実装することで、レポートされる全てのインストールとともに送信されます。Adjustは、全てのインストールのハッシュを確認し、認証できないトラフィックに対しては、そのアトリビューションを拒否します。
情報をローカルに保存する
デバイスがオフラインの間に、ユーザーが初めてアプリを起動する インストール としてカウントされるか、セッションを発生させる可能性があります。オフラインアクティビティがAdjustのサーバーに到達しない場合は、正確にアトリビュートすることができません。
この要件を満たしていない場合、4Gハンドオーバーなどの短時間の機能停止が発生したり、ネットワークやWiFiが長時間使用できなくなったりすると、データが失われます。最初の試行時には、合計でインストールの10〜20がAdjustに到達しません。Adjustがこのようなデータを受信しない場合、実際に発生した事象の代わりに、現在のデータに基づいてアトリビューションが行われます。
Adjustが情報をバッファリングする方法
Adjust SDKでは、全てのアプリ内行動をキューに保存しているため、接続可能なときにAdjustのサーバーにデータを送信することができます。
2. 広告IDおよびデバイスIDの収集と作成
AndroidのGoogle Playストア広告ID(GPS_ADID)とiOSの広告主(IDFA)は、いずれも広告IDです。エンドユーザーは、どちらの広告IDもリセットするか、アクセスを無効にすることができます。このためAdjustでは、デバイスIDやUUID(Universally Unique Identifier、iOSのみ)も活用して、アトリビューションおよびセッション計測を行っています。ユーザーがデバイスをリセットしないかぎり、これらのIDがリセットされることはありません。
あらゆる広告IDとデバイスIDを収集する
広告IDはリセットが可能です。意図的に何度も広告IDをリセットされることがあります(例:アプリ内リワードシステムで不正行為を行う)。また、iOSユーザーのおよそ15%は、LAT(追跡型広告を制限)を有効にすることで、 IDFAへのアクセスを無効にしています。こうした理由から、Adjustは正確にアトリビュートし、アプリ内セッションを継続的に記録するために、広告ID以外のIDも併用しています。
この要件を満たしていない場合、以前に記録された広告IDなしで記録された全てのセッション、または広告IDなしで記録されたセッション(iOSでLATを有効にしている全てのユーザー)は、全て新規インストールとしてアトリビュートされます。
AdjustがIDを収集する方法
Adjust SDKは、合法的に入手可能なあらゆる広告IDとデバイスIDをデフォルトで収集します。AdjustはこれらのIDをマッピングするため、IDがリセットされても、そのユーザーのシステムをすでに保持している他のIDに新しいIDをマッピングすることができます。
普遍的に一意のIDを生成し、デバイスのキーチェーンに保存する(iOS)
ユーザーが広告IDをリセットし、アプリをアンインストールして再インストールした場合、あるいはLATを有効にした場合は、AdjustはIDFAやIDFVを取得することができません。ユーザーのアプリ内セッションを継続的に記録するため、Adjustはデバイスのキーチェーンに永続的にローカルで生成されるUUIDを利用しています。AdjustがUUIDを他のデバイス情報にマッピングします。これにより、Adjustは次のような場合でもユーザーのアプリ内アクティビティをシームレスに計測することができます。
- ユーザーがLATを有効にしている
- ユーザーが広告IDをリセットした
- Adjustに元の広告IDおよび/またはiOSのベンダーID(IDFV)が送信されない
この要件を満たしていない場合、デバイスファームからのインストールがレポートに含まれる可能性があります(デバイスファームでは、広告IDが常にリセットされ、新規インストールがシミュレートされています)。LATを有効にしているユーザーは、各セッション時に新規インストールとしてアトリビュートされます。
AdjustがUUIDを管理する方法
Adjustはインストール時にUUIDを生成し、Adjustのシステムの他のデバイス情報にマッピングします。
3. サードパーティー連携と追加データ
Apple Search Ads、Google Playストア、およびサードパーティアプリストア(Amazon Appstoreなど)へのアトリビューションに必要となる重要な情報は、サードパーティー連携を通じてアプリ内でのみ収集できます。
次の機能をサポートする必要があります。
Android
iOS
アプリ内で収集されたこれらの情報がリアトリビューションの対象と見なされるには、受信後、ただちにAdjustにも転送される必要があります。
全てのソースでアトリビューションに必要なデータを収集する
Adjustでは、これらの連携を通じて送信された情報を活用することで、正確かつ包括的なアトリビューションとディープリンクのリアトリビューションを行っています。
Google Playストアのリファラーがない場合、Adjustは次のデータをアトリビュートできなくなります:
- Androidのインストールの50%以上
- 全てのGoogleオーガニック検索のインストール
- 全てのサードパーティアプリストアのインストール
また、クリックインジェクションフィルターが機能しないため、Androidにおける不正なモバイル広告の主な原因に対して脆弱な状態となります。さらに、Dalvik VMのインストラクションセットがないため、Adjustはインストールが実際のデバイスによるものかどうかが把握できません。
Apple Search AdsのアトリビューションAPIがない場合、Adjustは次のデータをアトリビュートできなくなります。
- Apple Search Adsのインストール
Adjustが必要なアトリビューションデータを収集する方法
これらの連携に必要なコードは、Adjust SDKガイドAndroidおよびiOS向けで入手いただけます。また、 AndroidとiOS向けのディープリンクガイドの手順に従って、Adjust SDKでディープリンクのリアトリビューションを有効にできます。
Dalvik VMのインストラクションセットの収集は、Adjust Android SDKがアプリに追加されたときに自動的に行われます。