サーバー間(S2S)アトリビューションチェックリスト

サーバー間(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のサーバーに到達しない場合は、正確にアトリビュートすることができません。

この要件を満たしていない場合、4Gハンドオーバーなどの短時間の機能停止が発生したり、ネットワークやWiFiが長時間使用できなくなった場合、データが失われます。最初の試行時には、合計でインストールの10〜20%がAdjustに到達しません。Adjustがこうしたデータを受信していない場合、実際に発生した事象ではなく、Adjustが保有するデータに基づいてアトリビューションを行わなければなりません。

Adjust はどのように情報をバッファリングしますか?

2. 広告IDおよびデバイスIDの収集と作成

AndroidのGoogle Playストア広告ID(GPS_ADID)とiOSの広告主ID(IDFA)は、いずれも広告IDです。エンドユーザーは、どちらの広告IDも簡単にリセットしたり、アクセスを無効化したりすることができます。このためAdjustでは、デバイスIDやUUID(Universally Unique Identifier)(iOSのみ)も活用して、アトリビューションおよびセッション計測を行っています。ユーザーが端末をリセットしないかぎり、これらのIDもリセットされることはありません。

あらゆる広告IDとデバイスIDを収集する

広告IDはリセットが可能で、意図的に広告IDをリセットを繰り返すことはよくあることです(たとえば、アプリ内報酬システムで不正を働くなど)。また、iOSのユーザーのおよそ15%は、LAT(追跡型広告を制限)を有効にすることで、IDFAへのアクセスを無効にしています。こうした理由から、Adjustは正確にアトリビュートし、アプリ内セッションを継続的に計測するために、その他のIDも活用しています。

この要件を満たしていない場合、以前に計測された広告IDを持たずに記録された全てのセッション、または広告IDを持たずに記録されたセッション(iOSでLATを有効にしている全てのユーザー)は、全て新規インストールとしてアトリビュートされます。

Adjustは識別子をどのように計測しますか?

普遍的に一意のIDを生成し、デバイスのキーチェーンに保存する(iOS)

ユーザーが広告IDをリセットし、アプリをアンインストールして再インストールした場合、あるいはLATを有効にした場合、AdjustはIDFAやIDFVを取得することができません。ユーザーのアプリ内セッションを継続的に計測するため、Adjustでは、デバイスキーチェーンに保存されローカルで生成される永続的なUUIDを使用しています。UUIDを他のデバイス情報にマッピングしているため、次のような場合でも、ユーザーのアプリ内アクティビティをシームレスに計測することができます。

  • ユーザーがLATを有効にしている
  • ユーザーが広告IDをリセットした
  • Adjustに元の広告IDやiOSのベンダーID(IDFV)が送信されない

この要件を満たしていない場合、デバイスファームからのインストールがレポートに含まれる可能性があります(デバイスファームでは、広告IDが常にリセットされ、新規インストールがシミュレートされます)。LATを有効にしているユーザーは、各セッション時に新規インストールとしてアトリビュートされます。

AdjustはどのようにUUIDを管理するのですか?

3. サードパーティ連携と追加データ

Apple Search Ads、Google Playストア、およびサードパーティアプリストア(Amazonアプリストアなど)へのアトリビューションに必要となる重要な情報は、サードパーティー連携を通じてアプリ内でのみ収集できます。

次の機能をサポートする必要があります。

アプリ内で収集されたこれらの情報がアトリビューションの対象と見なされるには、受信後ただちにAdjustにも転送する必要があります。 

全てのソースでアトリビューションに必要なデータを収集する

Adjustでは、これらの連携を通じて送信された情報を活用することで、正確かつ包括的なアトリビューションとディープリンクのリアトリビューションを行っています。

Google Playストアのリファラーがない場合、Adjustは次のデータをアトリビュートできなくなります。

  • Androidのインストールの50%以上
  • 全てのGoogleオーガニック検索のインストール
  • 全てのサードパーティアプリストアのインストール

また、クリックインジェクションフィルターが機能しないため、Androidにおける不正なモバイル広告の主な原因に対して脆弱な状態となります。さらに、Dalvik VMのインストラクションセットがないため、Adjustはインストールが実際のデバイスによるものかどうかが把握できません。

Apple Search AdsのアトリビューションAPIがない場合、Adjustは次のデータをアトリビュートできなくなります。

  • Apple Search Adsのインストール

Adjustはどのようにして必要なアトリビューションデータを収集するのですか?