概要:Data Locker(定期および詳細集計)によるコストETLとコホートレポートを組み合わせることで、マーケティングキャンペーンの全体像を最高の鮮度、精度、粒度で把握できます。
コストETLレポートとコホートレポートの組み合わせについて
コストETLレポートとData Locker経由のコホートレポート(レギュラーおよびアドバンスト集計)には、それぞれ独自の特性があります。例えば、コストETLレポートにはインプレッション、クリック、コストのデータが含まれ、コホートレポートには詳細なアトリビューション、アプリ内イベント、収益データが含まれます。
ベストプラクティスは、コストETLと集計コホートレポートが受信され、BIシステムにロードされたら、それらを内部BIで組み合わせることです。
これらを組み合わせると、次のようになります。
- マーケティングパフォーマンスの全体像を、利用可能な最高の鮮度、精度、粒度で提供します。
- 内部BIをAppsFlyer管理画面に表示されるデータと一致させます。
- 広告費用対効果(ROAS)やアクション単価(CPA)などの重要な指標を計算できます。
レポートを組み合わせるためのクエリ
以下のセクションでは、コストETLレポートを以下と組み合わせる際に考慮しなければならないクエリおよび考慮事項について説明します。
コストETLとアドバンス集計コホートレポートを組み合わせるクエリ
コストETLレポートとコホートレポートを組み合わせるには、BI開発者は次のことを行う必要があります:
- 次のクエリをガイドとして使用し、内部 BI に合わせてカスタマイズします。
-
重要な考慮事項:
- クエリを調整します。
- 開始日と終了日をカスタマイズします。
- レポート名をカスタマイズします。
- 特定のコストETLスキーマのディメンションとメトリクスを選択します。
- レポートの鮮度には違いがあります。たとえば、コストETL は 1 日に最大 4 回更新され、アドバンス集計コホートレポートは 1 日に複数回更新されます。
- 詳細な集計コホート レポートには、過去 1,095 日間にコンバージョンしたユーザーが含まれます。それ以前にコンバージョンした場合、そのコンバージョンは考慮されません。
- コストETLレポートは、AppsFlyerによって保存されているデータのタイムゾーンを使用します。高度な集計コホート レポートには、バージョン管理された (UTC) レポートとバージョン管理されたタイムゾーン レポートが含まれます。ベストプラクティス :コストETLとコホートタイムゾーンバージョン管理レポートを組み合わせます。
- クエリを調整します。
クエリ
select ag.app_id,
ag.days_post_attribution,
ag.conversion_date,
ag.event_date,
ag.event_name,
ag.media_source,
ag.campaign,
ag.campaign_id,
ag.adset,
ag.adset_id,
ag.ad,
ag.ad_id,
ag.channel,
ag.site_id,
ag.keywords,
ag.geo,
ag.agency,
ag.selected_currency as revenue_currency,
ag.timezone as cohort_timezone,
cst.timezone as cost_timezone,
cst.os,
cst.ad_account,
cst.currency as cost_currency,
cst.original_currency as cost_original_currency,
cost,
original_cost,
impressions as impressions,
clicks,
reported_impressions,
reported_clicks,
reported_conversions,
ctr,
cvr,
ecpm,
cpi,
ccvr,
cvvr,
reported_cvr,
install_diff,
click_diff,
impression_diff,
ecpc,
video_25p_views,
video_50p_views,
video_75p_views,
video_completions,
campaign_objective,
cost_model,
af_cost_model,
bid_strategy,
af_bid_strategy,
bid_amount,
original_bid_amount,
SUM(cast(ag.revenue_selected_currency as double)) as revenue_selected_currency,
SUM(cast(ag.revenue_usd as double)) as revenue_usd,
SUM(cast(ag.unique_users as int)) as unique_users,
SUM(cast(ag.first_inapps as int)) as first_inapps,
SUM(cast(ag.event_count as int)) as event_count,
coalesce(SUM(cast(case when ag.event_name = 'af_conversion' and ag.conversion_type = 'install' then ag.event_count end as int)),0) as installs,
coalesce(SUM(cast(case when ag.event_name = 'af_conversion' and ag.conversion_type = 're-engagement' then ag.event_count end as int)),0) as re_engagements,
coalesce(SUM(cast(case when ag.event_name = 'af_conversion' and ag.conversion_type = 're-attribution' then ag.event_count end as int)),0) as re_attribution
FROM {YOUR_ADVANCED_AGG_REPORT} as ag
LEFT JOIN {YOUR_COST_ETL_REPORT} as cst
ON ag.event_name = 'af_conversion'
and ag.conversion_date = cst.date
and ag.app_id = cst.app_id
and ag.media_source = cst.media_source
and ag.campaign = cst.campaign
and ag.campaign_id = cst.campaign_id
and ag.adset = cst.adset
and ag.adset_id = cst.adset_id
and ag.ad = cst.ad
and ag.ad_id = cst.ad_id
and ag.channel = cst.channel
and ag.site_id = cst.site_id
and ag.keywords = cst.keywords
and ag.geo = cst.geo
and ag.agency = cst.agency
WHERE ag.conversion_date between {start date} and {end date}
and cst.date between {start date} and {end date}
GROUP BY ALL;
コストETLとコホートレポートを組み合わせるためのクエリ
コストETLレポートとコホートレポートを組み合わせるには、BI開発者は次のことを行う必要があります:
- 次のクエリをガイドとして使用し、内部 BI に合わせてカスタマイズします。
-
重要な考慮事項:
- クエリを調整します。
- 開始日と終了日をカスタマイズします。
- レポート名をカスタマイズします。
- 特定のコストETLスキーマのディメンションとメトリクスを選択します。
- レポートの鮮度には違いがあります。たとえば、コストETLは 1 日に最大 4 回更新され、Data Locker経由のコホート レポートは 1 日に 1 回更新されます。
- コストETLレポートは、AppsFlyerによって保存されているデータのタイムゾーンを使用します。Data Locker経由のコホート レポートではUTCが使用されます。
- クエリを調整します。
クエリ
select dl.app_id,
dl.days_post_attribution,
dl.conversion_date,
dl.event_date,
dl.event_name,
dl.media_source,
dl.campaign,
dl.campaign_id,
dl.adset,
dl.adset_id,
dl.ad,
dl.ad_id,
dl.channel,
dl.site_id,
dl.keywords,
dl.geo,
dl.agency,
dl.selected_currency as revenue_currency,
cst.timezone as cost_timezone,
cst.os,
cst.ad_account,
cst.currency as cost_currency,
cst.original_currency as cost_original_currency,
cost,
original_cost,
impressions as impressions,
clicks,
reported_impressions,
reported_clicks,
reported_conversions,
ctr,
cvr,
ecpm,
cpi,
ccvr,
cvvr,
reported_cvr,
install_diff,
click_diff,
impression_diff,
ecpc,
video_25p_views,
video_50p_views,
video_75p_views,
video_completions,
campaign_objective,
cost_model,
af_cost_model,
bid_strategy,
af_bid_strategy,
bid_amount,
original_bid_amount,
SUM(cast(dl.revenue_selected_currency as double)) as revenue_selected_currency,
SUM(cast(dl.revenue_usd as double)) as revenue_usd,
SUM(cast(dl.unique_users as int)) as unique_users,
SUM(cast(dl.event_count as int)) as event_count,
coalesce(SUM(cast(case when dl.event_name = 'af_conversion' and dl.conversion_type = 'install' then dl.event_count end as int)),0) as installs,
coalesce(SUM(cast(case when dl.event_name = 'af_conversion' and dl.conversion_type = 're-engagement' then dl.event_count end as int)),0) as re_engagements,
coalesce(SUM(cast(case when dl.event_name = 'af_conversion' and dl.conversion_type = 're-attribution' then dl.event_count end as int)),0) as re_attribution
FROM {YOUR_DATA_LOCKER_REPORT} as dl
LEFT JOIN {YOUR_COST_ETL_REPORT} as cst
ON dl.event_name = 'af_conversion'
and dl.conversion_date = cst.date
and dl.app_id = cst.app_id
and dl.media_source = cst.media_source
and dl.campaign = cst.campaign
and dl.campaign_id = cst.campaign_id
and dl.adset = cst.adset
and dl.adset_id = cst.adset_id
and dl.ad = cst.ad
and dl.ad_id = cst.ad_id
and dl.channel = cst.channel
and dl.site_id = cst.site_id
and dl.keywords = cst.keywords
and dl.geo = cst.geo
and dl.agency = cst.agency
WHERE dl.conversion_date between {start date} and {end date}
and cst.date between {start date} and {end date}
GROUP BY ALL;