← 返回目录(入门指南)

Facebook 市场营销 API 参考文档

本文档是 Marketing API 核心对象的完整参考,涵盖 15 个主要 API 对象的字段、端点、参数和错误码。

Ad Account(广告账户)

端点: /act_{ad_account_id}

代表在 Facebook 上创建和管理广告的业务/个人/实体。多人可以以不同访问级别管理一个账户。

广告量查询

查询广告账户中正在投放或审核中的广告数量:

curl -G -d "access_token=<access_token>" \
  "https://graph.facebook.com/v25.0/act_<ad_account_ID>/ads_volume"

限制

限制项普通账户批量账户
最大广告数(未归档/未删除)6,00050,000
最大广告组数6,00010,000
最大广告系列数6,00010,000
最大归档广告数100,000100,000
每账户最多管理人2525

关键字段

字段类型描述
account_id数字字符串广告账户 ID
account_statusint321=ACTIVE, 2=DISABLED, 7=PENDING_RISK_REVIEW, 101=CLOSED
amount_spent数字字符串当前花费
balance数字字符串应付金额
currency字符串ISO 4217 货币代码
name字符串账户名称
spend_cap数字字符串花费上限(0=无上限)
timezone_idint32时区 ID

常见错误码

代码描述
200权限错误
613超出速率限制
190访问口令无效
80004对广告账户的调用过多
3018开始日期超出 37 个月

Campaign(广告系列 — Ad Campaign Group)

端点: /{campaign_id}

广告系列是广告账户中最高级别的组织结构,代表单一业务目标(如提升流量、转化)。设置广告系列目标后,其下所有广告都会受到目标验证。

新必填字段:自 v7.0 起,所有广告系列必须指定 special_ad_categories(特殊广告类别)字段。替代已弃用的 special_ad_category(字符串)。

限制

  • 每个广告系列最多 200 个广告组
  • 如果广告系列有 超过 70 个广告组且使用 CBO(广告系列预算优化),则无法编辑竞价策略或关闭 CBO

关键字段

字段类型描述
id数字字符串广告系列 ID
account_id数字字符串广告账户 ID
bid_strategyenumLOWEST_COST_WITHOUT_CAP, COST_CAP, LOWEST_COST_WITH_MIN_ROAS
buying_type字符串AUCTION(默认)或 RESERVED(覆盖频次)
daily_budget数字字符串单日预算
effective_statusenumACTIVE, PAUSED, DELETED, ARCHIVED, WITH_ISSUES
objective字符串广告系列目标
special_ad_categories数组特殊广告类别(v7.0+)
spend_cap数字字符串花费上限

读取:GET /{campaign_id}

参数类型描述
date_presetenumtoday, yesterday, last_7d, last_30d, maximum 等
time_range对象{'since':'YYYY-MM-DD','until':'YYYY-MM-DD'}

子端点

端点返回类型描述
/adsAdgroup广告系列下的广告
/adsetsAdCampaign广告系列下的广告组
/insightsAdsInsights广告系列的成效分析
/copiesAdCampaignGroup广告系列副本

Ad Set(广告组)

端点: /{ad_set_id}

广告组是一组共享相同预算、排期、竞价和定位数据的广告。

限制

普通账户最大广告组数5,000(未删除)
批量账户最大广告组数10,000(未删除)
每广告组最大广告数50(未归档)

关键字段

字段描述
campaign_id父广告系列 ID
daily_budget / lifetime_budget单日/生命周期预算(账户货币单位)
bid_amount出价金额(美分,JPY/KRW 为基础单位)
bid_strategy竞价策略
billing_event计费事件:APP_INSTALLS, IMPRESSIONS, LINK_CLICKS, THRUPLAY
optimization_goal优化目标
targeting定位对象(地理位置、人口统计等)
promoted_object推广对象
start_time开始时间
end_time结束时间
statusACTIVE, PAUSED, DELETED, ARCHIVED

创建(POST)

curl -X POST \
  -F 'name="My First Adset"' \
  -F 'lifetime_budget=20000' \
  -F 'campaign_id="<AD_CAMPAIGN_ID>"' \
  -F 'bid_amount=100' \
  -F 'billing_event="LINK_CLICKS"' \
  -F 'optimization_goal="LINK_CLICKS"' \
  -F 'targeting={
       "geo_locations": {"countries": ["US"]},
       "publisher_platforms": ["facebook", "audience_network"]
     }' \
  -F 'status="PAUSED"' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/adsets

创建必填参数

参数描述
name广告组名称(最多 400 字符,支持 emoji)
campaign_id 或 campaign_spec现有广告系列 ID 或内联规格
daily_budget 或 lifetime_budget至少一个必须 > 0
targeting定位规格
billing_event计费事件
optimization_goal优化目标
statusACTIVE 或 PAUSED
iOS 14.5 变更:手机应用自定义受众不再支持用于 iOS 14.5 SKAdNetwork 广告系列的包含定位。

Ad(广告 — Adgroup)

端点: /{ad_id}

广告包含要展示的信息,并与广告组关联。同组内的所有广告共享预算、排期和定位。

读取方式

# 按广告 ID
curl -X GET -d 'fields="id,name"' -d 'access_token=<TOKEN>' \
  https://graph.facebook.com/v25.0/<AD_ID>/

# 按广告账户
curl -G -d "fields=name" -d "access_token=<TOKEN>" \
  "https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/ads"

# 按广告系列
curl -X GET -d 'fields="name"' -d 'access_token=<TOKEN>' \
  https://graph.facebook.com/v25.0/<AD_CAMPAIGN_ID>/ads

# 按广告组
curl -F "fields=name" -F "access_token=<TOKEN>" \
  "https://graph.facebook.com/v25.0/<AD_SET_ID>/ads"

关键字段

字段描述
adset_id父广告组 ID
campaign_id父广告系列 ID
creative广告创意对象
configured_statusACTIVE, PAUSED, DELETED, ARCHIVED
effective_status包含 PENDING_REVIEW, DISAPPROVED, WITH_ISSUES
name广告名称
ad_review_feedback审核反馈
recommendations广告建议列表

创建广告

前提:需要已有的广告组和广告创意。

curl -X POST \
  -F 'name="My Ad"' \
  -F 'adset_id="<AD_SET_ID>"' \
  -F 'creative={"creative_id": "<CREATIVE_ID>"}' \
  -F 'status="PAUSED"' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/ads

政治广告需添加 -F 'authorization_category="POLITICAL"'。


Ad Creative(广告创意)

端点: /{creative_id}

广告创意定义广告的布局和内容。可独立创建或作为广告组的一部分。

创建广告创意

curl -X POST \
  -F 'name=Sample Creative' \
  -F 'object_story_spec={
      "page_id": "<PAGE_ID>",
      "link_data": {
        "message": "Check out our new product!",
        "link": "https://www.example.com/product",
        "caption": "Our New Product",
        "picture": "https://www.example.com/image.jpg",
        "call_to_action": {"type": "SHOP_NOW"}
      }
    }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/adcreatives

关键参数(POST)

参数描述
name创意名称
object_story_idFacebook 公共主页帖子 ID
object_story_spec创建新帖子并转为广告(支持 link_data, photo_data, video_data)
image_url托管图片 URL(≤8 MB)
image_hash已上传图片的哈希值
link_url目标链接 URL
call_to_actionCTA 按钮(类型+值)
asset_feed_spec动态创意素材(图片、视频、文案、标题)

文本限制

限制项值
广告标题最大长度(推荐)25 字符
广告正文最大长度(推荐)90 字符
最大 URL 长度1000 字符
单词最大长度(推荐)30 字符

Campaigns 子端点

端点: /act_{id}/campaigns

创建和管理广告账户下的广告系列。

读取

GET /v25.0/act_<AD_ACCOUNT_ID>/campaigns?effective_status=["ACTIVE","PAUSED"]&fields=name,objective

参数:date_preset(预定义日期范围)、effective_status(筛选状态)、is_completed(是否已完成)、time_range(自定义日期范围)。

创建

curl -X POST \
  -F 'name="My campaign"' \
  -F 'objective="OUTCOME_TRAFFIC"' \
  -F 'status="PAUSED"' \
  -F 'special_ad_categories=[]' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/campaigns

创建必填参数

参数描述
name广告系列名称(支持 emoji)
objective目标:APP_INSTALLS, CONVERSIONS, LINK_CLICKS, OUTCOME_TRAFFIC 等
statusACTIVE 或 PAUSED
special_ad_categories特殊广告类别(必填)
bid_strategy竞价策略(v3.0+)
daily_budget/lifetime_budget预算(可设置在广告系列或广告组层级)
spend_cap花费上限(最低 $100 USD)

返回结构

{
  "data": [],      // Campaign 节点列表
  "paging": {},    // 分页信息
  "summary": {}    // 聚合信息(total_count 等)
}

Ad Sets 子端点

端点: /act_{id}/adsets

读取

curl -X GET -G \
  -d 'fields="name,id,status"' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/adsets

查询参数:date_preset、effective_status、is_completed、time_range、updated_since。

创建

curl -X POST \
  -F 'name="My First Adset"' \
  -F 'lifetime_budget=20000' \
  -F 'start_time="2026-05-12T10:45:01-0700"' \
  -F 'end_time="2026-05-22T10:45:01-0700"' \
  -F 'campaign_id="<AD_CAMPAIGN_ID>"' \
  -F 'bid_amount=100' \
  -F 'billing_event="LINK_CLICKS"' \
  -F 'optimization_goal="LINK_CLICKS"' \
  -F 'targeting={
       "facebook_positions": ["feed"],
       "geo_locations": {"countries": ["US"]},
       "publisher_platforms": ["facebook", "audience_network"]
     }' \
  -F 'status="PAUSED"' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/adsets

Ads 子端点

端点: /act_{id}/ads

创建

curl -X POST \
  -F 'name="My Ad"' \
  -F 'adset_id="<AD_SET_ID>"' \
  -F 'creative={"creative_id": "<CREATIVE_ID>"}' \
  -F 'status="PAUSED"' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/ads

创建必填参数

参数必需描述
name是广告名称
adset_id 或 adset_spec是广告组 ID 或内联规格
creative是创意 ID 或规格 JSON
status是ACTIVE 或 PAUSED

SDK 示例

// JavaScript SDK
FB.api("/act_<AD_ACCOUNT_ID>/ads", "POST", {
  "name": "My Ad",
  "adset_id": "<AD_SET_ID>",
  "creative": "{\"creative_id\":\"<CREATIVE_ID>\"}",
  "status": "PAUSED"
}, function (response) { /* handle */ });

Ad Creatives 子端点

端点: /act_{id}/adcreatives

读取

GET /v25.0/act_<AD_ACCOUNT_ID>/adcreatives?fields=name

创建

curl -X POST \
  -F 'name=Sample Promoted Post' \
  -F 'object_story_id=<PAGE_ID>_<POST_ID>' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/adcreatives

关键参数

参数描述
object_story_spec创建新未发布的公共主页帖子并转为广告
object_story_id已有帖子 ID(如已使用,返回现有 creative_id)
image_hash已上传图片哈希
image_url图片 URL(≤8 MB)
call_to_action行动号召按钮
branded_content_sponsor_page_id品牌内容广告的赞助商公共主页 ID

Insights 子端点

端点: /act_{id}/insights

提供广告表现的成效指标。部分指标是估算值或开发中。

iOS 14.5 警告:Facebook 无法再跨 iOS 14.5 和非 iOS 14.5 广告系列聚合非内联转化指标值。内联事件指标(展示次数、链接点击、视频观看)仍可聚合。
date_preset=lifetime 已弃用:自 v10.0 起,请使用 date_preset=maximum。

同步查询

curl -X GET -G \
  -d 'fields="impressions"' \
  -d 'breakdown="publisher_platform"' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v25.0/<AD_SET_ID>/insights

异步报告创建(POST)

POST /act_{ad_account_id}/insights
参数默认值描述
action_attribution_windows["7d_click","1d_view"]操作归因窗口
date_presetlast_30d相对时间范围
fields最常用字段请求的字段
filtering—过滤条件
level—account, campaign, adset, ad
time_range—自定义时间范围

Custom Audiences 子端点

端点: /act_{id}/customaudiences

读取

FB.api("/act_<AD_ACCOUNT_ID>/customaudiences",
  { "fields": "id" }, function (response) { /* handle */ });

参数:business_id(可选过滤器)、pixel_id(按像素代码筛选)、filtering(过滤对象数组)。

限制:每个广告账户最多 500 个自定义受众。


Business(商务管理平台)

端点: /{business-id}

代表 Facebook 上的一个业务实体。

读取

GET /v25.0/{business-id}

关键字段

字段类型描述
name字符串业务名称
primary_pagePage主要 Facebook 公共主页
verification_statusenumverified, pending, not_verified, failed 等
vertical字符串垂直行业
timezone_idint32时区 ID

创建业务

POST /{user_id}/businesses
-F 'name=My Business'

可选参数:email、primary_page、timezone_id、vertical、survey_business_type。

子端点

端点描述
/ad_accounts广告账户
/adspixels可用像素代码
/business_users员工/管理员
/client_pages客户公共主页
/system_users系统用户
/owned_businesses管理的子业务
/instagram_accountsInstagram 账户

Ads Pixel(广告像素代码)

端点: /{ads-pixel-id}

Facebook 像素是一小段 JavaScript 代码,放置在网站的每个页面上。用于捕获网站意图并创建网站自定义受众。

读取

GET /v25.0/{ads-pixel-id}

关键字段

字段描述
code放在网站上的像素代码
name像素名称
owner_business拥有业务的 ID
last_fired_time上次触发时间
enable_automatic_matching是否启用自动高级匹配
creation_time创建时间

创建

POST /v25.0/act_<AD_ACCOUNT_ID>/adspixels
-F 'name=My WCA Pixel'

Custom Audience(自定义受众)

端点: /{custom-audience-id}
2025 年 9 月 2 日起的限制:Meta 将主动限制可能暗示不允许的信息(如健康状况、财务状况)的自定义受众和类似受众。

关键字段

字段描述
approximate_count_lower_bound / _upper_bound受众规模范围
delivery_status投放状态(200=活跃, 300=太小, 400+=不可用)
subtype自定义受众类型
retention_days保留天数(1-180 或永久)
rule受众规则字符串
lookalike_audience_ids由此受众生成的类似受众 ID
operation_status操作状态(含 code 和 description)

操作状态码

code描述
200正常
300受众规模太小
400拒绝访问
401未接受服务条款
402无效的受众
420已删除
430排除的受众
440正在删除
471因完整性政策被标记

System User(系统用户)

端点: /{system-user-id}

系统用户是用于服务器到服务器交互的账户,管理资产和调用营销 API。

读取

GET /v25.0/{system-user-id}

字段

字段描述
name系统用户名称
created_by创建者
created_time创建时间
finance_permission财务权限角色
ip_permission广告权限角色

创建

POST /{business_id}/system_users
-F 'name=My System User'
-F 'role=ADMIN'

可用角色:ADMIN, EMPLOYEE, FINANCE_EDITOR, FINANCE_ANALYST, ADS_RIGHTS_REVIEWER, DEVELOPER 等。

限制:每个商务管理平台有系统用户数量上限(有限访问=1个,完全访问=10个)。

子端点

端点描述
/assigned_ad_accounts已分配广告账户
/assigned_pages已分配公共主页
/assigned_product_catalogs已分配商品目录
/assigned_whatsapp_business_accounts已分配 WhatsApp 业务账户