概要:AppsFlyer ROI360のコストETLでは、メディアソースごとに取得できる最も詳細なキャンペーン広告費データを、広告主に提供します。データは1日最大4回更新され、広告主のBIシステムに取り込める形式でクラウドサービスに配信されます。
AppsFlyer ROI360のコストETLでは、メディアソースごとに取得できる最も詳細なキャンペーン広告費データを、広告主に提供します。データは1日最大4回更新され、広告主のBIシステムに取り込める形式で、Data Lockerの配信先クラウドサービスに送信されます。
複数のクラウド配信先に、同時にレポートを送信することも簡単にできます。複数のサービスでデータを同時に利用できるため、クラウドサービスを移行する際にも役立ちます。
コストETLレポートには、AppsFlyerのアトリビューションに紐づく広告費データと、インストール数、リアトリビューション数、リエンゲージメント数などのアトリビューション指標が含まれます。
4種類のコストETLレポート
分析の目的に応じて、4種類のコストETLレポートを利用できます。
- サマリーレポート:(デフォルト)メディアソース別に集計した、広告費の概要データ。広告費と成果指標の全体的な傾向を分析する場合に推奨します。
- 国別レポート:(任意)US、CA、FRなど、2文字の国コードで国別に分類した広告費データ。地域ごとの成果と広告費の分析に推奨します。
-
チャネル別レポート:(任意)YouTubeやショッピングなど、チャネル別に分類した広告費データ。チャネルごとの成果と広告費の分析に適しています。
サンプルファイルを確認 -
全広告費レポート:アドネットワークから直接取得した、モバイルおよびモバイル以外の広告費データをまとめたレポートです。アトリビューションデータは含まれません。現在は、Google広告、Meta広告、TikTokに対応しています。
サンプルファイルを確認注意
全広告費レポートでGoogle広告とMeta広告のデータを受信するには、AppsFlyerの担当者にお問い合わせください。
コストETLレポートの種類と概要
| サマリー | 国別 | チャネル別 | 全広告費レポート | |
|---|---|---|---|---|
| レポートの取得方法 | コストETLを有効にします。サマリーレポートはデフォルトで選択されています。 | コストETLを有効にし、国別レポートを選択します。 | コストETLを有効にし、チャネル別レポートを選択します。 | コストETLを有効にし、国別レポートを選択します。(コストETLページに、全広告費レポート専用の選択項目はありません) |
| レポートの保存先 | 選択したクラウド接続サービスによって異なります。 Summaryフォルダー、または専用のテーブルに保存されます。 | 選択したクラウド接続サービスによって異なります。 Geoフォルダー、または専用のテーブルに保存されます。 | 選択したクラウド接続サービスによって異なります。 Channelフォルダー、または専用のテーブルに保存されます。 | 選択したクラウド接続サービスによって異なります。 All Costフォルダー、または専用のテーブルに保存されます。 |
| 対象となる広告費の種類 |
モバイルの広告費:制限なし。
|
サマリーと同じ。 | サマリーと同じ。 | Google広告、Meta広告、TikTokのモバイル、Web、CTV、PC、ゲーム機の広告費。 |
| 対応するメディアソース | 制限なし | 制限なし | 制限なし |
|
| スキーマの詳細度 | コストETLの設定内容によって異なります。 |
コストETLの設定内容によって異なります。
|
コストETLの設定内容によって異なります。
|
コストETLの設定内容によって異なります。 Metaでは、channelディメンションは非対応です。 |
| アトリビューションデータ | 対応 | 対応 | 対応 |
非対応。
|
| アプリID | アドネットワークがアプリID単位のデータに対応していない場合、アトリビューションデータからアプリIDを取得します。 | サマリーと同じ。 | サマリーと同じ。 |
アドネットワークから取得します。
|
| 広告費の取得元 | API連携(広告費API+InCost)、コストインポート、CPI | サマリーと同じ。 | サマリーと同じ。 | API連携のみ。 |
| CNC | 対応 | 対応 | 対応 | 非対応。 |
| 代理店データ | 対応 | 対応 | 対応 |
|
| 代理店手数料 | 対応 | 対応 | 対応 | 非対応。値は常に0です。 |
| 更新頻度 | アドネットワークから1日6回データを収集します。 レポートは、設定に応じて1日最大4回配信できます。 |
|||
レポートの詳細
データの更新・反映
キャンペーン広告費のデータは、以下の条件で書き込まれます。
- 広告費データの確認、転送、自社システムへの読み込みに使用できるよう、クラウドサービスまたはバケットに書き込まれます。
- コストETLの対象に選択したすべてのアプリについて、日付別・バージョン別に書き込まれます。
- 1日最大4回書き込まれます(データは1日に複数回更新)。
- 当日と過去6日分(この記事では「7日間」と表記)に加え、14日前・29日前・88日前のデータが対象です。データの読み込み処理を設計する際は、この点を考慮してください。
- 例:2024年10月14日のファイルには、10月14日(当日)、10月13日(1日前)、10月12日(2日前)、10月11日(3日前)、10月10日(4日前)、10月9日(5日前)、10月8日(6日前)、9月30日(14日前)、9月15日(29日前)、7月18日(88日前)のデータが含まれます。
- 過去のデータも対象に含めることで、広告費レポートの更新や修正を反映できます。
- アトリビューション、クリック、インプレッションのいずれかと一致する広告費が対象です。
注意:- 直近7日分のデータは、メディアソースから改めて取得します。 14日前・29日前・88日前のデータは、再処理されます。
- 過去にさかのぼって更新されるのは広告費データのみで、アトリビューションデータは更新されません。
ディレクトリとファイル名の構造
クラウドサービスまたはバケットに書き込まれるデータのディレクトリ・ファイル構造は、以下のとおりです。
- コストETLがディレクトリへの書き込みを完了すると、successファイルを作成し、完了を示します。このファイルのタイムスタンプが、常にそのディレクトリ内で最も新しいものになります。
- フォルダー・ファイルの数は、以下のとおりです。
- サマリー:1日あたり最大4つのバージョンフォルダー。
- 各バージョンフォルダーには、7日分のデータを含むParquetファイルが保存されます。
- 国別・チャネル別レポート:各レポートにつき、1日あたり最大4つのバージョンフォルダー。
- 各バージョンフォルダーには、1から始まる番号が付いたParquet形式のデータファイルが保存されます。
- 全広告費:geoディメンションに基づき、1日あたり最大4ファイル。
- サマリー:1日あたり最大4つのバージョンフォルダー。
Data Locker接続のディレクトリ構造
<client-bucket>/<DL-generated-partition>/<connection-name>/t=<report-name>/dt=<YYYY-MM-DD>/v=<1/2/3/4>/<parquet file number>
| 変数 | 内容 |
|---|---|
| client-bucket | クラウドサービスで設定したバケット名 |
| DL-generated-partition | 顧客ごとに一意となる、自動生成されたパーティション |
| connection-name | Data Lockerの設定時に指定した接続名 |
| t |
対象レポートの名前。次のいずれか:
|
| dt |
|
| v |
|
| Parquetファイル番号 |
|
コストETL接続のディレクトリ構造
<advertiser bucket name>/cost_etl/version/dt=<yyyy-mm-dd>/b=<n>/<dimension>/<file name/<parquet file number>
| 変数 | 内容 |
|---|---|
| advertiser_bucket_name | コストETLの設定で指定した形式:af-xpend-cost-etl-<af-account-id>-[your bucket name suffix] |
| cost_etl | 常にcost_etl |
| version | コストETLのバージョン |
| date |
広告費の日付 形式:yyyy-mm-dd |
| batch | 1~4の数値 |
| dimension |
データのディメンション:
|
| file_name |
|
| Parquetファイル番号 |
|
例:2020年6月23日の初回のデータ取得では、ディレクトリとファイル名は次の構造になります:/bucket-name/cost_etl/v1/dt=2020-06-23/b=1/geo/part-00001
ファイルのフィールド
フィールド/ディメンション
| フィールド | 補足 | 常に値が入るか | 形式 | サマリーファイルに含まれるか |
|---|---|---|---|---|
| ad | 広告階層を構成する項目 | いいえ | 文字列 | - |
| ad_account |
|
いいえ | 文字列 | - |
| ad_id | 広告階層を構成する項目 | いいえ | 文字列 | - |
| adset | 広告階層を構成する項目 | いいえ | 文字列 | - |
| adset_id | 広告階層を構成する項目 | いいえ | 文字列 | - |
| af_bid_strategy | AppsFlyerが対応関係に基づいて共通表記に統一した入札戦略。キャンペーン設定情報を構成する項目。詳細はこちら | いいえ | 文字列 | - |
| af_cost_model | AppsFlyerが対応関係に基づいて共通表記に統一した課金モデル。キャンペーン設定情報を構成する項目。詳細はこちら | いいえ | 文字列 | - |
| agency | 広告配信を担当する代理店 | いいえ | 文字列 | - |
| app_id | AppsFlyer上のアプリID | はい | 文字列 | ✓ |
| bid_amount | キャンペーン設定情報を構成する項目。詳細はこちら | いいえ | 整数 | - |
| bid_strategy | キャンペーン設定情報を構成する項目。詳細はこちら | いいえ | 文字列 | - |
| campaign | 広告階層を構成する項目 | いいえ | 文字列 | - |
| campaign_id | 広告階層を構成する項目 | いいえ | 文字列 | - |
| campaign_objective | キャンペーン設定情報を構成する項目。詳細はこちら | いいえ | 文字列 | - |
| channel | 広告階層のディメンション | いいえ | 文字列 | - |
| cost_model | キャンペーン設定情報を構成する項目。詳細はこちら | いいえ | 文字列 | - |
| currency | AppsFlyerでアプリに設定した、広告主の広告費の通貨 | はい | ISO-4217に準拠した3文字の文字列 | ✓ |
| date | メディアソースが報告した広告費の発生日 | はい | 文字列:yyyy-mm-dd | ✓ |
| geo | 広告階層のディメンション | いいえ | ISO 3166に準拠した2文字の文字列 | ✓ |
| keyword_id | ASAのキーワードID | はい | 文字列 | - |
| keyword_term | ユーザーがオンライン検索で使用した語句 | はい | 文字列 | - |
| media_source | 広告を表示したメディアソース | はい | 文字列 | ✓ |
| original_bid_amount | キャンペーン設定情報を構成する項目。詳細はこちら | いいえ | 整数 | - |
| original_currency | 通貨換算前の、アドネットワークが報告した広告費の通貨 | いいえ | ISO-4217に準拠した3文字の文字列 | - |
| os |
端末のOS。設定される値:
|
はい | 文字列 | - |
| platform | キャンペーンを配信するプラットフォーム(モバイル、タブレット、デスクトップ、CTV) | 全広告費レポートのみ | 文字列 | - |
| site_id | パブリッシャーID | いいえ | 文字列 | - |
| timezone |
|
はい | 文字列 | - |
指標
| フィールド | 補足 | 常に値が入るか | 形式 | サマリーファイルに含まれるか |
|---|---|---|---|---|
| ccvr |
|
整数 | - | |
| clicks |
|
整数 | ✓ | |
| clicks_discrepancy |
|
整数 | - | |
| cost | 広告費の金額(該当する場合は代理店手数料を含む) | 数値 | ✓ | |
| cost_without_fees | 代理店手数料を除いた広告費。 AppsFlyerによる計測値 | はい | 整数 | - |
| cpi |
|
整数 | - | |
| ctr |
|
いいえ | 整数 | - |
| cvr |
|
整数 | - | |
| cvvr |
|
整数 | - | |
| ecpc |
|
整数 | - | |
| ecpm |
|
整数 | - | |
| fees | 通常の広告費に加えて代理店が請求する手数料。 AppsFlyerによる計測値 | はい | 整数 | - |
| impressions |
|
はい。 対象の指標に値がない場合は、0が設定されます。 |
整数 | ✓ |
| impressions_discrepancy |
|
整数 | - | |
| installs | AppsFlyerによる計測値 | 整数 | ✓ | |
| installs_discrepancy |
|
整数 | - | |
| original_cost | アドネットワークが報告した、通貨換算前の通貨による広告費(該当する場合は、AppsFlyerが計算した代理店手数料を加算) | 数値 | - | |
| original_cost_without_fees | アドネットワークが報告した、代理店手数料を含まない元の広告費 | はい | 整数 | - |
| re_attributions | AppsFlyerによる計測値 | 整数 | ✓ | |
| re_engagements | AppsFlyerによる計測値 | 整数 | ✓ | |
| reported_clicks | メディアソースによる計測値 | 整数 | ✓ | |
| reported_conversions | メディアソースによる計測値 | 整数 | ||
| reported_cvr |
|
整数 | - | |
| reported_impressions | メディアソースによる計測値 | 整数 | ✓ | |
| video_25p_views | 動画が25%まで再生された回数。アドネットワークの報告値 | 整数 | - | |
| video_50p_views | 動画が50%まで再生された回数。アドネットワークの報告値 | 整数 | - | |
| video_75p_views | 動画が75%まで再生された回数。アドネットワークの報告値 | 整数 | - | |
| video_completions | アドネットワークの報告値 | 整数 | - |
手順
コストETLの設定
この設定は、管理者が行う必要があります。
事前準備:
コストETLの設定には、以下が必要です。
- AppsFlyerによるデータの書き込みを許可した、設定済みのクラウドサービス。以下のクラウドサービスのうち、1つ以上を設定する必要があります。
- コストETLの設定を完了するための、AppsFlyerの管理者権限と管理画面へのアクセス権。
- AppsFlyerのサイドメニューから[エクスポート]>[コストETL]に移動します。
-
[データ接続]を選択または設定します。
- データ接続を設定済みの場合は、[接続]ドロップダウンから、コストETLで使用する接続を選択します。
- まだデータ接続がない場合は、[+Data Lockerで新しい接続を作成]をクリックし、以下の手順で接続を作成します。
- 接続に名前を付けます。
-
配信先となるクラウドサービスを選択します。次のいずれかの操作を行います。
-
[S3]を選択します。
- AWS S3のバケット名を入力します。先頭の
af-は必須です。手動で入力してください。 - [接続をテスト]をクリックします。
- バケットのパスが無効であるというエラーメッセージが表示されないことを確認します。
- [この接続をAdobe Experience Platformに対応させる]かどうかを選択します。
- [保存]をクリックします。
- コストETLの設定画面で、[接続]ドロップダウンから、作成したクラウドサービスの接続を選択します。
- AWS S3のバケット名を入力します。先頭の
-
[GCS]を選択します。
- GCSバケット名を入力します。
- [接続をテスト]をクリックします。
- バケットのパスが無効であるというエラーメッセージが表示されないことを確認します。
- [この接続をAdobe Experience Platformに対応させる]かどうかを選択します。
- [保存]をクリックします。
- コストETLの設定画面で、[接続]ドロップダウンから、作成したクラウドサービスの接続を選択します。
- [ベータ版][Azure]を選択します。
- 接続名、ストレージアカウント名、キーを入力します。
- バケットのパスが無効であるというエラーメッセージが表示されないことを確認します。
- [この接続をAdobe Experience Platformに対応させる]かどうかを選択します。
- [保存]をクリックします。
- コストETLの設定画面で、[接続]ドロップダウンから、作成したクラウドサービスの接続を選択します。
- [ベータ版][Yandex]を選択します。
- バケット名、アクセスキー、シークレットキーを入力します。
- バケットのパスが無効であるというエラーメッセージが表示されないことを確認します。
- [この接続をAdobe Experience Platformに対応させる]かどうかを選択します。
- [保存]をクリックします。
- コストETLの設定画面で、[接続]ドロップダウンから、作成したクラウドサービスの接続を選択します。
-
[BigQuery]を選択します。
- BigQueryのプロジェクトIDとデータセット名を入力します。
- [接続をテスト]をクリックします。
- バケットのパスが無効であるというエラーメッセージが表示されないことを確認します。
- [保存]をクリックします。
- コストETLの設定画面で、[接続]ドロップダウンから、作成したクラウドサービスの接続を選択します。
-
[Snowflake]を選択します。
- SnowflakeのリージョンとアカウントIDを入力します。
- [接続をテスト]をクリックします。
- バケットのパスが無効であるというエラーメッセージが表示されないことを確認します。
- [保存]をクリックします。
- コストETLの設定画面で、[接続]ドロップダウンから、作成したクラウドサービスの接続を選択します。
-
[S3]を選択します。
- 接続に名前を付けます。
- データ接続を設定済みの場合は、[接続]ドロップダウンから、コストETLで使用する接続を選択します。
-
[次へ]をクリックします。
-
[レポート配信スケジュール(UTC)]を設定します。
- 1日に受信するレポート数(1~4回)を選択します。
- レポートを受信する時刻を選択します。詳細はこちら
- [次へ]をクリックします。
- レポートの詳細を設定します。
- レポートに含めるアプリを1つ以上選択します。今後追加するアプリも自動的に含めるには、[今後追加するすべてのアプリを含める]を選択します。
- 分析の目的に合ったレポートを選択します。各レポートの説明は、レポートの種類を参照してください。
- レポートに含めるディメンションを選択します。注意:国別レポートを選択した場合、geoディメンションはデフォルトで含まれます。チャネル別レポートを選択した場合、channelディメンションはデフォルトで含まれます。
- レポートに含める指標を選択します。
- レポートに含めるアプリを1つ以上選択します。今後追加するアプリも自動的に含めるには、[今後追加するすべてのアプリを含める]を選択します。
- [適用]をクリックします。
接続の編集・変更
接続を編集・変更して、データの配信先を変更したり追加したりできます。
注意:既存の接続に切り替えると、以前のコストETL接続には戻せません。
接続の編集
接続の詳細を編集するには:
- AppsFlyerのサイドメニューから[エクスポート]>[コストETL]に移動します。
- [データ接続]セクションで、次のいずれかの操作を行います。
- 画面の案内に従い、接続の詳細を編集します。
- 表示される案内に従って、[変更を保存]または[適用]をクリックします。
Data Locker接続の変更
別のData Locker接続に切り替えるには:
- AppsFlyerのサイドメニューから[エクスポート]>[コストETL]に移動します。
- [データ接続]セクションで、次のいずれかの操作を行います。
- [変更を保存]をクリックします。
コストETL接続からData Locker接続への変更
事前の確認事項:
- Data Locker接続に切り替えると、以前のコストETL接続には戻せません。
-
Data Locker接続に切り替えると、フォルダーのパス構造が以下の形式に変わります。レポートのデータには影響しません。
<client-bucket>/<DL-generated-partition>/<connection-name>/t=<report-name>/dt=<YYYY-MM-DD>/v=<1/2/3/4>/
非推奨のコストETL接続からData Locker接続に切り替えるには:
AWSのオブジェクト所有権の変更
AWSでは、AppsFlyerがバケットに書き込んだオブジェクトの所有者は、デフォルトでAppsFlyerになります。データの読み込み処理によっては、所有者をバケット所有者であるお客様に変更する必要があります。
バケット内のオブジェクトの所有権を変更するには:
- AWS Management Consoleにログインし、https://console.aws.amazon.com/s3/からAmazon S3コンソールを開きます。
- [バケット]一覧で、S3 Object Ownershipを有効にするバケットの名前を選択します。
- [アクセス許可]タブを開きます。
- [オブジェクト所有者]で、[編集]をクリックします。
- [希望するバケット所有者]を選択します。
- [保存]をクリックします。
推奨事項
レポート配信スケジュール
配信スケジュールを設定すると、必要なタイミングで最新のデータを取得できます。
レポート配信スケジュールを決める際は、以下を考慮してください。
- BIシステムでのデータ処理を開始する時刻に、できるだけ近い受信時刻を選択します。
- 他の媒体より前日分のデータの提供が遅いアドネットワークがある場合は、そのデータが利用可能になる時刻にレポートの配信を追加します。
既存データの上書き
データを取得・分析する際は、特定の日付とバッチのデータを取得するか、現在のバッチに含まれる日付の既存データをすべて上書きすることを推奨します。そうしないと、同じデータが重複して表示される場合があります。
例えば、2月20日のバッチ1には、2月14日~20日のデータが含まれます。一方、2月19日に書き込まれたバッチにも、2月14日~19日のデータが含まれています。 2月19日に受信した過去の日付のデータを、2月20日の最新バッチで受信したデータで上書きしてください。
国別データとチャネル別データ
すべてのディメンションを組み合わせたデータを提供しているとは限らず、対応状況はアドネットワークによって異なります。代表的な例が、Meta広告の地域データとチャネルデータです。このため、2つのデータセットを個別に提供しています。国別データセットには必ず地域データが含まれ、チャネル別データセットには必ずチャネルデータが含まれます。
多くのメディアソースでは、国別とチャネル別のデータセットの内容は同じになります。そのため、目的に適した方のデータセット(国別またはチャネル別)を使用してください。
メディアソースとの連携契約にチャネルが含まれず、channelが空欄の場合も、チャネルを含むデータとして扱います。
データの集計
コストETLは、アドネットワークから取得できる最も詳細な単位まで、柔軟にデータを提供します。大量になる可能性があるデータから施策に役立つ知見を得るため、ビジネスの目的に合った単位で集計することを推奨します。例えば、キャンペーン別・国別に広告費を把握したい場合は、そのディメンションで集計します。
アドネットワーク間でのデータの統一
取得できるデータの詳細度は、アドネットワークによって異なります。例えば、Meta広告はサイトID別の広告費を提供せず、X広告は地域別の広告費を提供しません。コストETLデータを集計する際は、こうした違いを考慮し、アドネットワーク間で比較するデータの条件を揃えてください。
データの比較
コストETLでは、すべての広告費データを確認できます。コストETLに含まれるキャンペーンでも、一部のAppsFlyerダッシュボードには表示されないことがあります。例えば、インストールが記録されていない非アクティブなキャンペーンなどです。比較するには、Overview dashboardで特定のキャンペーンIDを探し、その広告費をコストETLのデータと比較してください。広告費データの利用条件について詳しくはこちら
国別レポートと全広告費レポートの結合
Google、Meta、TikTok(モバイルとモバイル以外)およびその他のメディアソース(モバイルのみ)の、アトリビューションに紐づく広告費データを漏れなく取得するには、以下のクエリを使用します。
with etl as (
select *
from etl
where media_source = 'Facebook Ads'
and date = '2025-07-16'
),
allcost as (
select *
from allcost
where media_source = 'Facebook Ads'
and date = '2025-07-16'
),
main as (
select
case when etl.date is null then 'all cost' else 'cost etl' end as report,
coalesce(etl.date, allcost.date) as date,
coalesce(etl.app_id, allcost.app_id) as app_id,
etl.os,
allcost.platform,
coalesce(etl.media_source, allcost.media_source) as media_source,
coalesce(etl.agency, allcost.agency) as agency,
coalesce(etl.campaign_id, allcost.campaign_id) as campaign_id,
coalesce(etl.campaign, allcost.campaign) as campaign,
coalesce(etl.adset_id, allcost.adset_id) as adset_id,
coalesce(etl.adset, allcost.adset) as adset,
coalesce(etl.ad_id, allcost.ad_id) as ad_id,
coalesce(etl.ad, allcost.ad) as ad,
coalesce(etl.geo, allcost.geo) as geo,
coalesce(etl.channel, allcost.channel) as channel,
coalesce(etl.site_id, allcost.site_id) as site_id,
coalesce(etl.ad_account, allcost.ad_account) as ad_account,
coalesce(etl.keyword_id, allcost.keyword_id) as keyword_id,
coalesce(etl.keywords, allcost.keywords) as keywords,
coalesce(etl.campaign_objective, allcost.campaign_objective) as campaign_objective,
coalesce(etl.af_cost_model, allcost.af_cost_model) as af_cost_model,
coalesce(etl.bid_strategy, allcost.bid_strategy) as bid_strategy,
coalesce(etl.af_bid_strategy, allcost.af_bid_strategy) as af_bid_strategy,
coalesce(etl.currency, allcost.currency) as currency,
coalesce(etl.cost, allcost.cost) as cost,
coalesce(etl.impressions, allcost.impressions) as impressions,
coalesce(etl.clicks, allcost.clicks) as clicks,
coalesce(etl.installs, allcost.installs) as installs,
coalesce(etl.re_attributions, allcost.re_attributions) as re_attributions,
coalesce(etl.re_engagements, allcost.re_engagements) as re_engagements,
coalesce(etl.original_cost, allcost.original_cost) as original_cost,
coalesce(etl.reported_impressions, allcost.reported_impressions) as reported_impressions,
coalesce(etl.reported_clicks, allcost.reported_clicks) as reported_clicks,
coalesce(etl.reported_conversions, allcost.reported_conversions) as reported_conversions,
coalesce(etl.ctr, allcost.ctr) as ctr,
coalesce(etl.cvr, allcost.cvr) as cvr,
coalesce(etl.ecpm, allcost.ecpm) as ecpm,
coalesce(etl.cpi, allcost.cpi) as cpi,
coalesce(etl.ccvr, allcost.ccvr) as ccvr,
coalesce(etl.cvvr, allcost.cvvr) as cvvr,
coalesce(etl.reported_cvr, allcost.reported_cvr) as reported_cvr,
coalesce(etl.install_diff, allcost.install_diff) as install_diff,
coalesce(etl.click_diff, allcost.click_diff) as click_diff,
coalesce(etl.impression_diff, allcost.impression_diff) as impression_diff,
coalesce(etl.ecpc, allcost.ecpc) as ecpc,
coalesce(etl.video_25p_views, allcost.video_25p_views) as video_25p_views,
coalesce(etl.video_50p_views, allcost.video_50p_views) as video_50p_views,
coalesce(etl.video_75p_views, allcost.video_75p_views) as video_75p_views,
coalesce(etl.video_completions, allcost.video_completions) as video_completions
from etl
full join allcost
on etl.date = allcost.date
and etl.app_id = allcost.app_id
and etl.media_source = allcost.media_source
and etl.campaign_id = allcost.campaign_id
and etl.adset_id = allcost.adset_id
and etl.ad_id = allcost.ad_id
and etl.channel = allcost.channel
and etl.geo = allcost.geo
and etl.agency = allcost.agency
and etl.site_id = allcost.site_id
and etl.keyword_id = allcost.keyword_id
),
dedup as (
select *,
row_number() over (
partition by date, media_source, agency, campaign_id, adset_id, ad_id, geo, channel, site_id, keyword_id
order by report desc, cost desc
) as rank_for_dedup
from main
)
select *
from dedup
where rank_for_dedup = 1;
コストETLレポートとコホートレポートの結合
BIシステム上で、コストETLレポートと詳細集計コホートレポート(またはData Locker経由の通常のコホートレポート)を結合することをご検討ください。クリック、インプレッション、広告費、収益、アプリ内イベントなどの最新かつ正確なデータを組み合わせることで、マーケティング成果の全体像を把握できます。結合したデータで、ROASやCPAなどを算出できます。詳細はこちら
補足情報
仕様と制限事項
| 項目 | 補足 |
|---|---|
| タイムゾーン | タイムゾーンを変更すると、変更当日と翌日に広告費データが重複します。詳細はこちら |
| データの更新・反映 |
注意:広告費データがバケットに届いた後、BIシステムへの転送にかかる時間は、レポートやParquetファイルのサイズによって大きく異なります。ファイルサイズは数KBから数GB以上までさまざまです。 |
| 全広告費レポート |
|
| SKANキャンペーンの広告費データ |
|
| CTV・PCアプリへの対応 | コストETLレポートは、PCアプリとCTVアプリに対応していません。 |
| Google Web・Meta Webの広告費データの利用条件 |
全広告費レポートにGoogle Web(pid=googleads_int)とMeta Web(pid=metaweb_int)の広告費データを含めるには、有効な連携にあるGoogle広告(pid=googleadwords_int)とMeta広告(pid=facebook_int)の広告費タブで、広告費の接続を作成する必要があります。これらの接続がない場合、GoogleとMetaのWeb広告費データはレポートに表示されません。 |