一步步教您如何使用Facebook Ads API | 最全數據拉回指南

茄子妹妹

發佈時間: 2023-02-28 05:31:01

更新時間: 2023-03-02 05:39:23

一、集成方案介紹

本文將介紹如何通過Facebook Ads Insight API把Facebook廣告數據拉回至自己的本地服務。本方案支持:

將 Facebook 消耗、點擊、展示和激活等基礎報表指標的聚合數據實時 (按小時) 回傳至本地服務器,並按照 Facebook 中各廣告賬號、廣告計劃、廣告組和素材維度分組。

!注意,拉取 Facebook Ads API 數據需要您的服務器在中國大陸以外的地區配置代理

流程

  • 登錄 Meta for Developers 後臺,創建 Business App
  • 生成 Access-Token
  • 獲取 Access-Token,以及需要拉取數據的廣告賬戶 ID 列表
  • 確定數據拉取的維度以及拉取的頻率、拉取頻率以及拉取時間範圍
  • 完成數據拉取開發工作
  • 搭建看板、報表,並完成數據驗收

二、集成前準備工作

2.1創建業務應用

登錄 Meta for Developers 後臺,點擊「Create App」創建應用

選擇「Business」,並點擊「Next」繼續

接下來配置好項目顯示名,點擊「Create app」完成 App 的創建

2.2 獲取 Access Token

選擇您剛剛創建的應用,在「Dashboard」標籤頁配置 Marketing API

接下來,您需要確認您想要拉取數據的廣告賬號的 Facebook 賬號,是否和當前創建 Business App 的 Facebook 賬號是同一個。請根據您的實際情況,選取對應的創建方式生成 Access Token。

1. 如果廣告賬號和 Business App 同屬於一個 Facebook 賬號

  • 登錄 https://business.facebook.com,進入「賬戶」-「應用」,添加一個新的應用。並在「添加資產」中,將需要同步數據的廣告賬號加入到該應用的資產中。另外,如果您已經創建了系統用戶,則可以點擊「添加用戶」,向該系統用戶授權本應用。

  • 如果您沒有創建系統用戶,則進入「用戶」-「系統用戶」,添加一個新的系統用戶,並通過「添加資產」,爲該系統用戶添加上一步創建的應用。

  • 點擊「生成新口令」,選擇之前創建的應用,並在「可用權限」中勾選 read_insights 與 ads_read 權限,創建口令並生成 access token 。

2. 如果廣告賬號和 Business App 的 Facebook 賬號不同

如果您的廣告賬號的 Facebook 賬號和 Developer 的 Facebook 賬號不是同一個,則您需要按照以上流程獲取 Access Token後,再進行如下配置:

  • 使用 Developer 的 Facebook 賬號登錄 https://business.facebook.com,進入「業務設置」-「用戶」-「個人用戶」模塊,確認可看到相應賬戶下資產,即先前創建的應用

  • 點擊「業務設置」-「用戶」-「合作伙伴」,點擊「向其申請資產訪問權限的合作伙伴」處的「添加」按鈕,關聯已有廣告賬戶的 Facebook 賬號。登錄廣告賬戶的 Facebook 賬號並完成授權,即可獲取該賬號下的廣告賬戶的訪問權限

  • 按照“1. 如果廣告賬號和 Business App 同屬於一個 Facebook 賬號”的方法,創建系統用戶併爲資產中添加剛剛完成授權的廣告賬戶,並將需要拉取的廣告賬號授權給該系統用戶(下圖紅框)。接着,點擊「生成新口令」,創建具有 read_insights 與 ads_read 權限的 access token。

三、數據拉取

接口名API 類型產品化數據粒度歸因數據成本數據收益數據展示數據點擊數據轉化數據
洞察 API拉式 否 聚合數據

Ads Insights API 是獲取 Facebook 廣告數據的 API,可以提供多種粒度的廣告聚合指標數據。

1. 涵蓋字段

以下列舉的是 Ads Insights API 提供的部分字段,如需瞭解全量字段,可以訪問官方文檔

    • 指標字段
指標名入庫名含義是否默認
花費amount_spent_usd總花費金額
點擊次數clicks_all總點擊數
行動會返回多個字段,包含以下行爲數據:
- 移動應用購買
- 移動應用購買轉化價值
- 移動應用安裝
- 移動應用會話
- 移動應用註冊完成
- 移動應用級別已完成
- 移動應用自定義事件
- 3秒視頻播放
- 應用激活
- 達到的水平
- 自定義活動
- 頁面參與度
- 訂婚後
- 鏈接點擊次數
- 帖子保存
- 後反應
- 發表評論
- 發佈股票
應用內的行爲與值
action_values會返回多個字段,包含以下行爲數據:
- 移動應用購買
- 移動應用購買轉化價值
- 移動應用安裝
- 移動應用會話
- 移動應用註冊完成
- 移動應用級別已完成
- 移動應用自定義事件
- 3秒視頻播放
- 應用激活
- 達到的水平
- 自定義活動
- 頁面參與度
- 訂婚後
- 鏈接點擊次數
- 帖子保存
- 後反應
- 發表評論
- 發佈股票
應用內的行爲與值
轉化轉化轉化數
conversion_values
conversion_values轉化值
conversion_rate_rankingconversion_rate_ranking轉化率評級
converted_product_quantityconverted_product_quantity
converted_product_quantity_1d_view
converted_product_quantity_7d_click
購買商品轉化數
購買商品轉化數(1日瀏覽歸因窗口期)
購買商品轉化數(7日點擊歸因窗口期)
converted_product_valueconverted_product_value
converted_product_value_1d_view
converted_product_value_7d_click
購買商品轉化金額
購買商品轉化金額(1日瀏覽歸因窗口期)
購買商品轉化金額(1日瀏覽歸因窗口期)
CPPcost_per_1_000_people_reached_usd千人觸達平均花費
cost_per_estimated_ad_recallerscost_per_estimated_ad_recall_lift_people_usd
每次廣告回想平均花費
cost_per_inline_link_clickcost_per_inline_link_click_usd每次站內點擊平均花費
*注:站內意爲點擊後用戶仍在 Facebook 旗下產品中,下同
cost_per_inline_post_engagementcost_per_inline_post_engagement_usd每次貼文互動(Post Engagement)平均花費
cost_per_outbound_clickcost_per_outbound_click_usd每次站外點擊平均花費
*注:站外意爲點擊後用戶跳轉到 Facebook 旗下產品外,下同
cost_per_thruplaycost_per_thruplay_1_day_after_viewing_usd
cost_per_thruplay_7_days_after_clicking_usd
cost_per_thruplay_usd
每次 Thruplay 播放平均花費(1日瀏覽歸因窗口期)
每次 Thruplay 播放平均花費(7日點擊歸因窗口期)
每次 Thruplay 播放平均花費
cost_per_unique_clickcost_per_unique_click_all_usd每次獨立點擊平均花費
cost_per_unique_inline_link_clickcost_per_unique_inline_link_click_usd每次獨立站內點擊平均花費
    • 維度字段
指標名入庫名含義是否默認
campaign_idcampaign_id競選 ID
campaign_namecampaign_nameCampaign 名稱
adset_idad_set_id廣告集 ID
adset_namead_set_nameAd Set 名稱
ad_idad_id廣告 ID
ad_namead_nameAd 名稱
account_idaccount_id廣告賬號 ID
account_nameaccount_name廣告賬號名
account_currency貨幣貨幣種類
客觀客觀投放目的
optimization_goaloptimization_goal優化目標
attribution_settingattribution_setting歸因設置
buying_typebuying_type廣告支出形式

2. 分析粒度

目前支持從以下 5 個粒度拉取數據,請從中選擇您需要接入的數據粒度:

粒度名時間粒度分組層級事件名
小時按小時--廣告層級facebook_ad_level_data_by_hour
國家按天按國家(地區)聚合廣告層級facebook_ad_level_data_by_country
年齡按天按年齡、性別廣告層級facebook_ad_level_data_by_age_gender
小時廣告
不建議使用
按小時--廣告賬號層級facebook_account_level_by_hour
平臺按天按版位廣告層級facebook_ad_level_data_by_platform
hourAd 粒度數據的指標字段與 hour 粒度數據一致,但維度字段要更少,即不包含 campaign、ad set 與 ad 維度字段,因此不建議新增接入該粒度數據

3. 接口參數

時間:可以拉取以天爲單位的數據,單次拉取的時段不能超過30天

4. 入庫規則

  • 由於 Ads Insights API 返回的是聚合數據,因此我們將使用一個固定值作爲其用戶標識,您可以認爲所有數據掛載在一個虛擬用戶上
  • 使用數據中的 date 字段,即數據的日期,設置爲聚合數據的 #event_time
  • 數據的事件名由所選的分析粒度決定
  • 指標字段將以數值類型入庫,其餘字段將以字符串入庫

四、信息收集模版

数据接口: Facebook Ads Insights API 
---------
数据接收地址 push_url: XXX
---------
Facebook Ads 广告账户ID (act_<ACCOUNT_ID>)列表:XXX
Facebook Ads Access Token :XXX
拉取字段筛选(可选):XXX(从拉取字段筛选章节筛选字段)
字段映射配置文件(可选):XXX(CSV文件对入库事件属性名称进行自定义)
---------
历史数据拉取:
第一次拉取,拉取过去 30 天按小时的数据

历史数据拉取时间范围:yyyy/mm/dd - yyyy/mm/dd(仅支持拉取近 90 天的数据)
需要拉取的字段:XXX,XXX
定时拉取:每天 X 点拉取前一天的数据