如何通过Python调用Facebook Insights API获取BM的Results指标
Facebook Insights API 获取BM前台Results指标解决方案
你不需要手动对不同 campaign 目标做字段映射计算Results数值,Insights API提供了action_results字段,返回内容和BM前台展示的「Results」指标完全一致,天然适配所有内置推广目标、自定义转化目标,无需自行处理匹配逻辑。
代码修改方法
仅需要在你原有的fields请求字段列表中新增action_results项即可,修改后的字段列表参考如下:
from facebook_business.api import FacebookAdsApi from facebook_business.adobjects.adaccount import AdAccount access_token = "****" app_secret = "****" app_id = "*****" ad_accounts = [{"name": "***", "id": "act_****"}, {"name": "***", "id": "act_****"}] fields = [ 'reach', 'impressions', 'spend', 'clicks', 'account_id', 'account_name', 'campaign_name', 'campaign_id', 'date_start', 'date_stop', 'objective', 'inline_link_clicks', 'inline_post_engagement', 'inline_link_click_ctr', 'actions', 'estimated_ad_recallers', # 新增该字段即可获取前台对应的Results指标 'action_results' ] params = { # 数据最早可获取到37个月内 'time_range': {'since':'2018-07-05', 'until':'2021-08-02'}, 'filtering': [], 'level': 'campaign', 'breakdowns': [], 'limit': 100000, 'use_unified_attribution_setting': True } for ad_account in ad_accounts: report_campaigns = list(AdAccount(ad_account['id']).get_insights( fields=fields, params=params, ) )
字段解析规则
action_results返回值为列表结构,单优化目标的广告系列仅会返回一条数据,直接取对应value值即为前台展示的Results数值,标准返回结构如下:
[ { "action_type": "offsite_conversion.custom.123456789", "value": "247" } ]
其中action_type为目标标识,自定义转化目标会返回对应自定义事件ID,内置目标会返回对应目标类型;value就是和前台完全一致的Results统计值。多优化目标的广告系列会返回多条对应目标的统计数据,和前台展示逻辑完全对齐。
该字段在v9.0及以上版本的Marketing API均支持,你当前使用的v11.0版本可直接调用,无需调整接口版本。
内容的提问来源于stack exchange,提问作者Ire00
相关产品推荐
相关产品推荐

