定位与您现有客户最相似的用户。类似受众会使用几组用户作为“种子”,然后 Facebook 便会构建包含类似用户的受众。您可使用类似受众实现任何业务目标:定位与您客户类似的用户以获取粉丝、提高网站注册量、Facebook 离线销售额和抵用券领取量,或提高品牌知名度等。
种子受众可以为:
如果类似受众属于广告组,则 Facebook 会每 3 天刷新一次类似受众中的成员。
类似受众可能需要 1 - 6 个小时才会彻底满员。加入受众时,您可以创建并运行针对受众的广告组。受众准备就绪后,Facebook 便可向加入受众的用户投放广告,而广告的投放将会赶上进度并照常运作。请参阅投放状态。如要创建新的类似受众,请访问:https://graph.facebook.com/{API_VERSION}/act_{AD_ACCOUNT_ID}/customaudiences
。
以下是通过自定义受众创建类似受众调用的示例:
use FacebookAds\Object\CustomAudience;
use FacebookAds\Object\Fields\CustomAudienceFields;
use FacebookAds\Object\Values\CustomAudienceSubtypes;
$lookalike = new CustomAudience(null, 'act_<AD_ACCOUNT_ID>');
$lookalike->setData(array(
CustomAudienceFields::NAME => 'My lookalike audience',
CustomAudienceFields::SUBTYPE => CustomAudienceSubtypes::LOOKALIKE,
CustomAudienceFields::ORIGIN_AUDIENCE_ID => <SEED_AUDIENCE_ID>,
CustomAudienceFields::LOOKALIKE_SPEC => array(
'type' => 'similarity',
'country' => 'US',
),
));
$lookalike->create();
from facebookads.adobjects.customaudience import CustomAudience
lookalike = CustomAudience(parent_id='act_<AD_ACCOUNT_ID>')
lookalike.update({
CustomAudience.Field.name: 'My lookalike audience',
CustomAudience.Field.subtype: CustomAudience.Subtype.lookalike,
CustomAudience.Field.origin_audience_id: '<SEED_AUDIENCE_ID>',
CustomAudience.Field.lookalike_spec: {
'type': 'similarity',
'country': 'US',
},
})
lookalike.remote_create()
print(lookalike)
curl \
-F 'name=My lookalike audience' \
-F 'subtype=LOOKALIKE' \
-F 'origin_audience_id=<SEED_AUDIENCE_ID>' \
-F 'lookalike_spec={"type":"similarity","country":"US"}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v2.11/act_<AD_ACCOUNT_ID>/customaudiences
如要创建带有 PHP Ads SDK 或 Python Ads SDK 的类似受众,请使用 CustomAudience
。
响应包含:
名称 | 说明 |
---|---|
类型:整数 | 类似受众的编号 |
如果您的自定义受众至少拥有 100 个用户,则您可用来创建类似受众。其中包括网站的自定义受众和移动应用的自定义受众。
名称 | 说明 |
---|---|
类型:字符串 | 必填字段。 自定义受众的名称 |
类型:长整型 | 必填字段。 自定义受众的编号。原始受众必须最少有 100 个成员。 |
类型:数组 | 必填字段。 请查看下方说明。 |
类型:字符串 | 必须提供。设置
|
类型:浮点数 | 选填字段。 类似受众的起始百分比。例如,如果 |
类型:浮点数 | 必须提供。设置
|
类型:布尔值 | 选填字段。 至少需要 100 个来自同一个国家/地区的种子受众成员。否则,将 |
类型:字符串 | 必须提供。设置 寻找位于这个国家/地区的类似受众成员 |
类型:数组 | 必须提供。 寻找位于这些地点的受众成员。国家/地区或国家/地区组列表,如 |
类型:数组 | 必须提供。 包含这些地点 |
类型:字符串数组 | 选填字段。 目标国家/地区。国家/地区代码数组,请参阅定位搜索 API 下的“国家/地区”部分。示例: |
类型:字符串数组 | 选填字段。 全球地区及自由贸易区的目标国家/地区。国家/地区组代码数组。若要了解所有选项,请参阅地区、定位、 |
类型:数组 | 选填字段。 要排除的地点 |
类型:字符串数组 | 选填字段。 与 |
类型:字符串数组 | 选填字段。 与 |
针对“相似度”或“更多覆盖人数”优化受众。
除了使用上述类型外,您也可将 ratio
手动设置为代表特定国家/地区的前 x% 受众。ratio
范围为 1% 至 20%,增加幅度为 1%。
Facebook 提供营销活动或广告组转化类似受众,以定位与先前或现有营销活动或广告组的转化客户相似的用户,例如正在优化转化的营销活动或广告组。我们会根据转化参数中的广告系列或广告组类型衡量转化率。例如,定位在点击广告后 28 天内在网站执行操作或安装应用的用户。
use FacebookAds\Object\CustomAudience;
use FacebookAds\Object\Fields\CustomAudienceFields;
use FacebookAds\Object\Values\CustomAudienceSubtypes;
$lookalike = new CustomAudience(null, 'act_<AD_ACCOUNT_ID>');
$lookalike->setData(array(
CustomAudienceFields::SUBTYPE => CustomAudienceSubtypes::LOOKALIKE,
CustomAudienceFields::LOOKALIKE_SPEC => array(
'origin_ids' => <CAMPAIGN_ID>,
'starting_ratio' => 0.03,
'ratio' => 0.05,
'conversion_type' => 'campaign_conversions',
'country' => 'US',
),
));
$lookalike->create();
from facebookads.adobjects.customaudience import CustomAudience
lookalike = CustomAudience(parent_id='act_<AD_ACCOUNT_ID>')
lookalike.update({
CustomAudience.Field.subtype: CustomAudience.Subtype.lookalike,
CustomAudience.Field.lookalike_spec: {
'origin_ids': '<CAMPAIGN_ID>',
'starting_ratio': 0.03,
'ratio': 0.05,
'conversion_type': 'campaign_conversions',
'country': 'US',
},
})
lookalike.remote_create()
print(lookalike)
curl \
-F 'subtype=LOOKALIKE' \
-F 'lookalike_spec={
"origin_ids": "<CAMPAIGN_ID>",
"starting_ratio": 0.03,
"ratio": 0.05,
"conversion_type": "campaign_conversions",
"country": "US"
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v2.11/act_<AD_ACCOUNT_ID>/customaudiences
您必须至少选择 100 名来自广告系列或广告组的独立转化客户。转化的客户越多,生成的预计模型便越理想,因此我们建议拥有 200 位或更多的转化成员。您也应选择设有类似目标的营销活动或广告组。
若要创建此类似受众,请指定一个或多个营销活动或广告组。例如,指定一个营销活动,以及另一个营销活动的两个广告组。
Facebook 最多会使用过去 180 天的过往转化数据,并将通过营销活动和广告组转化的用户用作示例。我们会训练预计模型,然后创建类似受众。随着营销活动和广告组获得新转化用户,Facebook 也会持续更新底层的预计模型。
名称 | 说明 |
---|---|
类型:数组 | 必填字段。 请查看下方说明。 |
类型:整数数组 | 必填字段。 广告对象编号数组。通过这些广告转化的用户将会用于制作类似受众模型。一个或多个广告系列编号或广告组编号,或二者的混合。 |
类型:字符串 | 必填字段。
|
类型:字符串 | 必填字段。 在其中寻找类似受众成员的目标国家/地区。 |
类型:布尔值 | 选填字段。 至少需要 100 个来自同一个国家/地区的种子受众成员。否则,将 |
类型:浮点数 | 选填字段。 类似受众的起始百分比。例如, |
类型:浮点数 | 必填字段。 范围为 |
目前,可获得类似受众的广告系列转化类型如下:
根据对您的主页点赞的用户创建类似受众:
use FacebookAds\Object\CustomAudience;
use FacebookAds\Object\Fields\CustomAudienceFields;
use FacebookAds\Object\Values\CustomAudienceSubtypes;
$lookalike = new CustomAudience(null, 'act_<AD_ACCOUNT_ID>');
$lookalike->setData(array(
CustomAudienceFields::SUBTYPE => CustomAudienceSubtypes::LOOKALIKE,
CustomAudienceFields::LOOKALIKE_SPEC => array(
'ratio' => 0.01,
'country' => 'US',
'page_id' => <PAGE_ID>,
'conversion_type' => 'page_like',
),
));
$lookalike->create();
from facebookads.adobjects.customaudience import CustomAudience
lookalike = CustomAudience(parent_id='act_<AD_ACCOUNT_ID>')
lookalike.update({
CustomAudience.Field.name: 'My lookalike audience',
CustomAudience.Field.subtype: CustomAudience.Subtype.lookalike,
CustomAudience.Field.lookalike_spec: {
'ratio': 0.01,
'country': 'US',
'page_id': '<PAGE_ID>',
'conversion_type': 'page_like',
},
})
lookalike.remote_create()
print(lookalike)
curl \
-F 'subtype=LOOKALIKE' \
-F 'lookalike_spec={
"ratio": 0.01,
"country": "US",
"page_id": "<PAGE_ID>",
"conversion_type": "page_like"
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v2.11/act_<AD_ACCOUNT_ID>/customaudiences
名称 | 说明 |
---|---|
类型:数组 | 必填字段。 请查看下方说明。 |
类型:整数 | 必填字段。 主页的 Facebook 编号,其页面上的粉丝将用于类似受众 |
类型:字符串 | 必填字段。
|
类型:字符串 | 必填字段。 在其中寻找类似受众用户的目标国家/地区。默认值为“US” |
类型:布尔值 | 选填字段。 您至少需要 100 个来自同一个国家/地区的种子受众成员。如果未能达至此最小值,将 |
类型:浮点数 | 选填字段。 类似受众的开始百分比。例如,如果 starting_ratio 的值为 0.01 且 ratio 的值为 0.02,则会根据 1% 至 2% 的类似受众细分创建类似受众。starting_ratio 值必须小于 ratio 的值 |
类型:浮点数 | 必填字段。 范围为 0.01 至 0.20。类似受众的目标国家/地区数量。 |
定位类似受众与定位自定义受众相同。请参阅自定义受众下的“定位”部分。这也适用于排除定位及使用连接词 AND
定位。如要在创建广告时定位:
use FacebookAds\Object\AdSet;
use FacebookAds\Object\Fields\AdSetFields;
use FacebookAds\Object\Values\AdSetBillingEventValues;
use FacebookAds\Object\Values\AdSetOptimizationGoalValues;
use FacebookAds\Object\Fields\TargetingFields;
use FacebookAds\Object\Targeting;
$adset = new AdSet(null, 'act_<AD_ACCOUNT_ID>');
$adset->setData(array(
AdSetFields::NAME => 'My AdSet',
AdSetFields::OPTIMIZATION_GOAL => AdSetOptimizationGoalValues::REACH,
AdSetFields::BILLING_EVENT => AdSetBillingEventValues::IMPRESSIONS,
AdSetFields::BID_AMOUNT => 2,
AdSetFields::DAILY_BUDGET => 1000,
AdSetFields::CAMPAIGN_ID => <CAMPAIGN_ID>,
AdSetFields::TARGETING => (new Targeting())->setData(array(
TargetingFields::GEO_LOCATIONS => array(
'countries' => array('US'),
),
TargetingFields::CUSTOM_AUDIENCES => array(
array(
'id' => <LOOKALIKE_AUDIENCE_ID>,
),
),
)),
));
$adset->create(array(
AdSet::STATUS_PARAM_NAME => AdSet::STATUS_ACTIVE,
));
from facebookads.adobjects.adset import AdSet
adset = AdSet(parent_id='act_<AD_ACCOUNT_ID>')
adset.update({
AdSet.Field.name: 'My Adset',
AdSet.Field.daily_budget: 10000,
AdSet.Field.campaign_id: '<CAMPAIGN_ID>',
AdSet.Field.optimization_goal: AdSet.OptimizationGoal.link_clicks,
AdSet.Field.billing_event: AdSet.BillingEvent.link_clicks,
AdSet.Field.bid_amount: 150,
AdSet.Field.daily_budget: 2000,
AdSet.Field.targeting: {
'geo_locations': {
'countries': ['US'],
},
'custom_audiences': [
{
'id': <LOOKALIKE_AUDIENCE_ID>,
},
],
},
})
adset.remote_create(params={
'status': AdSet.Status.paused,
})
AdSet adSet = new AdAccount(act_<AD_ACCOUNT_ID>, context).createAdSet()
.setName("My AdSet")
.setOptimizationGoal(AdSet.EnumOptimizationGoal.VALUE_REACH)
.setBillingEvent(AdSet.EnumBillingEvent.VALUE_IMPRESSIONS)
.setBidAmount(2L)
.setDailyBudget(1000L)
.setCampaignId(<CAMPAIGN_ID>)
.setTargeting(
new Targeting()
.setFieldCustomAudiences(Arrays.asList(
new IDName()
.setFieldId(<LOOKALIKE_AUDIENCE_ID>)
))
.setFieldGeoLocations(
new TargetingGeoLocation()
.setFieldCountries(Arrays.asList("US"))
)
)
.setStatus(AdSet.EnumStatus.VALUE_ACTIVE)
.execute();
String ad_set_id = adSet.getId();
curl \
-F 'name=My AdSet' \
-F 'optimization_goal=REACH' \
-F 'billing_event=IMPRESSIONS' \
-F 'bid_amount=2' \
-F 'daily_budget=1000' \
-F 'campaign_id=<CAMPAIGN_ID>' \
-F 'targeting={
"custom_audiences": [{"id":"<LOOKALIKE_AUDIENCE_ID>"}],
"geo_locations": {"countries":["US"]}
}' \
-F 'status=ACTIVE' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v2.11/act_<AD_ACCOUNT_ID>/adsets
若要了解更多示例,请参阅定位规范。
获得有关用于创建类似受众的自定义受众,以及类似受众的详细资料。我们会返回与自定义受众相同的字段。以下是创建类似受众所用自定义受众的响应样本。lookalike_audience_ids
用于指定哪些类似受众由此受众生成。
{ "id": "6006164557194", "account_id": 12345, "approximate_count": 816400, "lookalike_audience_ids": [ 6006183285954, 6006183285955 ], "name": "Boys Apparel", "parent_audience_id": 0, "parent_category": "Custom", "status": "ready", "subtype": "CUSTOM", "type": 4, "type_name": "Advertiser Generated", "time_updated": 1362439491 },
类似受众的 subtype
为 2。我们也会返回 lookalike_spec
,其数组格式如下所示:
名称 | 说明 |
---|---|
类型:字符串 |
|
类型:浮点数 | 如果已指定 |
类型:浮点数 |
|
类型:字符串 | 国家/地区代码 |
类型:数组 | 请查看下方说明。 |
类型:布尔值 |
|
类型:整数 | 原始自定义受众编号 |
类型:字符串 | 原始自定义受众名称 |
类型:字符串 |
|
类型:字符串数组 | 所有用于创建受众的国家/地区 |
以下为另一组受众,其中 subtype
是 LOOKALIKE
:
{ "id": "6006183285954", "account_id": 12345, "approximate_count": 1782100, "name": "Boys Apparel_lookalike_US_Similarity", "origin_audience_id": 6006567610735, "parent_audience_id": 0, "parent_category": "Custom", "status": "ready", "subtype": "LOOKALIKE", "type": 4, "type_name": "Advertiser Generated", "time_updated": 1362506552 },
创建类似受众后,我们将会返回自定义受众编号。该受众可能需要 1 个小时才能完全加满。可通过 /{lookalike_audience_ID}?fields=delivery_status
查阅状态。如果受众已满,则将会返回包含 delivery_status
或“code 200”的 JSON 响应:
"delivery_status": { "code": 200, "description": "This audience is ready for use." },
若要测试,请使用广告管理工具检查列表状态。
若要删除类似受众,请按照处理自定义受众的方法将其删除。
如果某类似受众在 90 天内未用于有效广告,则我们会将其视为不活跃。不活跃类似受众具有不同的 approximate_count
、operation_status
和 delivery_estimate
。
字段 | 适用于不活跃类似受众的变更 |
---|---|
| 您无法检索规模。对于不活跃类似受众,调用此字段将返回 |
|
|
| 您无法检索预估投放量。对于不活跃类似受众,调用此字段将返回 |
| 当受众的 |
您仍然可以使用不活跃类似受众开始投放广告系列。您的新广告一经发布,即可查看覆盖人数预估信息。
自 2021 年 6 月 8 日起,对于所有广告主,一旦受众不活跃超过两年,我们将自动将其移至“过期受众”阶段。这意味着,一旦受众超过 2 年未在活跃广告组中使用,将被自动标记为“过期受众”,同时,当受众计划要删除时,delete_time
字段将标记预估删除时间(即从标记时间起 90 天)。
然后,您可以主动删除受众,或在活跃广告组中使用受众以防止其被删除。您随时可以通过筛选受众的 operation_status
或 delete_time
字段,查看您的哪些受众处于过期阶段。
如需了解更多信息,请查看自定义受众概述文件。
2021 年 4 月 28 日更新:从类似受众创建中移除 location_spec
和 country
参数的变更目前暂缓。关于此变更的动态将于近期发布。
我们将从类似受众创建中移除 location_spec
和 country
参数。类似受众的地点将由广告系列定位规范中的国家/地区地点来定义。类似受众规范中并未规定目标地点。对于使用新创建的类似受众的广告系列,系统在广告发布后的几个小时内便会填充预估的覆盖人数。
此类更改不会对现有营销活动产生任何影响。相关要求仅会影响新营销活动和修改后的营销活动。
我们会自动将原有类似受众转化为不带目标地点的新类似受众。
端点:act_{AD_ACCOUNT_ID}/customaudiences
请求示例
curl POST \ -F 'name=My lookalike audience' \ -F 'subtype=LOOKALIKE' \ -F 'origin_audience_id=<SEED_AUDIENCE_ID>' \ -F ‘lookalike_spec={ "is_financial_service":false, "allow_international_seeds":true, "ratio":0.01, "type":"custom_ratio"} ’}\ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v2.11/act_<AD_ACCOUNT_ID>/customaudiences
如果在创建期间传递了以下参数,那么系统将会忽略这些参数:
lookalike_spec.country
lookalike_spec.location_spec
lookalike_spec.location_spec.geo_locations
lookalike_spec.location_spec.geo_locations.countries
lookalike_spec.location_spec.geo_locations.country_groups
lookalike_spec.location_spec.excluded_geo_locations
lookalike_spec.location_spec.excluded_geo_locations.countries
lookalike_spec.location_spec.excluded_geo_locations.country_groups
端点:act_{AD_ACCOUNT_ID}?fields=approximate_count
没有与新类似受众关联的规模,且 approximate_count
字段对于所有类似受众都将返回 -1
。
响应示例
{ "approximate_count": -1, "id": "6126486105659", }
端点:
{AD_ACCOUNT_ID}?fields=delivery_status
{AD_ACCOUNT_ID}?fields=operation_status
对于带地点规范的原有类似受众,delivery_status
字段将返回代码 400
和 This audience is disabled.
说明。对于新类似受众,将返回代码 200
响应。
operation_status
字段将对带地点规范的原有类似受众返回退出通知。对于新类似受众,将返回代码 200
和 Normal
说明响应。
如需获取有关这些字段的更多信息,请参阅自定义受众。
如果包含原有类似受众的现有广告系列定位发生了修改,我们将自动升级广告以使用新的类似受众。原有类似受众将不再用于新创建的广告系列。
由于类似受众创建中移除了地点规范,所以您将需要在“广告组”创建期间设置地区定位。尝试创建不带地点定位的“广告组”将引发错误。
当广告系列中的 excluded_custom_audiences
、flexible_spec
和 exclusions
包含受众时,以上所有更改将同样适用。
端点:act_{AD_ACCOUNT_ID}/adsets
请求示例
curl POST \ -F 'targeting={ "geo_locations":{ "countries":["US"], }, "age_min":25, "age_max":40, "custom_audiences":[{"id": <CUSTOM_AUDIENCE_ID>}] ‘}\ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v2.11/act_<AD_ACCOUNT_ID>/adsets
尝试创建不带地点定位的“广告组”将引发错误。
{ "error": { "message": "Invalid parameter", "type": "FacebookApiException", "code": 100, "error_data": { "blame_field_specs": [["targeting" ] ] }, "error_subcode": 192342134, "is_transient": false, "error_user_title": "Missing Location while using Lookalike", "error_user_msg": "You need to use a location with your lookalike audience.", "fbtrace_id": "F78cCCJoZPx" }, "__fb_trace_id__": "F78cCCJoZPx", "__www_request_id__": "AcwlIc7_uK5uTXjzjIa38yc" }
如果您尝试编辑包含共享原有类似受众的“广告组”,且在所属的广告帐户中无相应的新类似受众时,将出现错误。请求所属广告帐户与您共享新类似受众即可以解决此问题。
{ "error": { "message": "Invalid parameter", "type": "FacebookApiException", "code": 100, "error_data": { "blame_field_specs": [["targeting" ] ] }, "error_subcode": 192342135, "is_transient": false, "error_user_title": "", "error_user_msg": "Please ask the owner of the audience 1234 to share the new lookalike which does not contain location with you. You will be able to use the new audience" "fbtrace_id": "F78cCCJoZPx" }, "__fb_trace_id__": "F78cCCJoZPx", "__www_request_id__": "AcwlIc7_uK5uTXjzjIa38yc" }
在这些更改的推出期间,不支持通过 API 在应用范围内外的广告帐户之间共享类似受众。请使用受众管理器来处理共享请求。自 2021 年 5 月 24 日起,您可以继续通过以下开发者文档中的 API 使用共享功能,以在广告帐户间共享新的类似受众。
端点:{AD_ACCOUNT_ID}/adaccounts?adaccounts={SHARED_TO_AD_ACCOUNT_ID}
端点:
act_{AD_ACCOUNT_ID}/reachestimate
act_{AD_ACCOUNT_ID}/delivery_estimate
这些端点将返回新的 targeting_status
参数,并附有以下任一说明:
lookalike_container_without_country
— 新的类似受众不具备广告系列定位中指定的国家/地区。需要具备国家/地区才能查看预估的用户数。lookalike_container_without_delivery_lookalike
— 新的类似受众无对应的后端类似受众。需要在“广告组”中使用新的类似受众才能真正获得覆盖人数。none
— 覆盖人数没有问题。首次使用新的类似受众和国家/地区定位时,reachestimate
端点将针对 users
参数返回 -1
;系统将由此返回预估的用户数。
首次使用新的类似受众和国家/地区定位时,estimate_dau
和 estimate_mau
参数将针对 users
参数返回 -1
;系统将由此返回预估的用户数。
响应示例
// Reach estimate response { "users": -1, "estimate_ready": true, "targeting_status": "lookalike_container_without_delivery_lookalike" } // Delivery estimate response { "data": [{ "daily_outcomes_curve": [{ "spend": 0, "reach": 0, "impressions": 0, "actions": 0 }], "estimate_dau": -1, "estimate_mau": -1, "estimate_ready": true , "targeting_status": "lookalike_container_without_delivery_lookalike" }] }
这些更改将于市场营销 API v11 的发布日期生效,届时我们会将更改应用于所有版本。
在市场营销 API v10 到 v11 期间,不支持通过 API 在应用范围内外的广告帐户之间共享类似受众。请使用受众管理器来处理共享请求。市场营销 API v11 发布后,您可以继续通过 API 使用共享功能,在广告帐户间共享新的类似受众。