预订方案

预订方案可提供经过优化的覆盖人数,会对广告的展示频次实施控制,同时帮助您预测广告系列的表现,因此让您能以固定费用规划和购买广告系列。这类似于传统的电视广告购买方式。这是一种专用的高级购买方案,大部分广告主仅在想要高度确保广告能够覆盖特定数量的帐户管理中心帐户时使用这种方案。

预订方案适用于各种广告类型和设备。Meta 的广告定位功能以真实的人为基础,而非以 Cookie 为基础,因此我们能够更加准确地预测覆盖人数并控制广告在不同设备中的展示频次。

限制

  • 仅面向特定广告帐户开放。请查看广告帐户的 CAN_USE_REACH_AND_FREQUENCY 参数。
  • 广告组的 stop_time 必须在预估的 180 天以内。
  • 帐户还有国家/地区限制;通过向 https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>?fields=rf_spec 发出 GET API 调用,可查看限制详情。
  • target_spec 中,一次只能设置一个国家/地区。
  • user_os 没有最低 iOS 版本要求,如 iOS_ver_2.0_and_above
  • 在创建或更新预订广告系列时,您不能设置总预算或单日预算、总展示次数或单日展示次数限制、频次上限或外部竞价,抑或字段 PacingType

搜索 rf_spec,了解适用的限制:

名称 描述

countries

数组

支持预订方案的国家和地区

min_campaign_duration

对象

在每个支持的国家/地区中,广告系列的最短投放时长,以天为单位

max_campaign_duration

对象

在每个支持的国家/地区中,广告系列的最长投放时长,以天为单位

max_days_to_finish

对象

在每个支持的国家/地区中,预测广告系列可以提前结束的天数

min_reach_limits

对象

在每个支持的国家/地区中,对于帐户管理中心帐户覆盖数量的最低要求

结果如下所示:

{
  "rf_spec": {
    "min_reach_limits": {
      "US": 1000000,
      "CA": 1000000,
    },
    "countries": [
      "US",
      "CA",
    ],
    "min_campaign_duration": {
      "US": 3,
      "CA": 3,
    },
    "max_campaign_duration": {
      "US": 30,
      "CA": 30,
    },
    "max_days_to_finish": {
      "US": 56,
      "CA": 56,
    }
  }
}

创建预估

预估包含广告根据特定的覆盖人数、频次、受众和预算,在某个日期范围内能够覆盖的帐户管理中心帐户数量。预订预估可帮助您模拟广告系列的总成效,并会根据您的目标、预算、受众、格式和版位、品牌安全、表现目标和频次控制设置进行调整。

支持在预订后编辑预订广告系列。但是,该广告系列一旦投放,便无法编辑或暂停,除非更换广告创意。如果只编辑广告创意,则预估数据不会改变。您可以通过删除该广告系列来取消和停止该系列,但是您将需要重新预订该系列,届时您可能会收到新的千次展示费用和有关该广告系列成效的预估数据。请仅预订您想要投放的广告系列。**如果是进行测试,请将预订限制为最小规模和最短时长;确保取消预订,因为我们为您预留的是真实广告库存。

限制

预估的默认限制如下:

  • 至少 30 万个帐户管理中心帐户的目标受众。
  • 最少 20 万个帐户管理中心帐户的覆盖数量。
  • 广告组的投放天数必须至少为 1 天,至多为 90 天(根据广告系列投放跨越的天数计算天数。举例而言,如果广告系列在第 1 天的中午 12:00 开始投放,在第 2 天的上午 10:00 结束投放,尽管两个时间之间的差值不足 24 小时,但广告系列的投放天数为 2 天)
  • 广告组的停止时间必须在预估的 180 天以内。
  • 广告系列的投放必须在广告帐户时区的最后一天早上 6 点以后结束。

读取预估数据

如需获取详情,请指定字段。如要查看一个帐户的所有 reachfrequencyprediction,请向 https://graph.facebook.com/{API_VERSION}/act_{AD_ACCOUNT_ID}/reachfrequencypredictions?fields={COMMA_SEPERATED_FIELD_LIST} 发出 HTTP GET 请求。

如要根据 reachfrequencyprediction 编号获取所有 reachfrequencyprediction,请发出 HTTP GET 请求并添加您需要的字段https://graph.facebook.com/{API_VERSION}/{RF_PREDICTION_ID}?fields={COMMA_SEPERATED_FIELD_LIST}

默认情况下,Meta 会返回该编号。如需获取字段详情,请参阅“预订预估”下的“读取”部分

响应状态代码

下方列出了 reachfrequencyprediction 中可能的 status 结果。适用时会显示初始限制,但今后,每个广告帐户或国家/地区的初始限制可能会有所不同:

代码 状态 描述

1

SUCCESS

预估成功

2

PENDING

预估还在进行中

3

FAIL

无法覆盖受众。覆盖人数太多或预算太高。

4

FAIL

预估设置(如时长)无效

5

FAIL

targeting_spec 无效

6

FAIL

覆盖特定受众的预算或竞价太低

7

FAIL

广告组投放时长太短

8

FAIL

广告组投放时长太长

9

FAIL

广告组的结束日期在未来很久以后

10

FAIL

未指定频次上限

11

FAIL

不支持广告版位,如混合使用右边栏屏幕 (RHS) 和动态版位

12

FAIL

广告组日期问题(开始时间和/或结束时间):开始时间在过去、不是午夜,或不是完整的一天。结束时间在过去、距离开始时间超过 90 天,或未在早上 6 点以后结束。

13

FAIL

尚不支持目标国家/地区

14

FAIL

广告组日期包括限制日期

15

FAIL

库存不足,无法预订。请参阅关于预订预估数据的内容。

16

FAIL

未达到帐户要求的最少覆盖人数。请参阅关于获取帐户限制的内容

17

FAIL

此预估可用的实际覆盖人数小于目标国家/地区的最少覆盖人数,对于大部分国家/地区而言,最少覆盖人数通常是 200,000 人。

18

FAIL

提供的投放时段排期无效。

19

FAIL

无法达到目标千次展示费用。

20

FAIL

混合投放的频次上限太低

21

FAIL

广告库存出现重大变化,导致预估数据不准确。

23

FAIL

目标国家/地区不支持频次上限间隔。

24

FAIL

帐户或广告系列版本库下的提升调研对照广告组与预订预估数据不一致。

25

FAIL

频次上限不能超过广告系列投放的天数。

26

FAILURE_EMPTY_AUDIENCE

选定的受众为空且无法使用。

27

FAIL

不允许修改投放中的广告系列。

28

FAIL

无法修改通过广告订单创建的投放中的广告系列。

29

FAIL

由于时间限制,无法修改投放中的广告系列。

30

FAIL

要编辑投放中的预订广告组,请选择高于当前花费的预算。

31

FAIL

帐户或广告系列版本库中的提升调研将在广告系列开始投放后开始。

32

FAIL

帐户或广告系列版本库中的提升调研将在广告系列结束投放前结束。

35

FAIL

无法将预订广告系列的开始时间设为过去时间。

36

FAIL

请确保预订广告组的投放期超过一天,且广告系列的开始/结束时间有效。

37

FAIL

Audience Network 预订购买类型不支持此目标。

39

FAIL

所选的版位组合无法与预订购买类型同时使用。

40

FAIL

预订购买类型不支持定位特定的移动操作系统版本。

41

FAIL

预订购买类型不支持定位关系网络内用户的好友。

42

FAIL

仅选择 Audience Network 一个版位时,无法投放预订广告系列。在选择 Audience Network 版位的同时,请再选择 Facebook 动态或 Instagram 动态版位。

44

FAIL

预订不支持 Facebook 快拍。

45

FAIL

如要使用 Facebook 快拍版位,请同时选择 Facebook 动态或 Instagram 快拍版位。

50

FAIL

所选的版位组合无法与预订购买类型同时使用。如要使用预订类型的广告订单购买,请确保目标是视频观看量。另外,如要使用 Facebook 视频插播广告,请选择 Facebook 动态版位。

53

FAIL

视频插播位仅适用于以下国家的受众:美国、英国、澳大利亚、新西兰、爱尔兰、泰国、墨西哥、秘鲁、法国、德国、阿根廷、哥伦比亚、西班牙、智利、厄瓜多尔、多米尼加共和国、危地马拉、玻利维亚、洪都拉斯、萨尔瓦多、挪威、瑞典、荷兰、比利时、波兰、葡萄牙、丹麦、印度、马来西亚、菲律宾、印度尼西亚和越南。如要继续,请将受众设为仅包含上述国家的用户。

60

FAIL

如要使用 Facebook Marketplace,请选择 Facebook 动态版位。

66

FAIL

Facebook 右边栏版位不能与其他版位结合使用。

69

FAIL

如果希望广告展示在 Instagram 的“发现”版块,您还需要选择 Instagram 动态版位。

100+

FATAL

系统故障,非用户失误。请重试。

使用预估数据

输入内容时提供预估编号及其数据,以创建新编号并以此作为预订编号,然后将此预订编号附加至广告组中。创建预订会让他人无法使用库存,因此您应该在预订过期之前将其附加至广告组。

如果预订成功,我们将暂时为您保留库存。预订后,您需要在大约一个小时内将广告分配给广告组。

如果超过了预订请求的每小时限制,您将看到以下错误代码和消息:613:对此 API 的调用已超过流量限制。

预订

您可以为广告组预订预估数据,以锁定价格并获得可预测的覆盖人数。通过将 action 设置为 reserve,在一段固定时间内预订通过 reachfrequencyprediction 确定的受众。您可以使用一个预估编号创建多个预订。例如:

curl \
-F 'action=reserve' \
-F 'rf_prediction_id=<RF_PREDICTION_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
'https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/reachfrequencypredictions'
 
// Response 
{"id":9876543210"}

如要根据预估数据预订库存,请向 https://graph.facebook.com/{API_VERSION}/act_{AD_ACCOUNT_ID}/reachfrequencypredictions 发出 POST API 调用。

对于 reachbudgetimpression,您可以预订 curve_budget_reach 上特定点的预估数据,而非预估覆盖人数/预算的原始元组。使用以下字段:

名称 描述

rf_prediction_id

整数

必要。

reachfrequencyprediction 编号

action

字符串

预订和取消的必要项。

选项包括:

  • reserve - 通过之前的预估数据预订库存
  • cancel - 取消预订的预估数据

rf_prediction_id_to_release

整数

可选。

预订的预估编号或预订编号。新的预订将释放一组预订的受众,并将其用于新的预订。请参阅重复使用预订的受众

rf_prediction_id_to_share

整数

可选。

之前所创建预估的编号。新预估将使用来自特定预估的受众。


注意:rf_prediction_id_to_share 必须设为有效的预估编号,才能使用 TRAFFIC 目标或 POST_ENGAGEMENTLINK_CLICKS 优化。详情请参阅更新日志

reach

整数

可选。如指定,提供 budgetimpression

指定 curve_budget_reach 上对应点的 reachbudgetimpression。您可以覆盖此值。

budget

整数

可选。如指定,提供 reachimpression

指定 curve_budget_reach 上对应点的 reachbudgetimpression。您可以覆盖此值。

impression

整数

可选。如指定,提供 reachbudget

您可以覆盖此值。为此,指定 curve_budget_reach 上对应点的 reachbudgetimpression

Meta 会以异步方式预订预估数据,您应该轮询并检查预估的状态。最初的预估数据状态为 2 (PENDING)。预估完成后,状态为 1SUCCESS15FAIL,后者意味着系统缺少库存,无法完成此预订。

预订系统是动态变化的,因此您可能会发现预估时间和预订时间之间的库存可用性会有细微变化。然而,Meta 会遵守您在预估时间获得的值,前提是变化在合理的阈值范围内。

分配至广告组

成功预订预估数据后,您可以使用此预估数据创建广告组:

curl \
-F "rf_prediction_id=<RF_PREDICTION_ID>" \
-F "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<AD_SET_ID>"

如要成功分配预估数据,您的广告组必须符合下列条件:

  • 不要指定:
  • start_time - 来源于预估数据
  • end_time - 来源于预估数据
  • targeting - 来源于预估数据
  • bid_amount
  • optimization_goal
  • lifetime_budgetdaily_budget
  • 您可以将预订分配给无投放中广告的广告组。然而,在广告组开始投放之前,您必须至少有一个投放中的广告。
  • 您必须加入 rf_prediction_id,它会将预估数据附加至新的广告组。
  • buying_type 的广告系列属性为 RESERVED

您还可以将 reachfrequencyprediction 附加至广告组,以修改广告组的预估数据。向 https://graph.facebook.com/{ad_set_id} 发出 POST 请求,并添加您想使用的 reachfrequencypredictionrf_prediction_id

下面是关于广告组的限制:

  • 发行商开放平台选项:facebookinstagram
  • Facebook 版位选项:feedrightcolumn
  • Instagram 版位选项:streamstoryexploreexplore_homereels。如果版位包含 instagram,则您必须使用 destination_ids,而非 destination_iddestination_ids 字段应包含用作 destination_id 的 Facebook 公共主页编号,以及 Instagram 帐户编号。
  • 可以使用自定义受众或合作伙伴类别,但不能同时使用两者
  • 不允许使用网站自定义受众、粉丝或视频互动用户排除定位。
  • 广告组的 promoted_object 必须与预估的 destination_id 一致。对于公共主页帖子,必须为指定的公共主页编号;对于应用广告,必须与指定的应用编号相符。
  • 支持标准和排期广告投放期预估,但不支持加速投放。

我们会根据实际的展示次数收取预订广告系列的费用。如果广告系列的开始时间已过,但对应广告组内没有投放中的广告,则该广告系列不会投放,也不会产生任何费用。Meta 会释放剩余的库存,但如果再次发生这种情形,我们可能会对该广告帐户给予处罚。

使用 Meta 预订购买类型创建广告系列时,即表示您同意为预订的广告库存支付建议的费用。如果您更改受众规模或广告展示频次,则您的费用也会相应地变化。广告系列开始投放之前,您可以随时做出这些更改。您还可以在广告系列开始投放之前编辑广告创意。

管理广告

预订广告组可包含多条广告,您可以随时添加更多广告。如果广告组处于投放状态,但其中不包含投放中的广告,则您必须在 24 小时内为持续 3 到 30 天的广告组创建第一条广告,或者在 6 小时内为持续 1 到 2 天的广告组创建第一条广告。如若不然,我们会删除预订。

分离预估,修改广告组

您可以在预订广告系列开始投放前编辑或暂停预订广告系列。广告系列开始投放后,您只能编辑广告创意、预算或延长结束日期。如果只编辑广告创意,则预估数据不会改变。

如果您更改预算或结束日期,则可能会生成新的广告系列预估数据,您可在预订预估值中查看。

您无法在预订广告系列开始投放后暂停广告系列,但可以随时删除广告系列以将其取消。

如要暂停或编辑已经开始投放的广告组,请参阅暂停或重新开始投放广告组编辑投放中的广告组。如要删除投放中的广告组,请参阅参考文档下的“广告组”部分。我们将根据广告获得的全部展示次数向您收费。

请注意,为避免可能发生的失败情况,当预订广告组已发布时,我们强烈建议您不要删除所有广告。

如果您将预订分配给未开始投放的广告组,除非分离预订,否则您无法更改大部分属性。向广告组发出 HTTP POST 请求,并将 rf_prediction_id 设置为 0。您只能修改广告组对象的 name 属性。

如要分离预订:

curl \
-F "rf_prediction_id=0" \
-F "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<AD_SET_ID>"

广告组的状态变为投放中后,便无法分离预订,也无法修改广告组的属性,几个加入白名单的广告属性除外,如下所列:

  • name
  • creative_id
  • creative_spec
  • conversion_specs
  • tracking_specs
  • view_tags

暂停或重新开始投放广告组

您可以暂停投放中的广告组,请参阅参考文档下的“广告组”部分。如果广告组的暂停时间超过 30 分钟,此广告组的预估数据将无法得到保证。

如要恢复暂停时间超过 30 分钟的广告组,您需要新的预估数据。向 reachfrequencypredictions 发出 POST 请求。请参阅创建预估预订预估。您应该在请求中传递要恢复的投放中广告组的 existing_campaign_id。创建和预订新的预估后,向 https://graph.facebook.com/{ad_set_id} 发出 HTTP POST 请求,并指定您想使用的预估的 rf_prediction_id,将 reachfrequencyprediction 附加至广告组。

编辑投放中的广告组

您可以在广告组开始投放后进行下列更新。

  • 增加或减少广告组的预算和覆盖人数。预算应大于当前的花费,覆盖人数应大于已获得的覆盖人数。
  • 将广告组的排期延长至 90 天。

如果投放中的广告组符合下列条件之一,您即无法编辑或暂停此广告组:

  • 投放量严重不足。投放次数低于预估的 10%。广告组的花费超支,即超出预算
  • 广告组仅投放一天
  • 广告组在接下来 24 小时内投放结束

如要编辑投放中的广告组,请获取新的预估数据。请参阅创建预估预订预估。您应该在请求中传递要恢复的投放中广告组的 existing_campaign_id。

创建并预订新的预估后,您可以向 https://graph.facebook.com/{ad_set_id} 发出 HTTP POST 请求,并指定 rf_prediction_id 为您想使用的 reachfrequencyprediction 的编号,将 reachfrequencyprediction 附加至广告组。

重复使用预订的受众

如果您取消预订,系统将释放预订的库存,将其提供给其他广告主。然而,您可以使用之前预订的预估中的受众,前提是您还未使用这组受众。这样,我们可以考虑使用其他库存来创建预估,而您不必取消当前的预订。

创建预订时应添加 rf_prediction_id_to_share。这是之前预估的编号。这样会让之前的预订失效,以便您能够将此库存用于新创建的预订。

如要预订新的预估,您还必须传递额外的参数 rf_prediction_id_to_release,此参数是指之前预订的编号。

广告轮换和排序

您可以轮换所使用广告组中的广告。为此,您无需从对应广告组中分离预订。向广告组添加一条或多条广告,并等待其状态变为投放中。此时,您可以将初始广告的状态更改为暂停。广告组中必须至少有一条投放中的广告。

您可以设计广告排序,按照顺序投放广告。首先创建广告组和广告,然后通过 creative_sequence 在广告组层级指定排序。根据排序,此广告组中的每条广告可能出现不在队列中投放、在队列中投放一次或投放多次的情况。

如果 creative_sequence 数组长度为零,则表示您未使用排序投放功能。如果数组长度为非零,则建议您将其设置为等于 rf_prediction_id 中的 frequency_cap。如果长度大于 frequency_cap,我们会从数组中截去最后几条广告。如果长度小于 frequency_cap,我们会从头重复排序,以递归的方式自动填充数组。为获得更清楚的结果,建议将 creative_sequence 的长度设置为与 frequency_cap 相同的数字。

序列中每一条广告都可能有 ACTIVEPENDING_REVIEWCREDIT_CARD_NEEDED 状态。对于序列中的某一条广告而言,只有当其前面的所有广告都获得投放后,系统才会向用户投放这条广告。系统不会投放未包含在 creative_sequence 内的广告。

广告组中使用广告排序的所有广告(无论是否位于序列中),均无法暂停、归档或删除。

此功能仅适用于预订广告组,即其父广告系列的 buying_typeRESERVED,且此广告组设置有 rf_prediction_id

如需获取更多详情,请参阅广告组文档。

Instagram 预订

对于 Instagram 上的可预测覆盖人数,您可以将 buying_type 设置为 RESERVED,创建预订广告系列。

预订可优化覆盖人数、广告回想度提升和 ThruPlay,从而帮助您规划和预订知名度和互动广告系列。

广告管理工具中的覆盖人数预估和 API 可以为合作伙伴提供合理预期的指导。我们会优先考虑 Instagram 社群,尽力以妥当的方式实现覆盖人数目标,并期望随着时间的推移而发展。适用于使用 Facebook 预订预估的所有政策也适用于 Instagram。

错误代码

代码 描述

1487583

无法向没有广告的广告组分配预订预估

1487055

广告组状态无效

1487600

广告组已分配给某个预订。如果您想使用其他预估,请先使用 null 值断开与该广告组的连接,然后分配新的预估。

1487578

指定的 reachandfrequencyprediction 编号不存在,或不属于指定帐户。

1487581

无法修改投放中的广告组的预订预估

1487594

预订广告组中没有广告

1487595

预订广告组中的目标参数无效

1487614

广告组的开始时间与原始预估不一致

1487615

广告组的结束时间与原始预估不一致

1487616

无法将广告组与无效预估相关联

1487671

不允许直接从广告组的一个预估过渡到另一个预估。

1487244

广告组更新失败 - 系统将在响应内说明原因

1487672

未能将预估分配给广告组。

1487680

您没有预订广告组的使用权限。

示例

为应用 destination_id 创建 reachfrequencyprediction

curl \
-F 'target_spec={"geo_locations": {"countries":["US"]}, "age_max":35, "age_min":26, "genders":[2], "publisher_platforms":["facebook"], "facebook_positions":["feed"]}' \
-F 'start_time=1388534400' \
-F 'end_time=1389312000' \
-F 'frequency_cap=4' \
-F 'reach=1000000' \
-F 'budget=3000000' \
-F 'destination_id=<APP_ID>' \
-F 'prediction_mode=1' \
-F "objective=MOBILE_APP_INSTALLS" \
-F 'access_token=<ACCESS_TOKEN>' \
'https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/reachfrequencypredictions'

{"id":"67890123456"}

为公共主页 destination_id 创建 reachfrequencyprediction

curl \
-F 'target_spec={"geo_locations": {"countries":["US"]}, "age_max":35, "age_min":26, "genders":[2], "publisher_platforms":["facebook"], "facebook_positions":["feed"]}' \
-F 'start_time=1388534400' \
-F 'end_time=1389312000' \
-F 'frequency_cap=4' \
-F 'reach=1000000' \
-F 'budget=3000000' \
-F 'destination_id=<PAGE_ID>' \
-F 'prediction_mode=1' \
-F "objective=POST_ENGAGEMENT" \
-F 'access_token=<ACCESS_TOKEN>' \
'https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/reachfrequencypredictions'

{"id":"67890123456"}

为使用 Instagram 版位的应用 destination_id 创建 reachfrequencyprediction

curl \
-F 'target_spec={"geo_locations": {"countries":["US"]}, "age_max":35, "age_min":26, "genders":[2], "publisher_platforms":["facebook","instagram"], "device_platforms":["mobile"]}' \
-F 'start_time=1388534400' \
-F 'end_time=1389312000' \
-F 'frequency_cap=4' \
-F 'reach=1000000' \
-F 'budget=3000000' \
-F 'destination_ids=[<APP_ID>,<INSTAGRAM_ACCOUNT_ID>]' \
-F 'prediction_mode=1' \
-F "objective=MOBILE_APP_INSTALLS" \
-F 'access_token=<ACCESS_TOKEN>' \
'https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/reachfrequencypredictions'

{"id":"67890123456"}

通过 HTTP GET 请求轮询下列端点,检索状态,直至获得 2 以外的状态:

https://graph.facebook.com/67890123456?fields=status

如果状态为 1(成功),则可以将此预估附加至广告组或预订此预估。

预订预估:

curl \
-F 'action=reserve' \
-F 'rf_prediction_id=<RF_PREDICTION_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
'https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/reachfrequencypredictions'
 
{"id":"9876543210"}

通过 HTTP GET 请求轮询下列端点,检索状态,直至获得 2 以外的状态:

https://graph.facebook.com/<API_VERSION>/<PREDICTION_ID>?fields=status

如果状态为 1(成功),则可以将此预估附加至广告组。接下来,我们将创建广告系列、广告组、广告创意、广告,并向广告组分配预订,以此设置广告架构。

创建广告系列:

curl \
-F "name=Test" \
-F "buying_type=RESERVED" \
-F "status=ACTIVE" \
-F "objective=POST_ENGAGEMENT" \
-F "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/campaigns

{"id":"1122334455"}

创建广告组:

curl  \
-F "name=TestReachSet" \
-F "status=1" \
-F "campaign_id=<CAMPAIGN_ID>" \
-F "rf_prediction_id=<RF_PREDICTION_ID>" \
-F "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adsets"

{"id":"09876543"}

生成广告创意:

curl \
-F "name=sample creative" \
-F "type=1" \
-F "title=hello world" \
-F "body=hi i'm an ad" \
-F "link_url="https://www.facebook.com/" \
-F "image_hash=4aca812b4eadb72818a2c4124abd121a" \
-F "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adcreatives"

{"id":"1323123123123"}

创建广告:

// Create an ad
curl \
-F "name=my ad" \
-F "adset_id=<AD_SET_ID>" \
-F "creative={'creative_id':<CREATIVE_ID>}" \
-F "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/ads"

{"id":"3213213123"}

向广告组分配新的预估:

curl \
-F "rf_prediction_id=<RF_PREDICTION_ID>" \
-F "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<AD_SET_ID>"