注意:仅列入白名单的合作伙伴和广告主可以使用此 API。如要使用此 API,请联系您的 Meta 代表。
借助竞价乘数,广告主可使用单个目标受众,为单一广告组维持存有细微差别的竞价策略,从而减少所需的受众细分数量。例如,广告主通常会创建广告组,以便为不同的受众细分作出不同竞价。例如,广告主可以为 3 个不同年龄组创建 3 个相应的广告组:18 到 25 岁、26 到 35 岁、36 到 65 岁。借助竞价乘数,广告主可以创建单个广告组,然后使用竞价乘数为上述每个组别作出不同竞价。
投放住房、招聘和信贷广告的美国广告主,以及向美国定向投放广告的广告主,会受到不同限制,并且仅部分受众类别支持调整竞价。住房、招聘和信贷广告系列受到限制,无法为 age
、gender
、locale
、home_location
、user_bucket
和类似 custom_audience
(源自类似受众的自定义受众)这 6 种受众类型调整竞价。请参阅特殊广告类别。
自 2023 年 1 月 30 日起,对第三方数据类别(包括 booking_window
、custom_audience
(包括自定义类似受众)、lengthofstay
、travelstartdate
、travelstartdayofweek
、user_recency
、user_bucket
)使用竞价乘数的广告将不再发送给已退订的用户。
user_groups
键中指定竞价乘数。您可以使用竞价乘数定义受众类别,并为各受众类别指定竞价乘数。您还可以根据用户人口统计信息、用户设备以及广告主自定义数据来定义受众类别。住房、招聘和信贷广告系列受到限制,无法为 age
、gender
、locale
、home_location
、user_bucket
和类似 custom_audience
(源自类似受众的自定义受众)这 6 种受众类型指定竞价。
优先级 | 描述 |
---|---|
根据年龄或年龄段作出不同竞价。(不适用于住房、招聘和信贷广告系列。) | |
根据开始出行前的天数作出不同竞价。 | |
根据用户所属的 | |
根据用户的设备平台(如移动设备或桌面设备)作出不同竞价。 | |
根据性别作出不同竞价。(不适用于住房、招聘和信贷广告系列。) | |
根据用户的 | |
根据出行起止时间的间隔天数作出竞价。 | |
根据语言(如英语或西班牙语)作出不同竞价。(不适用于住房、招聘和信贷广告系列。) | |
根据广告的展示位置作出竞价;例如 | |
根据 | |
根据出行的起始日期作出不同竞价;例如 | |
根据出行起始时间是星期几作出竞价。例如 | |
根据广告主在 Pixel 像素代码触发事件或应用事件中定义的 | |
根据 | |
根据 | |
根据用户上次访问网站或应用的时间作出竞价。 |
age
按年龄段为用户分组,例如 18-25
、26-35
。举例来说,针对竞价上限为 5 美元的广告组,您可以为年龄在 18 到 25 岁之间的用户出价 2.5 美元,为 26 到 40 岁之间的用户出价 3.5 美元,并为所有其余年龄段的用户出价 5 美元。注意:默认值是可选项。您可以将乘数设为 1.0
。
示例
{ "user_groups": { "age": { "18-25": 0.5, "26-40": 0.7, "default": 1.0 } } }
booking_window
可行的细分数据值范围包括任何不小于 1 的整数。例如 1-3
、4-9
等。
示例
curl -X POST \ -F 'bid_adjustments= {"user_groups":{"booking_window":{"event_sources":["123456789"],"1-2":0.1,"3-5":0.2,"default":0.5}}}' \ -F 'access_token='$access_token \ https://graph.facebook.com/<API_VERSION>/<ad_set_id>
另请参阅出行乘数示例。
custom_audience
自 2023 年 1 月 30 日起,对第三方数据类别(包括 booking_window
、custom_audience
(包括自定义类似受众)、lengthofstay
、travelstartdate
、travelstartdayofweek
、user_recency
、user_bucket
)使用竞价乘数的广告将不再发送给已退订的用户。
您可以根据自定义受众调整竞价。
示例
curl -X POST \ -F 'bid_adjustments= {"user_groups":{"custom_audience":{"<CUSTOM_AUDIENCE_ID>":0.8, "<CUSTOM_AUDIENCE_ID>":1.0, "default":0.5}}}' \ -F 'access_token='$access_token \ https://graph.facebook.com/<API_VERSION>/<ad_set_id>
device_platform
可行的细分条件值如下:
mobile
desktop
示例
{ "user_groups": { "device_platform": { "mobile": 0.7, "desktop": 0.9 } } }
gender
按性别对用户进行分组:
male
female
default
示例
{ "user_groups": { "gender": { "male": 0.5, "female": 0.7, "default": 1.0 } } }
home_location
可行的细分条件值如下:
city id
region id
您可以使用搜索 API 查找 city id
和 region id
。您可以使用图谱 API 探索工具或终端查询相关信息。
注意:仅 home_location
下可设置 default
,cities
、regions
或 countries
下则不可。
示例
{ "user_groups": { "home_location": { "cities": { "2420605": 0.2 }, "regions": { "3847": 0.5 }, "countries": { "US": 0.2 }, "default": 0.8 } } }
length_of_stay
可行的细分条件值范围包括任何不小于 1 的整数。例如 “1-3”
、“4-9”
等。
示例
curl -X POST \ -F 'bid_adjustments= {"user_groups":{"length_of_stay":{"event_sources":["123456789"],"1-2":0.1,"3- 5":0.2,"default":0.5}}}' \ -F 'access_token='$access_token \ https://graph.facebook.com/<API_VERSION>/<ad_set_id>
另请参阅出行乘数示例。
locale
您可以使用语言编号或语言组编号,例如 6
表示美式英语,5
表示德语。
请参阅定位搜索 > 语言,通过 type=adlocale
查找语言编号。例如:
{ "user_groups": { "locale": { 6: 0.8, 5: 0.3 } } }
position_type
此类别与定位 API 中的位置选项相似。可行的细分条件值如下:
位置 | 值 |
---|---|
Facebook 动态 |
|
Facebook Marketplace |
|
Facebook 视频动态 |
|
Facebook 右边栏 |
|
发现 Facebook 商家 |
|
Instagram 动态 |
|
Instagram 主页动态 |
|
Instagram 探索 |
|
Instagram 探索首页 |
|
Messenger 收件箱 |
|
Instagram 快拍 |
|
Facebook 快拍 |
|
Messenger 快拍 |
|
Instagram Reels |
|
Facebook Reels |
|
Facebook 视频插播位 |
|
Facebook Reels 内嵌广告 |
|
Facebook 搜索结果 |
|
Instagram 搜索结果 |
|
Messenger 赞助消息 | 不支持 |
Audience Network 原生、横幅和插屏版位 |
|
Audience Network 激励视频广告位 |
|
Audience Network 视频插播位 | 不支持 |
示例
{ "user_groups": { "position_type":{ "facebook_feed":0.9, "messenger_messenger_home":0.7, "instagram_stream":0.8, "audience_network_classic":0.5, "default":0.4 } } }
publisher_platform
可行的细分条件值如下:
facebook
instagram
audience_network
messenger
示例
{ "user_groups": { "publisher_platform": { "facebook": 0.7, "instagram": 0.9, "default": 1.0 // We'll apply bid multiplier 1.0 if no default is specified anyway } } }
travel_start_date
可行的细分条件值包括任何格式为 _yyyymmdd_-_yyyymmdd_
的日期范围。
示例
curl -X POST \ -F 'bid_adjustments= {"user_groups":{"travel_start_date":{"event_sources":["123456789"],"20180901-20181001":0.2,"default":0.9}}}' \ -F 'access_token='$access_token \ https://graph.facebook.com/<API_VERSION>/<ad_set_id>
另请参阅出行乘数示例。
travel_start_day_of_week
可行的细分条件值包括 0 和 6 之间的所有整数(包括 0 和 6)。0
表示星期一;6
表示星期日。
示例
curl -X POST \ -F 'bid_adjustments= {"user_groups":{"travel_start_day_of_week":{"event_sources": ["123456789"],"0":0.1,"2":0.2,"6":0.3,"default":0.9}}}' \ -F 'access_token='$access_token \ https://graph.facebook.com/<API_VERSION>/<ad_set_id>
另请参阅出行乘数示例。
user_bucket
您可以向我们发送您自己的用户分组结果。然后,您可以在 Pixel 像素代码触发事件或应用事件中向我们发送额外的 user_bucket
参数。用户组别为 0 和 100 之间的整数。
请按下列格式指定用户组别分组定义:
event_sources
— 待追踪的 Pixel 像素代码触发事件源或应用事件源。event_retention
— 可选项。忽略原有 user_bucket
值的时间(以秒为单位)。events_dedup_mode
— 可选项。此为一个标记,用来表明当单一事件源针对同一用户发送不同 user_bucket
值时,系统应使用哪个 user_bucket
值。默认值为 latest
。event_source_preference
— 可选项。此为一个标记,用来表明当多个事件源针对同一个用户发送不同 user_bucket
值时,系统应使用哪个 user_bucket
。默认值为 latest
。示例
{ "user_groups": { "user_bucket": { "event_sources": [<pixel_id>,<app_id>,...], "event_retention": 604800, // optional, exclude old events //optional, useful when multiple event sources have user_bucket "events_dedup_mode": "max"|"min"|"latest", //optional, dedup user_bucket values sent from one single event source "event_source_preference": "max"|"min"|"latest", "1":0.7, // these are the bid multipliers "2":1.0, } } }
user_device
可行的细分条件值如下:
iPad
iPhone
如要查看其他可行值,可调用有 type=adTargetingCategory
和 class=user_device
的定位搜索 API。
示例
{ "user_groups": { "user_device": { "iPad": 0.7, "iPhone": 0.9, "default": 1.0 } } }
示例
curl -F 'name=Test BM Adset '$(date +%s) \ -F 'bid_amount=3000' \ -F 'billing_event=IMPRESSIONS' \ -F 'optimization_goal=OFFSITE_CONVERSIONS' \ -F 'daily_budget=15000' \ -F 'campaign_id=23843038336220329' \ -F 'promoted_object={"product_set_id":"267888283975766"}' \ -F 'targeting={ "geo_locations": {"countries":["AQ"]}, "dynamic_audience_ids": ["23842885952670329"], "publisher_platforms": ["facebook"] }' \ -F 'bid_adjustments={"user_groups":{"user_device": {"iPad": 0.7, "iPhone": 0.9, "default": 1.0}}}' \ -F 'status=PAUSED' \ -F 'access_token='$access_token \ https://graph.facebook.com/<API_VERSION>/act_1653439931385336/adsets
示例
curl -F 'name=Test BM Adset '$(date +%s) \ -F 'bid_amount=3000' \ -F 'billing_event=IMPRESSIONS' \ -F 'optimization_goal=OFFSITE_CONVERSIONS' \ -F 'daily_budget=15000' \ -F 'campaign_id=23843038336220329' \ -F 'promoted_object={"product_set_id":"267888283975766"}' \ -F 'targeting={ "geo_locations": {"countries":["AQ"]}, "dynamic_audience_ids": ["23842885952670329"], "publisher_platforms": ["facebook"] }' \ -F 'bid_adjustments={"user_groups":{"user_device": {"iPad": 0.7, "iPhone": 0.9, "default": 1.0}}}' \ -F 'status=PAUSED' \ -F 'access_token='$access_token \ https://graph.facebook.com/<API_VERSION>/act_1653439931385336/adsets {"id":"23843038339320329"}
示例
curl -F 'access_token='$access_token \ https://graph.facebook.com/VERSION/ID?fields=bid_adjustments {"bid_adjustments":{"user_groups":"{\"user_device\": {\"default\":1,\"iPad\":0.7,\"iPhone\":0.9}}"},"id":"ID"}
另请查看高级示例。
user_group_weight_spec
可行的细分条件值如下:
age
gender
device_platform
publisher_platform
user_device
user_os
另请参阅高级示例。
示例 — user_group_weight_spec
为如下所示的 JSON 结构:
{ <BREAKDOWN_NAME>: { <BREAKDOWN_VALUE_1>: <WEIGHT_VALUE> OR <NESTED_USER_GROUP_WEIGHT_SPEC>, <BREAKDOWN_VALUE_2>: <WEIGHT_VALUE> OR <NESTED_USER_GROUP_WEIGHT_SPEC>, <BREAKDOWN_VALUE_3>: <WEIGHT_VALUE> OR <NESTED_USER_GROUP_WEIGHT_SPEC>, ... "default": <WEIGHT_VALUE> OR <NESTED_USER_GROUP_WEIGHT_SPEC>, // optional, if not specified, we'll use 1.0 } } { "age": { "18-25": 0.7, "26-35": { "gender": { "male": 0.9, "female": 1.0 } }, "default": 0.85 } } * For users between the ages of 18 and 25, we apply bid multiplier 0.7. * For male users between the ages of 26 and 35, we apply bid multiplier 0.9. * For female users between the ages of 26 and 35, we apply bid multiplier 1.0. * For all other users, we apply bid multiplier 0.85.
细分条件值是整数年龄段。例如“18-25”表示最小年龄为 18 岁,而且范围不得重叠。
示例
{ "user_groups": { "age": { "18-25": 0.7, "30-40": 1.0, "default": 0.3 } } }
> curl -F 'bid_adjustments={"user_groups":{"user_device":{"iPad":0.3,"iPhone":{"user_os":{"Android":0.3,"iOS":{"age":{"18-35":0.3,"35-45":0.4}}}}}}}' -F access_token=$token https://graph.intern.facebook.com/v2.12/6089875504114 {"success":true}% > curl -G -d access_token=$token https://graph.intern.facebook.com/v2.12/6089875504114\? fields\=bid_adjustments {"bid_adjustments":{"user_groups":"{\"user_device\":{\"iPad\":0.3,\"iPhone\":{\"user_os\":{\"Android\":0.3,\"iOS\":{\"age\":{\"18-35\":0.3,\"35-45\":0.4}}}}}}"},"id":"6089875504114"}%
curl -X POST \ -F 'bid_adjustments={"user_groups":{"travel_start_day_of_week":{"event_sources":["1862565504034757"],"1":0.1,"3":0.1,"default":0.9}}}' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/<ADSET_ID> Length of Stay 'bid_adjustments={"user_groups":{"length_of_stay":{"event_sources":["1862565504034757"],"1-2":0.1,"3-7":0.2,"default":0.5}}}' Booking window 'bid_adjustments={"user_groups":{"booking_window":{"event_sources":["1862565504034757"],"1-2":0.1,"3-7":0.2,"default":0.5}}}' Travel start date: 'bid_adjustments={"user_groups":{"travel_start_date":{"event_sources":["1862565504034757"],"20180918-20190101":0.1,"default":0.5}}}' Day of week: 'bid_adjustments={"user_groups":{"travel_start_day_of_week":{"event_sources":["1862565504034757"],"1":0.1,"2":0.1,"0":0.2,"default":0.5}}}'
user_os
可行的细分条件值如下:
iOS
Windows
如要查看其他可行值,可调用有 type=adTargetingCategory
和 class=user_os
的定位搜索 API。
当前支持的值如下:
Android
Windows
Windows Phone
iOS
示例
{ "user_groups": { "user_os": { "Android": 0.7, "iOS": 0.9, "default": 1.0 } } }
iOS 14 的影响
网站转化广告系列的竞价乘数是否会受到 iOS 14 政策变更的影响?
会。我们预计 iOS 14 变更会导致系统丢失信号以及难以识别归因,致使各个广告组的信号减少。虽然您可以竞价的大部分类别应该会继续正常运作,但是 recency、custom_audience 以及 user_bucket 的乘数在定位 iOS 14.5 用户时会受到影响,因为这些乘数取决于 Facebook Pixel 像素代码或转化 API 所衡量的事件。其他所有乘数都是来自站内数据,并不依赖于 Facebook Pixel 像素代码或转化 API。
user_recency
由于用户拥有 Pixel 像素代码触发事件或应用事件而按时间为用户分组。您必须指定要追踪的事件源和时间范围。
示例
此示例展示了如何为在 86400
秒内获得 Pixel 像素代码触发事件或应用事件的用户应用 1.0
的竞价乘数,其他范围同理。
{ "user_groups": { "user_recency": { "event_sources": [<pixel_id>,<app_id>,...], "0-86400": 1.0, "86401-172800": 0.7, "default": 0.5 } } }
您还可以进一步指定细分条件,以替换浮动的竞价乘数值,从而定义含有多个细分条件的用户组。例如,如果广告组的竞价上限设为 5 美元,其配置将如下所示:
{ "user_groups": { "gender": { "male": 0.9, "female": { "age": { "18-25": 0.7, "26-35": 0.8 } } } } }
0.09
到 1.0
。curl -G \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/<ADSET_ID>?fields=bid_adjustments
curl \ -F 'bid_adjustments={"user_groups":<USER_GROUP_WEIGHT_SPEC>}' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/<PRODUCT_CATALOG_ID>/<ADSET_ID>
下方是用于更新现有广告组的 API 调用示例。(您需要替换广告组编号、访问口令、事件源与预期竞价乘数。)
curl -X POST \
-F 'bid_adjustments={
"user_groups": {
"user_bucket": {
"event_sources": [
"<PIXEL_ID>",
"<APP_ID>"
],
"1": 0.1,
"2": 0.2,
"3": 0.3,
"default": {
"gender": {
"male": 0.99,
"female": 0.12
}
}
}
}
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/<AD_SET_ID>/
与 Meta 账户团队合作并使用成效衡量潜在客户开发信息,通过转化提升或拆分对比测试创建测试广告系列。如要评估广告系列表现,我们建议在设有 3 组的拆分对比测试中使用以下单元:
在此阶段,您应该设置拆分对比测试的测试组与对照组,从而使用竞价乘数验证广告系列的表现。我们会运行测试 1 到 2 周,并且无需您提供最低预算。请按以下方式设置拆分对比测试:
user_bucket
设置目标受众。bid_adjustment
属性的广告组,并且针对每个 user_bucket
使用不同的竞价。其中的乘数应与单元 2(对照组 B)中的各个广告组竞价相符。详情请参阅拆分对比测试。
按照设置一般广告系列的方式设置广告系列。请联系 Meta 代表,以获取有关设置可调竞价的帮助。
设置 user_groups
并为各组给出不同的竞价乘数。您的用户组均以人口统计数据属性(如年龄、性别)以及特定属性(如用户得分或会员计划)为划分依据。例如:
{ "user_bucket":{ "business_id":253286871795863, "1":0.7, "2":1.0, "3":{ "gender":{ "male":1.0, "female":0.8 } }, "default": 0.9 } }
在本例中:
loyalty_program
值是 1,则应用 0.7 的竞价乘数loyalty_program
值是 2,则应用 1.0 的竞价乘数loyalty_program
值为 3 的男性用户,则应用 1.0 的竞价乘数loyalty_program
值为 3 的女性用户,则应用 0.8 的竞价乘数loyalty_program
值不是 1、2 或 3,则应用 0.9 的竞价乘数现在,您便可以创建广告系列了:
curl -X POST \
-F 'name="My Adset with bid multiplier"' \
-F 'campaign_id="<AD_CAMPAIGN_ID>"' \
-F 'daily_budget=3000' \
-F 'billing_event="IMPRESSIONS"' \
-F 'optimization_goal="OFFSITE_CONVERSIONS"' \
-F 'bid_amount=500' \
-F 'bid_adjustments={
"user_groups": {
"gender": {
"male": 0.8,
"female": 1
}
}
}' \
-F 'promoted_object={
"product_set_id": "<PRODUCT_SET_ID>",
"custom_event_type": "ADD_TO_CART"
}' \
-F 'targeting={
"facebook_positions": [
"feed"
],
"geo_locations": {
"countries": [
"US"
]
}
}' \
-F 'status="PAUSED"' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<AD_ACCOUNT_ID>/adsets
创建广告组后,通过 API 设置广告组的 bid_adjustments
。参数应如下所示:
{ "user_groups": { "user_bucket": { "event_sources": [<pixel_id>,<app_id>,...], "event_source_preference": "max"|"min"|"latest", //optional, useful when multiple event sources have user_bucket "events_dedup_mode": "max"|"min"|"latest", //optional, dedup user_bucket values sent from one single event source "event_retention": 604800, // optional, exclude old events "1":0.7, // these are the bid multipliers "2":1.0, "default": { // used in the case that we don't have user_bucket for that user gender:{ // this is a nested example, but you could just do "default": 1.0, "male": { home_location: { cities: { // city id, can be found in search API, eg: search?type=adgeolocation&q=Menlo Park&limit=10 "2420605": 0.2, }, regions: { "3847": 0.5 }, countries: { "US": 0.2 } } } }, "female": { "user_recency": { "event_sources": [<pixel_id>,<app_id>,...], "0-86400": 0.5, "86400-172800": 0.7, "default": 0.2 } } }, }, }, }
我们目前不会验证此参数。请将您的广告组编号发送给您的 Meta 代表,以便我们通过人工方式检查该编号。
在每个事件源中,系统会使用相关用户最近收到的 user_bucket
。但是,如果指定了多个事件源(例如:Pixel 像素代码与应用),而且其中 2 个或更多事件源记录了各自的 user_bucket
,那么我们会选择其中的最大值。
以下示例是用于更新现有广告组的调用。您应提供自己的广告组编号、访问口令、事件源与竞价乘数:
curl -X POST -F access_token=<access_token> \ -F 'bid_adjustments={"user_groups": {"user_bucket": {"event_sources": [<pixel_id>, <app_id>,...], "1": 0.1, "2": 0.2, "3": 0.3, "default": {"gender": {"male": 0.99, "female": 0.1}} }} }' \ https://graph.facebook.com/<VERSION>/<ad-set-id>