Meta(Facebook)Ads統合プラン
サードパーティデータ統合によって生成されたデータは、クラスターの消費データ量に含まれますのでご注意ください
概要
インターフェースの概要
| インターフェース名 | タイプ | 粒度 | アトリビューション | コスト | 収益 | 表示 | クリック | コンバージョン |
|---|---|---|---|---|---|---|---|---|
| Insights API | API | 集約指標 | ✅ | ✅ | ✅ | ✅ |
Meta(Facebook)は広告データ取得インターフェースFacebook Ads Insights APIを提供しています。このインターフェースを使用すると、Metaで配信した広告の消費額、クリック、表示、アクティベーションなどの基本的なレポート指標を取得できます
統合の流れ
- Meta for Developersの管理画面にログインし、Business Appを作成します
- Access-Tokenを生成します
- AE管理画面にログインし、サードパーティ統合モジュールでMeta (Facebook) Insights APIプランを追加して、関連する設定を完了します
- AEシステムがデータを正常に受信しているかを確認し、レポートを作成します
なお、Facebook Ads APIのデータを取得するには、サーバーが海外にあるか、プロキシが設定されている必要があります。
1. アプリの作成と認証情報の取得
1.1 Business Appの作成
まず、Meta for Developersの管理画面にログインし、「Create App」をクリックしてアプリを作成します
次に、Create an appページでアプリ名と連絡先メールアドレスを入力し、「Next」をクリックして続行します
Use caseページで「Other」を選択し、「Next」をクリックして続行します
Select an app typeページで「Business」を選択し、「Next」をクリックして続行します
最後にアプリの設定情報を確認し、「Create app」をクリックしてAppの作成を完了します
1.2 Access Tokenの取得
アプリの作成が完了したら、次にAccess Tokenを取得する必要があります。作成したアプリを選択し、「Dashboard」タブでMarketing APIを設定します
次に、データを取得したい広告アカウントのFacebookアカウントが、Business Appを作成したFacebookアカウントと同じかどうかを確認する必要があります。実際の状況に応じて、対応する方法でAccess Tokenを生成してください。
1.2.1 広告アカウントとBusiness Appが同じFacebookアカウントに属している場合
- https://business.facebook.comにログインし、「アカウント」-「アプリ」で新しいアプリを追加します。さらに「アセットを追加」で、データを同期する広告アカウントをそのアプリのアセットに追加します。また、システムユーザーをすでに作成している場合は、「ユーザーを追加」をクリックして、そのシステムユーザーにこのアプリへのアクセスを許可できます。
- システムユーザーを作成していない場合は、「ユーザー」-「システムユーザー」で新しいシステムユーザーを追加し、「アセットを追加」から、前の手順で作成したアプリをそのシステムユーザーに追加します。
- 「新しいトークンを生成」をクリックし、先ほど作成したアプリを選択して、「利用可能な権限」でread_insightsとads_readの権限にチェックを入れ、トークン(つまりaccess token)を作成します
1.2.2 広告アカウントとBusiness AppのFacebookアカウントが異なる場合
広告アカウントのFacebookアカウントとDeveloperのFacebookアカウントが同じでない場合は、上記の手順でAccess Tokenを取得したあと、さらに以下の設定を行う必要があります:
- DeveloperのFacebookアカウントでhttps://business.facebook.comにログインし、「ビジネス設定」-「ユーザー」-「個人ユーザー」モジュールに移動して、該当するアカウントのアセット、つまり先ほど作成したアプリが表示されていることを確認します
- 「ビジネス設定」-「ユーザー」-「パートナー」をクリックし、「アセットへのアクセスをリクエストするパートナー」の「追加」ボタンをクリックして、既存の広告アカウントのFacebookアカウントを関連付けます。広告アカウントのFacebookアカウントにログインして認証を完了すると、そのアカウント配下の広告アカウントへのアクセス権限を取得できます
- 1.2.1の方法でシステムユーザーを作成し、認証を完了したばかりの広告アカウントをアセットに追加して、データを取得する広告アカウントをそのシステムユーザーに許可します(下図の赤枠)。次に、「新しいトークンを生成」をクリックし、read_insightsとads_readの権限を持つaccess tokenを作成します
2. プランの設定
Metaプラットフォームでの準備作業が完了したら、AEシステムにログインし、「サードパーティ統合」モジュールで新しいプランの設定を完了します。下図はMeta(Facebook)Insights APIの設定画面です。本章の内容に従ってプランを作成してください
2.1 認証情報の設定
「認証情報」の下にある「認証情報設定」ボタンをクリックし、ポップアップに前の手順で取得した情報を入力します:
補足:
- Ads account ID List:データを取得したい広告アカウントIDです。通常はact_で始まります。複数のアカウントはカンマ','で区切ります
- Access Token:前の節で取得したAccess Token
2.2 定期取得
「定期取得」モジュールで、AEシステムがMeta Insights APIのデータを定期的に取得する方針を設定できます。毎日の特定の時刻に、一定期間のデータを取得するよう選択できます。1回の取得は最大31日間です。取得したデータもデータ量に計上されるため、定期取得で長すぎる期間のデータを取得しないことをお勧めします
2.3 格納設定
データをイベントとして書き込むかどうかを制御できます。オフにすると、データはイベントテーブルに書き込まれなくなるため、この設定はオフにしないでください。
2.4 統合構成
最後に、統合構成モジュールでデータ取得の詳細な設定を制御できます。データの時間集計粒度、取得する指標フィールドとディメンション、格納後のイベント名、さらにカスタムreportTypeとFacebook breakdownのマッピング、カスタムreportTypeとレポートイベントのマッピングなどが含まれます。
統合構成の内容はJSONです。次の内容に従ってカスタム設定できます:
| モジュール | 名前 | 意味 |
|---|---|---|
| sink_event | event_mapping | 格納後のイベント名。カスタマイズ可能なJSON型です。Keyはsource.report_typesに対応し、Valueはそのタイプのデータの格納時のイベント名です (カスタムreport_typeがある場合は、カスタムreport_typeとイベントのマッピングも設定する必要があります) |
| source | report_types | 取得するデータタイプ。リスト型です。ただし、要素は1つだけ入力すること、つまり一度に1つのレポートのデータのみを取得することをお勧めします。country、hour、hourAd、age、platformに標準で対応しています。 他のFacebook breakdownディメンションに拡張する場合は、extra_params.report_breakdown_mapでカスタムreportTypeを設定し、ここに対応するkeyを入力します。 |
| metrics | データ内の指標。リスト型です。データタイプごとに対応するmetricsが異なるため、入力時に注意してください | |
| group_by | データ内のグループ化ディメンション。リスト型です。データタイプごとに対応するgroup_byが異なるため、入力時に注意してください | |
| transfer | double_columns | 数値型に変換されるフィールド。通常は指標フィールドの格納時のフィールド名に対応します |
| extra_params | report_breakdown_map | カスタムreportTypeとFacebook APIパラメータのマッピング。KeyはreportTypeで、Valueにはlevelとbreakdownsが含まれます。 |
調整が必要な場合は、まずsource.report_types、つまり取得するデータのタイプを決めることをお勧めします
現在、AEシステムは以下の5種類のデータタイプに対応しています。データタイプによって粒度も分析ディメンションも異なります:
| データタイプ | デフォルト | 時間粒度 | グループ | 最も細かい広告階層 |
|---|---|---|---|---|
| hour | 時間単位 | - | 広告階層 | |
| country | 日単位 | 国(地域)単位で集計 | 広告階層 | |
| age | 日単位 | 年齢・性別単位 | 広告階層 | |
非推奨 | 時間単位 | - | 広告アカウント階層 | |
| platform | はい | 日単位 | 配置単位 | 広告階層 |
hourAd粒度のデータの指標フィールドはhour粒度のデータと同じですが、ディメンションフィールドが少なく、campaign、ad set、adのディメンションフィールドが含まれません。そのため、この粒度のデータを新たに統合することはお勧めしません
上記の組み込みデータタイプのほか、extra_params.report_breakdown_mapを使用してカスタムreportTypeを拡張することもできます。
- 指標フィールド
指標フィールドは設定のsource.metricsに対応します。デフォルトでは一部の常用指標のみを取得します。以下はAds Insights APIが提供するフィールドの一部です。すべてのフィールドについては公式ドキュメントを参照してください。調整が必要な場合は、必要な指標の指標名をsource.metricsに記述してください
| 指標名 | 格納名 | 意味 | デフォルトかどうか |
|---|---|---|---|
| spend | amount_spent_usd | 総消費額 | はい |
| clicks | clicks_all | 総クリック数 | はい |
actions | 複数のフィールドを返します。以下の行動データが含まれます:
| アプリ内の行動と値 | はい |
action_values | |||
| conversion_values | conversion_values | コンバージョン値 | はい |
| conversion_rate_ranking | conversion_rate_ranking | コンバージョン率ランキング | |
converted_product_quantity | converted_product_quantity | 購入商品のコンバージョン数 | |
| converted_product_quantity_1d_view | 購入商品のコンバージョン数(1日ビューアトリビューション期間) | ||
| converted_product_quantity_7d_click | 購入商品のコンバージョン数(7日クリックアトリビューション期間) | ||
converted_product_value | converted_product_value | 購入商品のコンバージョン金額 | |
| converted_product_value_1d_view | 購入商品のコンバージョン金額(1日ビューアトリビューション期間) | ||
| converted_product_value_7d_click | 購入商品のコンバージョン金額(7日クリックアトリビューション期間) | ||
| cpp | cost_per_1_000_people_reached_usd | リーチ1,000人あたりの平均費用 | はい |
| cost_per_estimated_ad_recallers | cost_per_estimated_ad_recall_lift_people_usd | 推定広告想起1回あたりの平均費用 | |
| cost_per_inline_link_click | cost_per_inline_link_click_usd | サイト内クリック1回あたりの平均費用 *注:サイト内とは、クリック後もユーザーがFacebook傘下の製品内にとどまることを指します。以下同様 | |
cost_per_inline_post_engagement | cost_per_inline_post_engagement_usd | 投稿のエンゲージメント(Post Engagement)1回あたりの平均費用 | |
| cost_per_outbound_click | cost_per_outbound_click_usd | サイト外クリック1回あたりの平均費用 *注:サイト外とは、クリック後にユーザーがFacebook傘下の製品外に移動することを指します。以下同様 | |
cost_per_thruplay | cost_per_thruplay_1_day_after_viewing_usd | Thruplay再生1回あたりの平均費用(1日ビューアトリビューション期間) | |
| cost_per_thruplay_7_days_after_clicking_usd | Thruplay再生1回あたりの平均費用(7日クリックアトリビューション期間) | ||
| cost_per_thruplay_usd | Thruplay再生1回あたりの平均費用 | ||
| cost_per_unique_click | cost_per_unique_click_all_usd | ユニーククリック1回あたりの平均費用 | |
| cost_per_unique_inline_link_click | cost_per_unique_inline_link_click_usd | ユニークサイト内クリック1回あたりの平均費用 | |
| cost_per_unique_outbound_click | cost_per_unique_outbound_click_usd | ユニークサイト外クリック1回あたりの平均費用 | |
| cpc | cpc_all_usd | CPC | はい |
| cpm | cpm_cost_per_1_000_impressions_usd | CPM | はい |
| ctr | ctr_all | 総クリック率 | はい |
| ctr_link_click_through_rate | リンクのクリック率 | はい | |
| engagement_rate_ranking | engagement_rate_ranking | エンゲージメント率ランキング | |
| estimated_ad_recallers | estimated_ad_recall_lift_people | 推定広告想起人数 | |
| estimated_ad_recall_rate | estimated_ad_recall_lift_rate | 推定広告想起率 | |
| frequency | frequency | 平均視聴回数 | はい |
| impressions | impressions | 露出数 | はい |
| inline_link_clicks | inline_link_clicks_in_ad | サイト内クリック数 | |
| inline_link_click_ctr | inline_link_ctr_usd | サイト内クリック率 | |
| inline_post_engagement | inline_post_engagement_in_ad | 投稿のエンゲージメント数 | |
| instant_experience_clicks_to_open | instant_experience_clicks_to_open | インスタントエクスペリエンス広告のクリック数 | |
| instant_experience_clicks_to_start | instant_experience_clicks_to_start | インスタントエクスペリエンス広告の起動数 | |
| canvas_avg_view_percent | instant_experience_view_percentage | インスタントエクスペリエンス広告の露出率 | |
| canvas_avg_view_time | instant_experience_view_time | インスタントエクスペリエンス広告の平均閲覧時間 | |
| outbound_clicks | outbound_clicks | サイト外クリック数 | |
| outbound_clicks_ctr | outbound_ctr_click_through_rate | サイト外クリック率 | |
| quality_ranking | quality_ranking | 品質ランキング | |
| reach | reach | リーチ数 | はい |
video_avg_time_watched_actions | video_average_play_time | 動画の平均再生時間 | |
| video_average_play_time_1_day_after_viewing | 動画の平均再生時間(1日ビューアトリビューション期間) | ||
| video_average_play_time_7_days_after_clicking | 動画の平均再生時間(7日クリックアトリビューション期間) | ||
| video_average_play_time_on_ad | 動画の平均再生時間(広告のみ) | ||
| video_play_curve_actions | video_play_curve_actions | 動画再生時間カーブの区分 | |
video_play_actions | video_plays | 動画再生数 | |
| video_plays_1_day_after_viewing | 動画再生数(1日ビューアトリビューション期間) | ||
| video_plays_7_days_after_clicking | 動画再生数(7日クリックアトリビューション期間) | ||
| video_p100_watched_actions | video_plays_at_100 | 動画の完全再生率 | |
| video_p25_watched_actions | video_plays_at_25 | 動画の25%再生率 | |
| video_p50_watched_actions | video_plays_at_50 | 動画の50%再生率 | |
| video_p75_watched_actions | video_plays_at_75 | 動画の75%再生率 | |
| video_p95_watched_actions | video_plays_at_95 | 動画の95%再生率 | |
| website_ctr | website_ctr | ウェブサイトのクリック率 |
- ディメンションフィールド
ディメンションフィールドは設定のsource.group_byに対応します。ただし、データレポートタイプ(source.report_types)が計算時の分析粒度を決定し、ディメンションフィールドはそれらのフィールドを表示するかどうかしか決定できないため、一部のディメンションは特定のデータレポートタイプでは使用できません。調整が必要な場合は、必要なディメンションのディメンション名をsource.group_byに記述してください
| ディメンション名 | 格納名 | 意味 | デフォルトかどうか |
|---|---|---|---|
| campaign_id | campaign_id | Campaign ID | はい |
| campaign_name | campaign_name | Campaign名 | はい |
| adset_id | ad_set_id | Ad Set ID | はい |
| adset_name | ad_set_name | Ad Set名 | はい |
| ad_id | ad_id | Ad ID | はい |
| ad_name | ad_name | Ad名 | はい |
| account_id | account_id | 広告アカウントID | はい |
| account_name | account_name | 広告アカウント名 | はい |
| account_currency | currency | 通貨の種類 | はい |
| objective | objective | 配信目的 | |
| optimization_goal | optimization_goal | 最適化目標 | |
| attribution_setting | attribution_setting | アトリビューション設定 | |
| buying_type | buying_type | 広告の購入タイプ |
2.5 イベントの格納ルール
-
データ内のdateフィールド、つまりデータの日付を、集計データの#event_timeとして設定します
-
データレポートタイプごとのイベント名は次のとおりです:
- country: facebook_ad_level_data_by_country
- hour:facebook_ad_level_data_by_hour
- hourAd:facebook_account_level_by_hour
- age:facebook_ad_level_data_by_age_gender
- platform:facebook_ad_level_data_by_platform
-
指標フィールドは数値型で格納され、その他のフィールドは文字列として格納されます
カスタムreportTypeを使用する場合、イベント名はsink_event.event_mappingで対応するreportTypeに設定した値によって決まります。たとえば、deviceはfacebook_ad_level_data_by_deviceと設定できます。
2.6 標準化フィールド
| 元フィールド | 標準化フィールド | 意味 |
|---|---|---|
| account_id | te_ads_object.ad_account_id | 広告アカウントID |
| campaign_name | te_ads_object.campaign_name | 広告キャンペーン名 |
| campaign_id | te_ads_object.campaign_id | 広告キャンペーンID |
| adset_name | te_ads_object.ad_group_name | 広告グループ名 |
| adset_id | te_ads_object.ad_group_id | 広告グループID |
| ad_name | te_ads_object.ad_name | 広告名 |
| ad_id | te_ads_object.ad_id | 広告ID |
| account_currency | te_ads_object.currency | コストまたは収益の通貨 |
| impressions | te_ads_object.impressions | 露出数 |
| clicks_all | te_ads_object.clicks | クリック数 |
| amount_spent_usd | te_ads_object.cost | ユーザー獲得コスト |

