Facebook Adsでの乖離

概要:Facebook AdsとAppsFlyerのアトリビューションモデルの違いについて説明します。

Facebook AdsとAppsFlyerの乖離について

モバイルユーザー獲得のエコシステム内で主要なプレイヤーの計測モデルがそれぞれ違うように、AppsFlyerとFacebookの計測モデルも異なります。これはFacebookとAppsFlyer管理画面の間で、乖離が起こる原因の一つです。

この数値の乖離を最小限に抑えるため、弊社はFacebookと緊密に連携していますが、以下の原因について理解しておくことが必要です。

AppsFlyerとFacebookの間の乖離を検出

Facebookの Event Manager に表示されるイベントと、AppsFlyerのレポートのイベントを比較してください。イベント数が大きく異なる場合は、乖離が発生している可能性があります。

計測モデルの違い

原因 Facebook AppsFlyer

クリック計測ルックバック期間

7日間(一部デフォルトが異なる特定のケースがあります)。

1~30日。Facebookでは7日間に設定されていることを確認してください。

ビュースルー計測ルックバック期間

1日(一部デフォルトが異なる特定のケースがあります)。

デフォルトは1日ですが、1~48時間に設定できます(デフォルト値のままにすることを推奨します)。

インストール記録日

Facebookはクリック、インプレッション時に新規インストールを記録します。

AppsFlyerでは、インストール時(アプリを初回起動した時)に新規インストールを記録します。

マルチチャネルソースの計測

Facebookは他のメディアソースに関わらず、インストールを自社の成果に紐づけます。

AppsFlyerでは、ラストクリック計測を使用します(AppsFlyerの計測方法についてはこちらをご覧ください)。

クロスデバイス計測

Facebookは、異なるデバイス(iOS/Android/デスクトップ)でクリックしインストールをしたユーザーを計測します。

AppsFlyerは、エンゲージメントとインストールの両方を単一のデバイスで行った場合、成果を計測します。

タイムゾーンの違い

Facebook広告のデフォルトのレポートタイムゾーンはPSTです。AppsFlyerのアプリ設定で定義されているアプリのタイムゾーンと一致するように、Facebook広告マネージャーで変更してください。

AppsFlyerのデフォルトのアプリタイムゾーンはUTC+0です。Facebook広告マネージャーで設定されているタイムゾーンと一致するよう、アプリ設定ページにてアプリのタイムゾーンを変更できます。

Googleインストールリファラー

広告IDのないインストールが Google Play インストールリファラーを使用した Facebook 広告にアトリビューションされた場合、AppsFlyer はこのデータをFacebook広告にレポートしません。この数値はFacebook管理画面上には反映されませんが、AppsFlyer管理画面には表示されるため、数値の乖離を引き起こします。

ディープリンクのリエンゲージメントアトリビューション

ディープリンク経由のリエンゲージメントCVは、Facebook広告にレポートされません。この数値はFacebook管理画面上には反映されませんが、AppsFlyer管理画面には表示されるため、数値の乖離を引き起こします。

クリックスルーとビュースルー計測

AppsFlyerはクリックスルーとビュースルー計測の両方に対応しています。FacebookとAppsFlyerの乖離を最小限に抑えるため、クリックスルーとビュースルーのルックバック期間が、Facebook広告のデフォルトで定義されているものと同じであることを確認してください。

Facebook広告のデフォルトのクリックスルールックバック期間は7日に定義されています。一部の特殊なケースでデフォルトが異なる場合がありますが、Facebook広告のデフォルトオプションと一致させるために、AppsFlyerのクリックスルールックバック期間を7日に設定することをお勧めします。

Facebook上のクリックスルーとビュースルー計測期間がAppsFlyerと同じであることを確認するには、Facebookにアクセスしてください。次のスクリーンショットで示すように、AppsFlyerのアトリビューション期間を、Facebookの値と同じように設定することをお勧めします。

Facebook_Discrepancies.png

 例

Facebook上のクリックルックバック期間がデフォルト値である7日であるのに対して、アプリ「com.greatapp」のAppsFlyer上の値が1日間に設定されているとします。Facebook上の「com.greatapp」の広告をクリックしたユーザーが、その後2~7日間にアプリを初回起動した場合、Facebookはこのユーザーを自社の成果と見なすのに対し、AppsFlyerではこれをオーガニックユーザーと計測します。

制限されたメディアの乖離

2021年10月28日まで、ビュースルー計測(VTA)のアトリビューションデータは制限されており、広告主は利用できません。
2021年10月29日以降、この制限はビュースルーとクリックスルー計測の両方のユーザーデータに適用されています。集計レポートには影響はありません。

Facebook広告はユーザーレベルのデータを送信しないため、AppsFlyerはコンバージョンに寄与したインプレッション数とクリック数をFacebook広告にアトリビューションしない場合があります。

 例

  • ユーザーがFacebookでAwesomeAppの広告を見た、もしくはクリックしました。その後、このユーザーはAwesomeAppのGreatAdNetworkの広告を閲覧し、クリックしてアプリをインストールします。
  • Facebook Adsは彼らのVTA期間内に発生したためこのコンバージョンを自社の成果と計測します。
  • AppsFlyerは、インストール直前にラストエンゲージメントがあったGreatAdNetworkにこのコンバージョン成果を紐づけます。
  • Facebook AdsのVTAが制限されているため、AppsFlyerはFacebook Adsをコンバージョンアシストとして見なしません。

ただし、クリックスルー計測の場合、Google Play Storeへ遷移する広告の場合、インストールリファラを介して広告主が利用できるアトリビューション項目があります。リファラー経由で提供されたデータは、お客様が利用できるAppsFlyerのローデータレポートに反映され、AppsFlyerにとっては広告IDを持たないユーザー(LAT対応)の計測も可能にします。

アプリ内イベントの乖離

プラットフォーム間の違いは、FacebookとAppsFlyerで表示されるインストール後のイベント(例えばアプリ内購入)でも発生する可能性があります。次の表では、これらの乖離の最も一般的な原因とそれらを最小限に抑える方法を示しています。

原因 説明 AppsFlyerのヒント

インストール値の乖離

一つのプラットフォームでは成果が計測されているが、もう一方のプラットフォームでは成果が計測されていないユーザーが行ったイベントは、そもそも乖離が発生します。

この記事に従って、インストールおよびアプリ内イベントの乖離を最小限に抑えます。

セルフ・アトリビューション

Facebookは常にイベント成果を自社キャンペーンに紐づけますが、AppsFlyerはこれらのイベントを元々ユーザーを獲得したキャンペーンに紐づけます。

Facebookが誤ってセルフアトリビューションしたインストールとイベントは、AppsFlyerではアシストと計測されます。
Facebookに成果が紐づいているコンバージョンのローデータと、Facebookがコントリビュータとして計測されているローデータを集計してください。

ライフタイムの定義の違い Facebook でのユーザーのライフタイムは最大で7日です。つまり、Facebookは広告クリック後7日以上経過した後に発生したイベントは表示しません。
AppsFlyerでのFacebookユーザーのライフタイムは最大180日です。
7日以上前のFacebookキャンペーンのユーザーの価値を評価する場合は、AppsFlyerのデータを使用してより広範囲を把握することができます。
マップされていないイベント AppsFlyerはSDKから発生したイベントを取得しますが、それらはFacebookにマップされていないため、送信されません。 ユーザーの価値を示すアプリ内イベントを全てFacebookとマップしてください(以下キャプチャを参照)。
収益が送信されない AppsFlyerはSDKで発生したイベントから収益データを取得しますが、それらがFacebookに送信されていません。 アプリ内イベント設定の収益の送信にチェックが入っていることを確認してください(例:以下のキャプチャのPurchaseイベントを参照)。
Facebookでイベント値が欠如 AppsFlyerはイベントの紐づけの一環で、パラメータと値が正しい構造で設定されている場合、それらをFacebookに送信します。 Facebookとイベント値を全てマップするために、AppsFlyerが推奨する構成に従って、SDKのアプリ内イベントを定義してください。

fb-ads-in-app-events-postback_en-us.png

UA管理画面にリエンゲージメント広告経由の新規インストールが表示される

リエンゲージメント広告により、ユーザーは既にインストール済みのアプリを再度起動します(リエンゲージメント)。また、AppsFlyerは、アプリが同じデバイス上で以前インストールされていたことを認識した場合、AppsFlyerはそのコンバージョンをリアトリビューション と呼びます。

もし、リエンゲージメント広告で、Facebookが新規ユーザーやアプリの初回インストール後のリアトリビューション期間が過ぎた後にアプリを初めてインストールしたユーザーをターゲットにした場合、これらのユーザーは、Facebookではリエンゲージメント広告に紐づきますが、AppsFlyerでは新規ユーザー獲得インストールと計測されます。

一方、元のインストールの後で、設定されたリアトリビューション期間以内に発生したインストールは、リアトリビューションとみなされ、AppsFlyerのリターゲティング画面に表示されますが、Facebookでは新規インストールと表示される可能性があります。

 注意

Facebook広告では、リターゲティングキャンペーンのインストールすべてを同じ場所で表示します。一方、AppsFlyer管理画面では、インストール数はオーバービューページ(新規インストール)とリターゲティングページ(リアトリビューションとリエンゲージメント)に分割されています。

クロスデバイス計測

Facebookではクロスデバイスアトリビューションが計測されます。これにより、あるプラットフォーム(iOS/Android)のキャンペーンが、別のプラットフォームのインストールとして表示される事象が起こることがあります。

 例

リンダは、Android携帯電話を使用して、Facebook上のGreatAppのモバイル広告をクリックしました。Facebookは、Androidの「Android 女性」というターゲットのキャンペーンにて、リンダのクリックを記録します。リンダは家のiPadでGreatAppをインストールすることにしました。初回起動時に、AppsFlyerはこのiOSインストールの起源をFacebookにサーバー経由で尋ね、Facebookは「Android 女性」のキャンペーンとデータを返します。

検証ルールとProtect360

AppsFlyerの検証ルールを使用すると、Facebook経由のインストールが拒否された場合、AppsFlyerとFacebookで計測結果が異なる可能性があります。このような場合、Facebookは自社にインストール成果を紐づけますが、AppsFlyerはこのインストール成果を拒否します。

同様に、AppsFlyerの不正防止ソリューションProtect360を使用すると、Facebookが自社にインストール成果を紐づける一方で、AppsFlyerはこれを拒否する場合があります。

 例

GreatAppのユーザー獲得担当のジェフは、北米のスペイン語を話す人のみをターゲットにした「SPNA」というキャンペーンを作成します。ジェフは、この設定を検証するため、カナダとアメリカからのみのユーザーを承認する検証ルールを設定します。スペインからのFacebookユーザーがクリック後インストールすると、Facebookはインストールを計測しますが、AppsFlyerは検証ルールに基づいて、このユーザーの成果計測を拒否します。

SDK関連の乖離

AppsFlyerとFacebook Adsの両方のSDKを実装するシナリオがいくつか考えられます。これによりインストールとアプリ内イベントの両方で乖離が発生する可能性があります。

  • インストール:アプリ起動時に、AppsFlyerのSDKよりも先にFacebook AdsのSDKが初期化された場合、インストールはFacebook Adsのみに記録され、AppsFlyerには記録されません。アプリ起動時には、必ずFacebook AdsのSDKよりも先に、AppsFlyerのSDKが初期化されていることを確認してください。
  • アプリイベント:Facebook Adsは、両方のSDKからレポートされたアプリ内イベントの重複を排除しません。つまり、Facebook Adsでは収益とその他のイベントを誤ってレポートする可能性があります。
    Facebook Adsでアプリ内イベントの重複計測を避けるためには、以下のいずれかの方法を使用してください。