You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何通过FB API将已保存受众(Saved audience)关联至广告组(AdSet)?

如何通过Facebook Marketing API将已保存受众关联到广告组

我完全懂你的困惑——Ads Manager里点几下就能把Saved Audience绑定到AdSet,但API层面确实没有直接的「关联ID」字段,这是因为两者的实现逻辑不一样,不过换个思路就能解决问题:

核心逻辑:复制已保存受众的定向配置到广告组

Saved Audience本质上是一套预定义好的定向规则(比如兴趣、年龄、自定义受众的组合),API里没有提供直接绑定ID的接口,但你可以先把Saved Audience的定向配置拉出来,再把这套配置直接应用到AdSet上,效果和Ads Manager里的操作完全一致。

具体步骤

  1. 拉取已保存受众的定向参数
    用Saved Audience的ID调用API,获取它的targeting字段——这个字段里包含了该受众所有的定向规则,和你在Ads Manager里看到的设置完全对应。
  2. 将定向参数应用到广告组
    创建新AdSet或者更新现有AdSet时,把刚才获取到的targeting对象赋值给AdSet的targeting参数即可。如果AdSet已有部分定向设置,根据需求选择合并或覆盖。

代码示例(Python SDK)

from facebookads.api import FacebookAdsApi
from facebookads.objects import SavedAudience, AdSet

# 初始化API客户端
FacebookAdsApi.init(
    app_id="你的APP_ID",
    app_secret="你的APP_SECRET",
    access_token="你的ACCESS_TOKEN"
)

# 1. 获取目标Saved Audience的定向配置
saved_audience = SavedAudience(saved_audience_id="你的已保存受众ID")
saved_audience.remote_read(fields=["targeting"])
audience_targeting = saved_audience["targeting"]

# 2. 更新现有AdSet的定向(如果是新建AdSet,用remote_create())
ad_set = AdSet(ad_set_id="你的广告组ID")
ad_set.update({
    AdSet.Field.targeting: audience_targeting,
    # 其他必填参数(如果是新建的话需要,比如campaign_id、预算等)
})
ad_set.remote_update()

额外说明

  • 为什么不能直接用ID绑定?因为Ads Manager的「关联」操作其实是后台帮你自动复制了Saved Audience的定向配置到AdSet,API层面只是把这个手动操作暴露给开发者而已。
  • 如果后续Saved Audience的设置有更新,AdSet的定向不会自动同步,你需要重新拉取最新的配置再更新AdSet。
  • 确保你的API令牌拥有ads_management权限,且Saved Audience和AdSet属于同一个广告账户。

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

火山引擎 最新活动