You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python按日拉取Facebook广告多维度数据及排查语法错误

问题解决步骤

1. 修复语法错误

报错核心原因是你混用了旧版facebookads和新版facebook_business库,旧版库的方法使用Python关键字async作为参数名,直接触发语法冲突;同时参数格式也存在错误。修复方案:

  • 删除所有facebookads相关导入语句,仅使用官方维护的facebook_business库
  • 将params中的'time_increment': {'1'}改为'time_increment': 1(该参数要求整数类型,1代表按日拆分数据)
  • 移除重复的FacebookAdsApi.init()调用,仅保留一次初始化

2. 获取placement和device维度数据

要获取投放位置(placement)和设备(device)数据,只需在breakdowns参数中添加对应字段:

  • 'placement':返回具体广告投放位置(如Facebook Feed、Instagram Stories等)
  • 'device_platform':返回设备平台类型(如mobile、desktop、tablet);若需更细分信息,可添加'device_os'(操作系统)或'device_type'(设备类型)

修正后的完整代码

from facebook_business.adobjects.adaccount import AdAccount
from facebook_business.adobjects.adsinsights import AdsInsights
from facebook_business.api import FacebookAdsApi
import pandas as pd

# 配置API参数
access_token = 'your_access_token'
ad_account_id = 'act_123456789'
api_version = 'v15.0'

# 初始化API客户端(仅需一次)
FacebookAdsApi.init(access_token=access_token, api_version=api_version)
my_account = AdAccount(ad_account_id)

# 定义需要获取的字段
fields = [
    'campaign_name',
    'adset_name',
    'ad_name',
    'attribution_setting',
    'reach',
    'impressions',
    'frequency',
    'spend',
    'clicks',
    'inline_link_clicks',
    'objective',
    'cpm',
    'date_start',
    'date_stop',
]

# 定义API请求参数,包含age、gender、placement、device维度
params = {
    'time_increment': 1,  # 按日拆分数据
    'filtering': [],
    'level': 'ad',
    'breakdowns': ['age', 'gender', 'placement', 'device_platform'],
    'date_preset': 'last_90d'
}

# 获取广告洞察数据
ads_insights = my_account.get_insights(fields=fields, params=params)

# 转换为DataFrame并打印
fb_ad = pd.DataFrame(ads_insights)
print(fb_ad)

额外说明

  • 若需更细分的设备数据,可将device_platform替换为或添加device_os(返回iOS、Android等)、device_type(返回smartphone、tablet等)
  • 确保API令牌拥有ads_read权限,否则无法获取广告洞察数据
  • 若出现数据缺失,可检查广告账户对应时间段是否有投放数据,或调整level参数(如改为'adset'或'campaign')

内容的提问来源于stack exchange,提问作者user20350073

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 10:30:36