Facebook Ads API参数与breakdown兼容性查询及相关工具文档咨询
你当前报错的核心原因是请求的fields仅包含impression这类曝光类指标,无法和action_type这类转化相关的breakdown搭配。以下是两个问题的具体解答:
问题1:参数与breakdown合法组合规则查询方法
- 调用Insights接口时添加
param_validation=strict参数,返回的报错信息会直接给出当前请求上下文(账户权限、API版本、所选fields、时间范围等)下所有合法的breakdown取值、可搭配的fields列表,适配性高于通用规则说明 - 对应版本的Marketing API官方文档Insights模块的Breakdowns章节有明确兼容规则:所有
action_*开头的breakdown,要求请求的fields必须包含至少一项action类指标(例如actions、action_values、cost_per_action_type等),否则会直接触发参数不合法报错 - 通用兼容规则:单次请求最多只能同时使用1个action类breakdown + 1个非action类breakdown,不能同时使用2个及以上action类breakdown
问题2:全量广告数据拉取方案
可以按指标类型拆分拉取任务,保证每个任务的返回结构统一,后续通过关联键合并数据即可,具体方案如下:
- 预校验参数合法性:每次正式拉取前先发起一次
limit=1的测试请求,确认当前fields、breakdown、level、时间范围的组合合法后再发起全量拉取,避免无效请求 - 拆分拉取任务:
- 基础曝光类数据(指标包含impression、reach、frequency、cpm等):仅使用非action类breakdown(即报错提示里给出的ad_format_asset、age、country等取值),单次请求最多可以搭配2个非action类breakdown
- 转化类数据(指标包含actions、action_values、cost_per_action等):必须在fields中包含至少一个action类指标,可以搭配1个action类breakdown + 1个非action类breakdown
- 数据对齐:两类数据通过ad_id、时间维度、受众维度等公共字段做关联,合并为完整的广告数据
如果需要调用action_type的breakdown,把你当前请求的fields修改为fields=impression,actions即可正常返回结果。
内容的提问来源于stack exchange,提问作者lovekesh
相关产品推荐
相关产品推荐

