Cost ETL—バケット内の粒度の細かいキャンペーンコスト

プレミアム機能

概要: AppsFlyer ROI360 の一部である Cost ETL は、メディアソースごとに利用可能な最高の粒度を持つキャンペーンコストデータを広告主に提供します。毎日4回更新されるデータは、広告主のBIシステムに格納できるようにAWS S3 または GCS バケットに配信されます。

5896_CostETL_graphic__2_.png

Cost ETL の原則

キャンペーンのコストデータは次のように書き込まれます。

  • コストデータの表示、転送、およびシステムへのロードを行うためバケットへ配信されます。
  • 毎日4回バケットへ配信されます(更新頻度:日中)。
  • 当日と過去6日間(本記事では7日間と表記)の他、14日目、29日、88日も同様に配信できます。過去にさかのぼったデータにより、コストデータレポートの更新や訂正が可能になります。
  • アトリビューション、クリック、インプレッションと一致したコスト。
    注意:
    • 過去7日分のデータは、メディアソースから新たに取得したものです。14日目、29日目、88日目のデータは再処理しています。
    • コストデータのみ遡及して更新され、アトリビューションデータは更新されません。

データは次の主なディメンションで提供されます。

  • 地域:国別の内訳
  • チャネル:メディアソースのチャネル。例えば、Googleの場合「YouTube」等

レポートに含まれる他のディメンションと指標は、必要に応じてカスタマイズできます。

サンプルファイルを見る注意:提供されているサンプルは、チャネルごとのデータ内訳が記載されたExcelファイルです。Cost ETL ファイルは、Parquetファイルとしてバケットに送信されます。 

実装について

レポートのディメンション

  • レポートは、Cost ETL に含まれる全てのアプリを対象に、1日あたり、バッチごとに配信されます。 
  • データがバケットに書き込まれるたびに、つまり 1 日に 4 回、過去 6 日間と 14 日、29 日、88 日の履歴、更新、修正など、使用可能なすべてのデータが書き込まれます。データロードプロセスでは、この点を考慮に入れてください。 
  • レポート構造の詳細はファイルフィールドテーブルにあります。構造は以下のとおりです:
    • 概要レポート:より簡単かつ迅速に使用できるように、より粒度の細かいものとなっています。
    • ディメンションレポート:保証されたプライマリーディメンションがあります。つまり全てのメディアソースで利用できるディメンションがこのレポートに含まれています。一方、メディアソースが主要なディメンションデータを提供していない場合、そのデータは特定のディメンションレポートには含まれません。セカンダリーディメンションが利用可能な場合は、これらも含まれていますが、これらは常に含まれているものではありません。
    • 利用可能なプライマリー(保証)ディメンションは次のとおりです:
      • 地域:国別にグループ化されたデータ
      • チャネル:メディアソースのチャネル。例えば、Googleでいう「YouTube」、メタ広告でいう「Instagram」等。
    • ビジネスニーズに最も適したディメンションを使用してください。メディアソースにより異なる場合があります。
    • [クローズドベータ] すべてのコストレポート:地域ディメンションに基づいています。AppsFlyerに追加されていないアプリ/プラットフォームを含む、すべてのプラットフォームでのすべてのマーケティング活動のコストデータが含まれます(この場合、アプリIDは不明とマークされます)。

ディレクトリとファイル名の構造

  • バケットに書き込まれたデータは、ディレクトリとファイル構造が記述されています。サンプルファイルを見る: 注意:提供されているサンプルは、チャネルごとのデータ内訳が記載された Excel ファイルです。Cost ETL ファイルは、Parquet ファイルとしてバケットに送信されます。 
  • Cost ETL がディレクトリへの書き込みを完了すると、成功ファイルを作成してフラグが設定されます。これは常にディレクトリ内の最新のタイムスタンプです。 
  • データが書き込まれるたびに、当日と過去6日間(記事内では7日間分のデータと記載されています)、および14日間、29日間、88日間のデータが含まれます。
  • フォルダ/ファイル数は、次のとおりです。
    • 概要:1日あたり4つのバッチフォルダー。
      • 各バッチフォルダには、7日間のデータを含むParquetファイルが含まれています。
    • ディメンション:常に含まれる各ディメンションには、1日あたり4つのバッチフォルダが含まれています。
      • 各バッチフォルダには、番号付けが1から始まるデータを含むParquetファイルが含まれています。
    • [クローズドベータ] すべてのコスト:地域ディメンションに基づくと、1日あたり4つのバッチフォルダが含まれます。

ディレクトリ構造の例

cost_etl_structure_4.jpg

ディレクトリ構造

/<advertiser bucket name>/cost_etl/version/dt=<yyyy-mm-dd>/b=<n>/
<dimension>/<file name>

ディレクトリ構造

変数

コンテンツ

advertiser_bucket_name

コストETL設定で定義された通り:af-xpend-cost-etl-<af-account-id>-[your bucket name suffix]

cost_etl この値は常に「cost_etl」です 
version Cost ETL のバージョン
date

コストの日付

形式: yyyy-mm-dd

batch 数値 1-4
ディメンション

データディメンション:

  • 地域
  • チャネル
file_name
  • 合計
  • all-cost
パーケットファイル番号
  • 00000から始まる番号
  • 例: part-

ファイル名の構造 

part-<number>

2020年6月23日の最初のデータプルでは、ディレクトリとファイル名の構造は次のようになります。

/bucket-name/cost_etl/v1/dt=2020-06-23/b=1/geo/part-00001

ファイル項目

フィールド / ディメンション

項目

備考

常に記入

形式

サマリーファイルに含まれる

date

メディアソースによってレポートされたコストの日付

はい

String yyyy-mm-dd

app_id

AppsFlyerプラットフォームのアプリID

はい

文字列

media_source

広告を表示するメディアソース

はい

文字列

os

デバイスのOS想定値:

  • android
  • Windows Phone
  • iOS

はい

文字列

-

代理店

広告を配信する代理店

いいえ

文字列

-

キャンペーン

広告階層のコンポーネント

いいえ

文字列

-

campaign_id

広告階層のコンポーネント

いいえ

文字列

-

adset

広告階層のコンポーネント

いいえ

文字列

-

adset_id

広告階層のコンポーネント

いいえ

文字列

-

ad

広告階層のコンポーネント

いいえ

文字列

-

ad_id

広告階層のコンポーネント

いいえ

文字列

ad_account

  • コストデータが取得される広告アカウント
  • oAuth(認証情報でのログイン)を使用して連携するネットワーク(例: GoogleやFacebook)に関連します

いいえ

文字列

-

通貨

AppsFlyerでアプリに対して定義された広告主支出の通貨

はい

ISO-4217 に準拠した3文字の文字列

original_currency

コンバージョン前にネットワークから報告されたコストの通貨

はい

ISO-4217 に準拠した3文字の文字列

-

timezone

  • AppsFlyer に保存されているデータのタイムゾーン
  • ネットワークは、AppsFlyer で定義されているものとは異なるタイムゾーンでデータをレポートすることがあります。このデータポイントは、AppsFlyer とネットワーク間のコストの不一致を説明するのに役立ちます

はい

文字列 

-

地域

広告階層のディメンション

いいえ

ISO 3166に準拠した2文字の文字列

チャネル

広告階層のディメンション

いいえ

文字列

- 

keyword_term

ユーザーがオンライン検索に使用する単語

はい

文字列 

-

keyword_id

ASAキーワード用語のID

はい

文字列

-

site_id

パブリッシャーID/配信面

いいえ

文字列 

-

campaign_objective

キャンペーンプロパティのコンポーネント。詳細はこちら

いいえ

文字列 

-

cost_model

キャンペーンプロパティのコンポーネント。詳細はこちら

いいえ

文字列 

-

af_cost_model

AppsFlyerによってマッピングされ正規化されたコストモデル。キャンペーンプロパティのコンポーネント。詳細はこちら

いいえ

文字列 

-

bid_strategy

キャンペーンプロパティのコンポーネント。詳細はこちら

いいえ

文字列 

-

af_bid_strategy

AppsFlyerによってマッピングされ正規化された入札ストラテジー。キャンペーンプロパティのコンポーネント。詳細はこちら

いいえ

文字列 

-

bid_amount

キャンペーンプロパティのコンポーネント。詳細はこちら

いいえ

Integer

-

original_bid_amount

キャンペーンプロパティのコンポーネント。詳細はこちら

いいえ

Integer

-

指標

項目

備考

常に記入

形式

サマリーファイルに含まれる

インプレッション

  • AppsFlyerにより計測
  • UA(新規インストール)とリターゲティングの両方を含む

はい。

特定のメトリックで使用可能な値がない場合は、0が入力されます。

Integer

clicks

  • AppsFlyerにより計測
  • UA(新規インストール)とリターゲティングの両方を含む

Integer

reported_impressions

メディアソースにより計測

Integer

reported_clicks

メディアソースにより計測

Integer

installs

AppsFlyerにより計測

Integer

reported_conversions

メディアソースにより計測

Integer

 

re_engagements

AppsFlyerにより計測

Integer

re_attributions

AppsFlyerにより計測

Integer

cost

支出額(関連する場合、代理店手数料を含む)

パラメータの値

original_cost

ネットワークによって報告されたコスト、通貨換算前のネットワークによってレポートされた通貨(関連する場合はAppsFlyerによって計算された代理店手数料が追加されます)

パラメータの値 

-

impressions_discrepancy

整数

-

clicks_discrepancy

整数

-

installs_discrepancy

整数

-

fees

通常の広告コストに加えて代理店が請求する手数料。AppsFlyerにより計測

はい

整数

-

cost_without_fees

代理店手数料を差し引いた金額。AppsFlyerにより計測

はい

整数

-

original_cost_without_fees

広告ネットワークからレポートされた、広告代理店手数料を含まないオリジナルコスト

はい

整数

-

ctr

  • クリック率(CTR)AppsFlyerにより計測
  • 数式:クリック/インプレッション

 

 

 

 

いいえ

整数

-

cvr

  • コンバージョン率。AppsFlyerにより計測
  • 数式:インストール/クリック
整数型

-

ecpm

  • AppsFlyerにより計測
  • 数式:(コスト/インプレッション数) * 1000 
整数

cpi

  • AppsFlyerにより計測
  • 数式:コスト/インストール
整数

ccvr

  • コンバージョン当たりのコスト
  • 数式:コスト/ (インストール数+リアトリビューション+リエンゲージメント数)

整数

cvvr

  • 完了したビデオ視聴率。AppsFlyerにより計測
  • 数式:動画の再生完了数/インプレッション数
整数

-

reported_cvr

  • レポートされたコンバージョン率
  • 数式:レポートされたコンバージョン/レポートされたクリック
整数

ecpc

  • AppsFlyerにより計測
  • 数式:コスト/クリック数
整数

-

video_25p_views

動画が25%再生されました。アドネットワークによりレポート

整数

video_50p_views

動画が50%再生されました。アドネットワークによりレポート

整数

video_75p_views

動画が75%再生されました。アドネットワークによりレポート

整数

video_completions

アドネットワークによりレポートされます

整数

AWS S3 の Cost ETL のセットアップ

この設定手順は、アドミン(管理者)ユーザが行う必要があります。

はじめる前に

  • Cost ETL の設定には、独自のAWSバケットの設定(そしてそれにAppsFlyerがデータを書き込む権限の付与)、およびAppsFlyerでの Cost ETL 設定が必要です。
  • Cost ETL の設定を完了するには、AWSアドミン権限とAppsFlyer管理画面へのアクセス権限の両方が必要です。
  • セットアップ中は、AWSとAppsFlyerの両方にタブを開いたままにしておいてください。
  • 注意:KMSのバケット暗号化サポートは現在ベータ版です。

AppsFlyerAdmin_us-en.png AWS バケットと Cost ETL を設定するには:

  1. AWSコンソールにサインインします。
  2. S3サービスへ進みます。
  3. バケットを作成します:
    1. Create bucketをクリックしてください。
    2. 以下のようにバケット名を入力します:必須のプレフィックスaf-xpend-cost-etl-acc--から始めて、サフィックスをフリーテキストとして追加します。
    3. Create bucketをクリックしてください。
  4. AppsFlyerのサイドメニューから、エクスポート > Cost ETLを選択します。
  5. Cost ETLを有効にしてください。
  6. レポートスケジュールにて、最初のレポートを受信するタイミングを選択してください。その後のレポートは、その後約6時間間隔で到着します。
  7. Amazon S3の設定に進みます。

  8. ドロップダウンメニューから、S3バケットの地域を選択してください。
    対象の地域が表示されない場合は、CSMまでお問合せください。 
  9. Amazon S3バケット名を入力してください。
  10. 次へをクリックしてください。
    バケットポシリーのコードスニペットが表示されます。

  11. バケットポリシーのコードスニペットをコピーし、AWSの設定画面に貼り付けてください。
    1. AWS にて、Cost ETL 用に作成したバケットを選択してください。 
    2. 権限タブへ進んでください。
    3. Bucket policy セクションにて、Edit(編集)をクリックしてください。
    4. バケットポリシー画面が開きます。
    5. バケットポリシースニペットを画面に貼り付けてください。
  12. AppsFlyer の Cost ETL 設定にて、次へをクリックしてください。
    バケットの検証ステップが表示されます。 
  13. 検証をクリックしてください。
    検証が成功しましたというメッセージが表示されることを確認してください。 
  14. 次へをクリックしてください。
  15. 1つ以上のアプリまたは全てのアプリを選択してください。 All (全て)   選択すると、自動的に今後追加するアプリも含まれるようになります。
  16. 適用をクリックしてください。 
  17. 少なくとも1つの保証されているディメンションを選択してください:チャンネルおよび/または地域
  18. 少なくとも追加のディメンションを1つ選択してください。

  19. レポートに含まれる指標を少なくとも1つ選択してください。 

  20. 適用をクリックしてください。

GCS のCost ETL のセットアップ

この設定手順は、アドミン(管理者)ユーザが行う必要があります。

はじめる前に

  • Cost ETL の設定には、独自のAWSバケットの設定(そしてそれにAppsFlyerがデータを書き込む権限の付与)、およびAppsFlyerでの Cost ETL 設定が必要です。
  • コストETL の設定を完了するには、AWS アドミン権限と AppsFlyer UI へのアクセス権限の両方が必要です。
  • セットアップ中は、AWSとAppsFlyerの両方にタブを開いたままにしておいてください。

AppsFlyerAdmin_us-en.png GCSGCS バケットと Cost ETL を設定するには:

  1. GCS コンソールにサインインします。
  2. バケットを作成します。
    バケットに以下のような名前をつけます。
    • 必須のプレフィックスaf-xpend-cost-etl-acc--から始めて、サフィックスをフリーテキストとして追加します。
    • 御社のaf-account-idは次の手順6-8に示すように、AppsFlyer UI で見つけることができます。 
    • 参照:GCS バケットの命名要件
  3. AppsFlyerのサイドメニューから、エクスポート > Cost ETLを選択します。
  4. Cost ETLを有効にしてください。 
  5. レポートスケジュールにて、最初のレポートを受信するタイミングを選択してください。その後のレポートは、その後約6時間間隔で到着します。
  6. データ保存先 (Data destination) にアクセスし、 を選択します。
  7. GCSバケット名を入力します。
  8. 次へをクリックしてください。
    GCSの権限設定に使用する、AppsFlyerのサービスアカウントが表示されます。
  9. GCS コンソールで、バケットの IAM パーミッション を設定します。
    1. AppsFlyer のサービスアカウントを Cost ETL バケットのプリンシパルとして追加します。

    2. Storage Object Admin のロールを割り当てます。
  10. AppsFlyer の Cost ETL 設定にて、次へをクリックしてください。
    バケットの検証ステップが表示されます。 
  11. 検証をクリックしてください。
    検証が成功しましたというメッセージが表示されることを確認してください。 
  12. 次へをクリックしてください。
  13. 1つ以上のアプリまたは全てのアプリを選択してください。 All (全て)   選択すると、自動的に今後追加するアプリも含まれるようになります。
  14. 適用をクリックしてください。 
  15. 少なくとも1つの保証されているディメンションを選択してください:チャンネルおよび/または地域
  16. 少なくとも追加のディメンションを1つ選択してください。

  17. レポートに含まれる指標を少なくとも1つ選択してください。 

  18. 適用をクリックしてください。

AWSオブジェクトの所有権

AWSでは、デフォルトで、AppsFlyerがオブジェクトをバケットに書き込む場合、そのオブジェクトのオーナーはAppsFlyerです。データ取り込みプロセスによっては、デフォルトの所有権をあなた(バケット所有者)に変更する必要がある場合があります。  

自社バケットのオブジェクトの所有権を変更する方法

  1. AWS Management Consoleにサインインし、Amazon S3 console https://console.aws.amazon.com/s3/を開いてください。

  2. Bucketsリストにて、S3 Object Ownershipを有効にしたいバケット名を選択してください。

  3. 権限タブへ進んでください。

  4. Object Ownership Edit をクリックしてください。 

  5. Bucket owner preferred を選択してください。

  6. 保存をクリックしてください。

ベストプラクティス

データの上書き

データを取得し分析する際は、特定の日付とバッチのデータを取得するか、全ての過去のデータを現在のバッチのデータで上書きすることをお勧めします。そうしないと、同じデータが繰り返し表示される可能性があります。

例えば、2月20日のバッチ1には2月14-20日のデータが含まれていますしかし、2月19日に書かれたバッチにも、2月14日~2月19日のデータが含まれていました。2月19日に受信した以前のデータを、直近の2月20日のバッチで受信したデータで上書きします。

地域 vs. チャネル

全てのネットワークが全てのディメンションのデータを一緒に提供しているわけではありません。メタ広告の地域データやチャンネルデータは、その代表的な例です。2つの別々のデータセットが提供されるのは、このためです。地域データセットには地域データが、チャネルデータセットにはチャネルデータが含まれることが保証されています。

多くの場合、大部分のメディアソースでは、地域とチャネルデータは同じになります。そのため、ビジネスニーズに応じて、いずれかのデータセット(地域またはチャネル)を取り込んでください。

メディアソースとの連携に関する契約にチャンネルが含まれておらず、チャンネルが空白の場合、そのデータにチャンネルが含まれているものとして扱います。

集計データ

Cost ETL は、アドネットワークから抽出できる最も粒度の細かいフレキシブルなデータを提供します。このような膨大な量のデータから実用的なインサイトを引き出すには、ビジネスニーズに最適な方法でデータを集約することをお勧めします。例えば、キャンペーンおよび国レベルでコストデータを理解する必要がある場合は、これらのディメンションを使用してください。

ネットワーク全体の標準化

すべてのネットワークが同じ粒度のデータを提供するわけではありません。たとえば、メタ広告はサイトIDのコストデータを提供しませんが、X Adsは地理コストデータを提供しません。Cost ETL データを集計する場合は、このようなケースに注意し、ネットワークを比較する時に同様のデータを確認します。

データの比較

Cost ETL は、お客様のすべてのコストデータに関する情報を提供します。Cost ETL で提供された一部のキャンペーンは、一部の AppsFlyer 管理画面に表示されません。例えば、非アクティブなキャンペーンのデータ、つまり、 インストールが記録されていないキャンペーン です。データを比較するためには、オーバービュー管理画面で特定のキャンペーン ID を見つけ、Cost ETL でのコストデータと比較してください。コストデータの入手方法について詳しくはこちら

追加情報

特性と制限

特性 備考
タイムゾーン

タイムゾーンが変更された場合、コストデータは変更された日と翌日に複製されます。詳細はこちら

データ更新頻度

日中Cost ETL の設定時に、レポートのスケジュール、つまりレポートがいつ到着するかを設定します。注意:コストデータがバケットに到着した後、BI システムへのさらなるデータ転送は、レポートと Parquet ファイルのサイズ (数 KB から数 GB まで) によって大きく異なります。