概要: 連携済みパートナー(アドネットワークと代理店)は、ProtectLITEとProtect360、広告主によって定義された検証ルールによって検知・ブロックされたトラフィックの情報を確認可能です。
概要
AppsFlyerでは以下の機能で不正を検知・ブロックします。
- ProtectLITE:全ての広告主に提供している基本的な不正対策機能
- Protect360:追加の有償契約をした広告主向けのより高度な不正対策機能
パートナーが不正検知機能を利用するには、広告主側で以下作業が必要です:
- アドネットワーク|Protect360の管理画面とローデータへのアクセス(ProtectLITEを含む)と、集計されたアプリ内イベントデータへのアクセス(アプリ内イベント不正向け)の権限付与
- 代理店|Protect360の管理画面とローデータへのアクセスの権限付与
また適宜権限を付与してもらうことで、連携済みパートナーは以下が可能になります:
- 関係するアドネットワークが生み出したトラフィックに関するデータの閲覧
- 関連するローデータレポートのダウンロード
また、クリックとインプレッションの上限設定、失敗したクリック署名については、アドネットワークが利用できるローデータレポートがあり、これについては広告主の許可は必要ありません。
注意
代理店を通してアドネットワークを利用している広告主の場合、代理店とアドネットワークの両方がデータにアクセスするためには、広告主がAppsFlyerの管理画面上で代理店とアドネットワークの両方の連携設定を行い、権限付与とP360へのアクセスを付与する必要があります。
仮に代理店のみが権限付与をされている場合には、アドネットワークはP360のデータへアクセスできないので注意してください。
管理画面表示
前提条件:ProtectLite / Protect360へのアクセスに関する、広告主からの権限付与が必要です。
連携済みパートナーは、管理画面とグラフを確認できるようになります。
(詳細は以下のスクリーンショットを確認してください。)
ProtectLITEとProtect360の画面で利用可能なデータの詳細についてはこちらを参照してください。
制限:
- アドネットワークアカウントは[異常値]の画面にはアクセスできません。 一方代理店アカウントはアクセス権を持っていますが、他のメディアソースと比較するための基準値を作成できるように、AppsFlyerによって保証されているメディアソースからのトラフィックにおいて不正率が低い場合にのみ、データが表示されます。
ローデータレポート
前提条件:ProtectLite / Protect360へのアクセスに関する、広告主からの権限付与が必要です。
Protect360のローデータレポートでは、ProtectLITE / Protect360 / 検証ルールによって検知・ブロックされた不正データを提供しています。
利用可能なレポート:
- データ出力:AppsFlyer管理画面 左メニューのレポート > ローデータ出力へ移動します。
- API:アドネットワーク向けのレポートAPIのセクションを確認してください。
Protect360のローデータレポートの詳細についてはこちらを参照してください。
Protect360のアドネットワーク向けレポートAPI
- アドネットワークは、このセクションに記載されているローデータレポートをAPI経由で利用可能です。
- 同様のレポートは、管理画面内のデータエクスポートのページからも取得可能です。
- 広告主が Protect360を契約していない場合には、インストールのレポートのみが閲覧可能です。
前提条件
- 広告主のデータにAPIでアクセスするには、予め広告主がアドネットワークに対して、"Protect360管理画面とAPIでのローデータへのアクセスを許可する"という権限を付与している必要があります。ダッシュボードにアクセスできる広告ネットワークは、APIの使用が許可されています。 広告主様によるご対応は必要ありません。
- Protect360へのアクセス権限を持っているアプリの一覧については、アプリリストの取得APIを使用してください。
- パートナーアカウントのAdminアカウントは、AppsFlyerの管理画面からAppsFlyerのV2.0 認証トークンを取得する必要があります。
Protect360 APIレポート
レポート | データ更新頻度 | 説明 |
---|---|---|
ポストアトリビューションアプリ内イベント不正 |
毎日10:00 UTCタイムゾーン |
次のパラメータに関する表に示すとおり、このレポートはオプションとしてアプリ内イベントの種類で絞り込むことができます。 レポートトピック: |
アトリビューション後のインストール |
毎日10:00 UTCタイムゾーン |
レポートトピック: detection |
インストール |
リアルタイム |
ブロック済みインストールとブロックされた理由 レポートトピック: blocked_installs_report |
アプリ内イベント | リアルタイム |
ブロックされたユーザーが実行したアプリ内イベント レポートトピック: |
クリック | リアルタイム |
ブロックされたユーザーが実行したクリック レポートトピック: |
Protect360のローデータレポートをダウンロードして取得する手順
APIを使用する場合:
- 前述の表から、取得したいレポートを決めてください。
- 関連するCurlサンプル (以下参照) を使用して、スクリプトを準備してください。
- 以下のプレースホルダをそれぞれ置き換えてください:
- App ID
- From date (開始日)
- To date (終了日)
- Bearer token (AppsFlyer V2.0 認証トークン)
- 記事内に記載のあるように、一部のコールにはオプションのパラメータもあります。
Curl サンプル
インストール (blocked_installs_report)
app_id / from / to / tokenのプレースホルダを書き換えてください。
curl --location --request GET 'https://hq1.appsflyer.com/api/adnets-data/v1/export/blocked_installs_report/app/{app_id}?from={2020-07-10}&to={2020-07-20}&additional_fields=keyword_id,store_reinstall,deeplink_url,oaid,blocked_reason,blocked_reason_value,blocked_reason_rule,blocked_sub_reason,match_type,device_category,gp_referrer,gp_click_time,gp_install_begin,amazon_aid,keyword_match_type' \
-H 'Authorization: Bearer {V2.0 api token placeholder. Note: The token has more than 700 characters.}' \
ポストアトリビューションインストール (detection)
app_id / from / to / tokenのプレースホルダを書き換えてください。
curl --location --request GET 'https://hq1.appsflyer.com/api/adnets-data/v1/export/detection/app/{app-id}?from={2020-06-10}&to={2020-07-20}&additonal-fields=fraud_reason,fraud_sub_reason,match_type,device_category,gp_referrer,gp_click_time,gp_install_begin,detection_date' \
-H 'Authorization: Bearer {V2.0 api token placeholder. Note: The token has more than 700 characters.}' \
アプリ内イベント (blocked_in_app_events_report)
app_id / from / to / tokenのプレースホルダを書き換えてください。
curl --location --request GET 'https://hq1.appsflyer.com/api/adnets-data/v1/export/blocked_in_app_events_report/app/?from=YYYY-MM-DD&to=YYYY-MM-DD&additional_fields=keyword_id,store_reinstall,deeplink_url,oaid,blocked_reason,blocked_reason_value,blocked_reason_rule,blocked_sub_reason,match_type,device_category,gp_referrer,gp_click_time,gp_install_begin,amazon_aid,keyword_match_type' \
-H 'Authorization: Bearer {V2.0 api token placeholder. Note: The token has more than 700 characters.}' \
ポストアトリビューションのアプリ内イベント不正 (fraud_post_inapps)
app_id / from / to / tokenのプレースホルダを書き換えてください。
curl --location --request GET 'https://hq1.appsflyer.com/api/adnets-data/v1/export/fraud-post-inapps/app/{app-id}?from={2020-06-10}&to={2020-07-20}&additional_fields=match_type,device_category,gp_referrer,gp_click_time,gp_install_begin,fraud_reason,fraud_sub_reason,detection_date' \
-H 'Authorization: Bearer {V2.0 api token placeholder. Note: The token has more than 700 characters.}' \
クリック (blocked-clicks_report)
app_id / from / to / tokenのプレースホルダを書き換えてください。
curl --location --request GET 'https://hq1.appsflyer.com/api/adnets-data/v1/export/blocked_clicks_report/app/{app-id}?from={2020-06-10}&to={2020-07-20}&additional_fields=keyword_id,store_reinstall,deeplink_url,oaid,blocked_reason,blocked_reason_value,blocked_reason_rule,blocked_sub_reason,gp_referrer,gp_click_time,gp_install_begin,amazon_aid,keyword_match_type' \
-H 'Authorization: Bearer {V2.0 api token placeholder. Note: The token has more than 700 characters.}' \
Protect360 アドネットワーク API 仕様ガイド
APIの基本
Protect360 アドネットワークAPIの基礎仕様:
パス |
|
方法 | GET |
Pathの必須パラメータ |
|
受け入れ可能なcontent types |
application/json |
Authorization |
|
レート制限 | レート制限 |
日付範囲の制限 |
|
行数の上限 | 20万行 |
レポート特性 |
|
API パラメータ
Protect360のAPIパラメータ:
パラメーター | 説明 | 形式 | 必須 |
---|---|---|---|
app_id | AppsFlyerの管理画面上に表示されているアプリID | String | はい |
from |
日付範囲の開始日:
|
YYYY-MM-DD | はい |
to |
日付範囲の終了日:
|
YYYY-MM-DD | はい |
event_name |
[ポストアトリビューションアプリ内イベント不正でのオプション] アプリ内イベントを絞り込み、レポート内容を特定のイベントのデータに限定してください。一つ、もしくは複数のイベントを含めることが可能です。 使用例: |
String |
いいえ
|
detect-from |
[ポストアトリビューションインストールでのオプション] 不正検出の日付範囲の開始日(デフォルト設定は、from.) |
YYYY-MM-DD | いいえ |
detect-to |
[ポストアトリビューションインストールでのオプション] 不正検出の日付範囲の終了日。(デフォルト設定は、to.) |
YYYY-MM-DD | いいえ |
Protect360 APIのHTTPリターンコード
エラーコードと解決策:
ステータス | コード | 症状/メッセージ | 解決策 |
---|---|---|---|
OK | 200 | Empty CSV file(CSVファイルが空です) |
|
OK |
200 |
Empty CSV file(CSVファイルが空です) |
開始日と終了日の両方の形式がyyyy-mm-ddであることを確認してください |
OK |
200 |
AppsFlyer HTMLログインページの戻り値 |
Bearer tokenヘッダーにトークンがありません。 |
Bad request |
400 |
Bad request |
|
Unauthorized |
401 |
Unauthorized |
トークンは見つかりましたが、有効ではありません。パートナーアカウント内に現在のV2.0トークンが存在していることを確認し、Adminに管理画面から現在のトークンを改めて取得するよう依頼してください。 |
Not found |
404 |
|
|
インプレッションとクリックの上限ブロック(capping)
アドネットワークが非常に高いインプレッションとクリックの不正率を示す場合、Protect360はアドネットワークのインプレッションとクリックを24時間のサイクルでブロックします。つまり、閾値に達したあとに発生したインプレッションとクリックはAppsFlyerで記録されず、アトリビューションの対象にもなりません。これらのブロックされたインプレッションとクリックの情報は、Protect360の管理画面とレポートにのみ表示されます。
AppsFlyer不正防止アルゴリズムは、インプレッションとクリックの量、コンバージョン率、検出された不正率、アクティビティの変動、業界および地理的ベンチマーク、独自のパラメーターなど、不正を検出する際にさまざまなパラメーターを考慮します。このアルゴリズムは、変化傾向を考慮して、時間単位で動的に更新されます。
インプレッションやクリックの増大により閾値に達することが繰り返し発生した場合、AppsFlyerのプラットフォームとの連携を永久的に削除する可能性もあります。
インプレッションとクリックの上限ブロックの閾値について:
- すべてのアドネットワークに対して、平等に適用されます。つまり、インプレッション不正やクリック不正の割合が極端に高くても上限ブロックされないアドネットワークは存在しません。
- アプリ/アドネットワークレベルである。つまり、不正分析では、アプリ上のすべてのアドネットワークのキャンペーンが考慮され、ブロックは、アプリ上のすべてのアドネットワークのキャンペーンのレポートとアトリビューションに影響します(アカウントにProtect360があるかどうかに関係なく)。
- 24時間サイクルでブロックはリセットされ、サイクルが終了するまではブロックが適用されます。サイクルの開始と終了の詳細については、非公開です。
- 変更または停止できません。Protect360は、不正検出において細かい調節がなされており、そのアルゴリズムは手動で調整または無効にすることはできません。
- 異常なアクティビティを持つキャンペーンとパブリッシャー(配信面)を停止することで、回避できる可能性があります。
よくある質問
インプレッションとクリックの上限ブロックに関するFAQ:
Q:ネットワークに適用される閾値はどれくらいですか? A: ブロックするメカニズムの詳細は、不正業者の手に渡ることを避けるため公開していません。ただ、人間の行動範囲を超えるほどの非常に多いインプレッション数 / クリック数が発生した場合にのみ、閾値に達します。その日のインプレッション数とクリック数とインストール数を見ることで、洪水の不正が1つまたは複数のパブリッシャーで発生しているかどうかを明確に把握できます。 |
Q:ブロックを解除するにはどうしたらいいですか? A:異常なアクティビティ・トラフィックが発生してしまっているキャンペーンと配信面を停止することで、閾値に達することを回避することが可能です。ブロックされてしまった場合、クリックが再度記録されるようになるまでには、24時間のブロックサイクルが終了するまで待つ必要があります。 |
Q: 上限ブロックは、Protect360を未使用のAppsFlyerの広告主にも適用されますか? A: はい、キャッピングは、顧客がProtect360を持っているかどうかに関係なく影響します。キャッピングメカニズムは、クリック / インプレッションの不正使用からすべての顧客を保護します。 |
Q:これは不正でなく安価な媒体を使用しているためで、質が低いことがあります。 A:疑わしくない媒体で通常の範囲でパフォーマンスが低下しても、クリックの上限ブロックは行われません。アルゴリズムは、人間によって発生し得ないパフォーマンスを識別します。 |
Q:ブロックされることによってキャンペーンの拡大が困難になってしまうため、インプレッションやクリックの上限ブロックを行わないでください。 A:AppsFlyerの不正防止アルゴリズムは、極端で露骨なトラフィック洪水から広告主を守ります。人間以外によって生成されたインプレッション・クリックをブロック対象とし、これらのブロックの大多数は不正であるためキャンペーンの拡大には影響しません 万が一それでも懸念がある場合には、AppsFlyerまでお問い合わせください。 |
Q: これは不正ではありません。おそらくAppsFlyerはインプレッション / クリックの量に対処するのに問題がありますか? A: ボリュームの処理に問題はありません。当社は世界最大規模の広告主を多数サポートしており、膨大な数の正当なクリックを含め、毎日何十億ものリアルタイムデータポイントを処理しています。豊富で正確なデータで大規模な成長をサポートするという当社のコミットメントの一環として、当社はお客様の最善の利益のために行動し、明確なクリック洪水をブロックします。
|
Q:インストールに加え、クリックもブロックするというアプローチに至ったのはなぜですか? A:AppsFlyerでは、広告主を保護するための継続的な取り組みの一環として、不正防止メカニズムを常に改善しています。これまでは、インプレッションとクリックを受け入れ、インストールのみをブロックしていました。しかし、稀にクリック率が極端なケースもありそのような場合において、それらのクリックをシステムで受け入れる意味がありません。 |
Q:新しいキャンペーンなどにより、インプレッション数・クリック数が大幅に増加すると予想される場合はどうなりますか?ブロックされるのを防ぐためには何ができますか? A:アルゴリズムは動的であり時間単位で更新されるため、さまざまな傾向を考慮します。このような増加を処理するのに十分洗練されており、突然の大幅なボリューム増加を含む通常の範囲の活動変動によってブロックが実行されることはありません。A: 連携済みパートナーは、インプレッション/クリックのデータとレポートを使用して、疑わしいソースを特定してキャンペーンを停止可能です。 |
Q:問題のあるトラフィックをチェックし、キャンペーンのパフォーマンスを向上させるにはどうすればよいですか? A: 連携済みパートナーは、インプレッション/クリックのデータとレポートを使用して、疑わしいソースを特定してキャンペーンを停止可能です。パートナーは、広告主からダッシュボードで不正行為データを表示するために必要な許可を得ている限り、Protect360/ProtectLITEダッシュボードの専用列でブロックされたインプレッションとクリックのデータを確認することもできます。
|
Q: ネットワークには上限に関する通知メールが送信されますか? A: クリック制限の場合、AppsFlyerはクリック上限のしきい値に達するたびに広告ネットワークにメール通知を送信します。 |
クリック署名
アドネットワークは、 クリックに HMAC-SHA256 署名を追加できます。
この署名によりAppsFlyerはクリックを検証でき、 クリック情報が不正業者によって操作されていないことを確認します。
- 検証されたクリックは記録され、アドネットワークへ紐付けられます。
-
無効になったクリックは除外され、以下のように処理されます:
- アドネットワーク向け(広告主向けではなく)に提供されるProtect360のレポート画面に集計されます。
- アドネットワークのコンバージョン率やクリックの上限ブロックの閾値には影響を与えません。