进阶赋能型应用广告(以前称为“自动应用广告”)利用机器学习和自动化系统提高应用安装广告成效。此解决方案有助于扩展广告规模,最终会提高工作效率。
普通应用广告与进阶赋能型应用广告的比较结果:
手动应用广告 | 进阶赋能型应用广告 |
---|---|
一个广告系列 多个广告组 多则广告 | 一个广告系列 一个广告组 多则广告 |
依靠手动调整。 | 依靠机器学习调整。 |
最多支持手动测试 50 种创意组合。 | 最多支持手动测试 50 种创意组合。 |
现在能够投放以 iOS 14 用户为目标的 SKAdNetwork 进阶赋能型应用广告。
要使用进阶赋能型应用广告,您需要拥有以下各项:
ads_management
和 ads_read
权限必须获得授权,能够向用于提供广告资金的广告帐户发出 GET
和 POST
调用。
向 /act_{ad_account_id}/campaigns
发送 POST
请求,并在其中加入以下必要和可选参数:
参数 | 描述 | ||||
---|---|---|---|---|---|
adlabels 对象清单 | 与进阶赋能型应用广告相关联的广告标签。可选。 | ||||
buying_type 字符串 | 进阶赋能型应用广告目前仅支持 | ||||
execution_options 枚举清单 | 默认值:
如果调用通过验证或审核,则响应会是 | ||||
is_skadnetwork_attribution 字符串 | 标识 SKAdsNetwork 广告系列。可选 | ||||
name 字符串 | 进阶赋能型应用广告的名称。 | ||||
objective 枚举 | 这是广告系列目标。对此类广告,要指定为 | ||||
promoted_object 对象 | 此广告组的目标是通过其所有广告促销。对于进阶赋能型应用广告,要指定 如果优化目标不是
如果 is_skadnetwork_attribution 已设置为 true,则是必要参数。 | ||||
smart_promotion_type 对象清单 | 要将此广告指定为进阶赋能型应用广告,则要将智能促销类型设置为 | ||||
special_ad_categories 对象清单 | 进阶赋能型应用广告目前不支持特殊广告类别。请将此清单指定为空清单,就像这样: | ||||
status 枚举 | 有效选项包括: 如果此状态是 | ||||
topline_id 数值字符串或整数 | 顶行编号。可选。 |
curl -X POST \
-F 'name=Advantage+ app campaigns sample campaign' \
-F 'objective=APP_INSTALLS' \
-F 'status=ACTIVE' \
-F 'special_ad_categories=[]' \
-F 'smart_promotion_type=SMART_APP_PROMOTION' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/act_{ad-account-id}/campaigns
如果已有广告系列并且要对其进行更新,请参见发布后 > 更新广告系列。
可自愿验证是否已成功创建进阶赋能型应用广告。为此,请向 /{ad-campaign-id}
发送 GET
请求,并在其中加入 smart_promotion_type
字段。对于有效的进阶赋能型应用广告,得到的响应是 SMART_APP_PROMOTION
。
curl -X GET -G \
-d 'fields="smart_promotion_type"' \
-d 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/{ad-campaign-id}
创建有效进阶赋能型应用广告之后的响应的示例:
{ "smart_promotion_type": "SMART_APP_PROMOTION", "id": {ad-campaign-id} }
广告系列创建完成之后,要创建广告组。广告组是一组共享相同单日预算或总预算、排期、竞价类型、竞价信息和定位数据的广告。
要创建广告组,请向 /act_{ad_account_id}/adsets
发送 POST
请求。可以添加以下参数:
参数 | 描述 | ||||
---|---|---|---|---|---|
对象清单 | 用于指定要与此对象相关联的对象清单。 可选。 | ||||
整数 | 如果 此广告组的竞价上限或目标费用。用在最低费用竞价策略中的竞价上限,是指根据 如果已指定广告层级的 对于 USD、EUR 之类的货币,竞价金额单位是分;对于 JPY、KRW 之类的货币,基本货币单位也是分。竞价金额指的是每一次竞价,最小值是 1 美分。其他货币的最小竞价金额与所指定的美元金额等值。 | ||||
对象清单 | 如果 最低广告花费回报 (ROAS) 竞价类似于广告组预算,也用此参数指定最低 ROAS,但不能一同使用 | ||||
枚举 | 对于此广告组,要选择与特定业务目标相符的竞价策略。每项策略都有顾此失彼之处,均可用于某些 对于进阶赋能型应用广告,可使用以下策略:
| ||||
billing_event 枚举 | 用于此广告组的账单事件。对于自动化应用广告,请指定 | ||||
campaign_id 数值字符串或整数 | 要对其添加此广告组的有效进阶赋能型应用广告的编号。必要。 | ||||
枚举 | 此广告组使用的广告系列归因类型。
一个广告系列具有多个广告组时,所有广告组的广告系列归因类型应相同。 创建 iOS 14+ 广告系列时,必须使用此字段。 | ||||
int64 | 用您的帐户货币指定的单日预算,仅针对有时长(
| ||||
日期时间 | 如果已指定 创建有 例如: | ||||
int64 | 用您的帐户货币指定的总预算。如果已指定,则还须指定
| ||||
name 字符串 | 进阶赋能型应用广告广告组的名称。必要。 | ||||
optimization_goal 枚举 | 广告组优化目标。进阶赋能型应用广告支持以下优化目标:
| ||||
promoted_object 对象 | 此广告组的目标是通过其所有广告促销。对于进阶赋能型应用广告,要指定 如果优化目标不是
所有广告系列的必要参数,SKAdNetwork 广告系列除外。对于 SKAdNetwork 广告系列是可选参数。 | ||||
枚举 | 对于创建,只有 | ||||
日期时间 | 广告组的开始时间。例如: | ||||
定位目标 | 进阶赋能型应用广告广告组的目标结构。有效定位选项包括 例如: { "geo_location": { "countries": [“US”] }, "locales": [8] } 进阶赋能型应用广告不支持操作系统定位,但 SKAdsNetwork 进阶赋能型应用广告仅会以 iOS14.5+ 用户为目标。 必要。 | ||||
日期时间 | 开始投放此广告组的时间。 | ||||
日期时间 | 停止投放此广告组的时间。 |
参数 | 描述 |
---|---|
数组 | 用于通过必要参数 (countries) 限制广告组的受众。有效值: |
数组 | 定位特定地区中使用非常用语言的用户。要使用此字段,请提供语言编号,例如 5(表示德语)。详情请参见定位搜索 > 语言。 |
curl -X POST \
-F 'name=Advantage+ app campaigns sample ad set' \
-F 'campaign_id={campaign-id}' \
-F 'optimization_goal=APP_INSTALLS' \
-F 'promoted_object={ "application_id": "{app-id}", "object_store_url": "{store-object-id} }' \
-F 'daily_budget=<num>' \
-F 'billing_event=IMPRESSIONS' \
-F 'targeting={"geo_locations": {"countries": ["US"]}}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/act_{ad-account-id}/adsets
如果已有广告组并且要对其进行更新,请参见发布后 > 更新广告组。
在广告组层级,必须指定优化目标、竞价策略和自定义事件类型。下表概述了这些字段的有效组合方式。
优化目标 | 竞价策略 | 自定义事件类型 |
---|---|---|
|
| 不适用。 |
|
|
|
|
| 所有标准应用事件,包括 |
|
|
|
curl -X POST \ -F 'name=Advantage+ app campaigns sample campaign' \ -F 'objective=APP_INSTALLS' \ -F 'status=ACTIVE' \ -F 'special_ad_categories=[]' \ -F 'smart_promotion_type=SMART_APP_PROMOTION' \ -F 'is_skadnetwork_attribution=true' \ -F 'promoted_object={ "application_id": "{app-id}", "object_store_url": "{object-store-url}" }' \ -F 'access_token={access-token}' \ https://graph.facebook.com/act_{ad-account-id}/campaigns
广告组创建完成后,即可通过向 /act_{ad_account_id}/ads
端点发布来创建广告。可以添加以下参数:
参数 | 描述 |
---|---|
int64 | 必要。 |
对象清单 | 可选。 |
AdCreative | 必要。 可按以下格式提供创意: { "creative_id": {creative-id} } 提供创意规格: { "creative": { \"name\": \"<NAME>\", \"object_story_spec\": <SPEC> } } |
枚举清单 | 可选。
如果调用通过验证或审核,则响应会是 |
字符串 | 必要。 |
AdCreative 类型:枚举 | 必要。 |
参数 | 描述 |
---|---|
AdAssetFeedSpec | 使用 用于版位素材定制和多语言广告,以自定义显示在不同广告版位中或用不同语言显示的创意素材。格式已设置为 JSON 字符串。 可用字段:
要详细了解各个字段,请参见素材信息库选项。 |
AdCreativeObjectStorySpec | 必要。 想要对广告附加图片或视频或想要使用轮播广告格式时使用。如果想要新建公共主页隐藏帖,然后将此帖变成广告,也可使用此参数。 可用字段:
|
AdCreative | 如果设置为 |
以创意规格格式提供创意的示例:
curl -X POST \
-F 'name=Advantage+ app campaigns sample ad' \
-F 'adset_id={adset-id}' \
-F 'creative={"name": {name}, "object_story_spec": {specifications}}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/act_{ad-account-id}/ads
如果要使用 creative_id
,则必须先通过 /adcreatives
调用提供创意:
curl -X POST \
-F 'object_story_spec={object-story-specifications}' \
-F 'asset_feed_spec={asset-feed-specifications}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/act_act_{ad-account-id}/adcreatives
如果成功,系统会为之前的调用返回 creative_id
,您可将其用在 /ads
调用中:
curl -X POST \
-F 'name=Advantage+ app campaigns sample ad' \
-F 'adset_id={adset-id}' \
-F 'creative={creative-id}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/act_{ad-account-id}/ads
如果已有广告并且要对其进行更新,请参见发布后 > 更新广告。
curl -X POST \
-F 'name=Advantage+ app campaigns static image/video sample ad' \
-F 'adset_id={adset-id}' \
-F 'creative={
"media_type": "SINGLE_IMAGE",
"object_story_spec": {
"instagram_actor_id": "{instagram-actor-id}",
"page_id": "{page-id}",
"link_data": {
"call_to_action": {
"type": "INSTALL_MOBILE_APP"
},
"image_hash": "{image-hash}",
"link": "{link}",
"message": "{message}",
"name": "{name}"
}
}
}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/act_{ad-account-id}/ads
适用情况:想要自定义显示在不同广告版位中的创意素材。详情请查看版位素材定制页面。
curl -X POST \
-F 'object_story_spec={
"instagram_actor_id": "{instagram-actor-id}",
"page_id": "{page-id}"
}' \
-F 'asset_feed_spec={
"ad_formats": [
"SINGLE_IMAGE"
],
"asset_customization_rules": [
{
"customization_spec": {
"publisher_platforms": [
"facebook"
],
"facebook_positions": [
"feed",
"instream_video"
]
},
"image_label": {
"name": "{image-label1}"
}
},
{
"customization_spec": {
"publisher_platforms": [
"instagram"
],
"instagram_positions": [
"stream"
]
},
"image_label": {
"name": "{image-label2}"
}
}
],
"bodies": [
{
"text": "{text}"
}
],
"call_to_action_types": [
"INSTALL_MOBILE_APP"
],
"images": [
{
"hash": "{image-hash1}",
"adlabels": [
{
"name": "{image-label1}"
}
]
},
{
"hash": "{image-hash2}",
"adlabels": [
{
"name": "{image-label2}"
}
]
}
],
"link_urls": [
{
"website_url": "{website-url}",
"display_url": "{display-url}",
"deeplink_url": "{deeplink-url}"
}
],
"titles": [
{
"text": "{title}"
}
]
}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/act_act_{ad-account-id}/adcreatives
适用情况:自定义广告创意的不同部分(如图片、视频、文本和广告正文等),以便覆盖使用不同语言的用户。详情请查看多语言广告页面。
curl -X POST \
-F 'object_story_spec={
"instagram_actor_id": "{instagram-actor-id}",
"page_id": "{page-id}"
}' \
-F 'asset_feed_spec={
"ad_formats": [
"SINGLE_IMAGE"
],
"asset_customization_rules": [
{
"is_default": true,
"customization_spec": {
"locales": [
24
]
},
"title_label": {
"name": "{title-label-english}"
},
"body_label": {
"name": "{body-label-english}"
},
"link_url_label": {
"name": "{link-label-english}"
},
"image_label": {
"name": "{image-label1}"
}
},
{
"customization_spec": {
"locales": [
9,
44
]
},
"title_label": {
"name": "{title-label-french}"
},
"body_label": {
"name": "{body-label-french}"
},
"link_url_label": {
"name": "{link-label-french}"
},
"image_label": {
"name": "{image-label2}"
}
}
],
"bodies": [
{
"text": "Primary Text in English",
"adlabels": [
{
"name": "{body-label-english}"
}
]
},
{
"text": "Primary Text in French",
"adlabels": [
{
"name": "{body-label-french}"
}
]
}
],
"call_to_action_types": [
"INSTALL_MOBILE_APP"
],
"images": [
{
"hash": "{image-hash1}",
"adlabels": [
{
"name": "{image-label1}"
}
]
},
{
"hash": "{image-hash2}",
"adlabels": [
{
"name": "{image-label2}"
}
]
}
],
"link_urls": [
{
"website_url": "{website-url}",
"display_url": "{display-url}",
"deeplink_url": "{deeplink-url}",
"adlabels": [
{
"name": "{link-label-english}"
}
]
},
{
"website_url": "{website-url}",
"display_url": "{display-url}",
"deeplink_url": "{deeplink-url}",
"adlabels": [
{
"name": "{link-label-french}"
}
]
}
],
"titles": [
{
"text": "English Title",
"adlabels": [
{
"name": "{title-label-english}"
}
]
},
{
"text": "French Title",
"adlabels": [
{
"name": "{title-label-french}"
}
]
}
]
}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/act_act_{ad-account-id}/adcreatives
适用情况:想要提供多个正文或标题。
curl -X POST \
-F 'object_story_spec={
"instagram_actor_id": "{instagram-actor-id}",
"page_id": "{page-id}"
}' \
-F 'asset_feed_spec={
"asset_feed_spec": {
"optimization_type": "DEGREES_OF_FREEDOM",
"bodies": [
{
"text": "Primary Text 1"
},
{
"text": "Primary Text 2"
},
{
"text": "Primary Text 3"
},
{
"text": "Primary Text 4"
},
{
"text": "Primary Text 5"
}
],
"call_to_action_types": [
"INSTALL_MOBILE_APP"
],
"images": [
{
"hash": "{image-hash}"
}
],
"link_urls": [
{
"website_url": "{website-url}",
"display_url": "{display-url}",
"deeplink_url": "{deeplink-url}"
}
],
"titles": [
{
"text": "Title 1"
},
{
"text": "Title 2"
},
{
"text": "Title 3"
},
{
"text": "Title 4"
},
{
"text": "Title 5"
}
]
}
}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/act_act_{ad-account-id}/adcreatives
curl -X POST \
-F 'object_story_spec={
"instagram_actor_id": "{instagram-actor-id}",
"page_id": "{page-id}"
}' \
-F 'asset_feed_spec={
"ad_formats": [
"SINGLE_IMAGE"
],
"asset_customization_rules": [
{
"customization_spec": {
"publisher_platforms": [
"facebook"
],
"facebook_positions": [
"feed",
"instream_video"
]
},
"image_label": {
"name": "{image-label1}"
},
"body_label": {
"name": "{body-label1}"
},
"title_label": {
"name": "{title-label1}"
}
},
{
"customization_spec": {
"publisher_platforms": [
"instagram"
],
"instagram_positions": [
"stream"
]
},
"image_label": {
"name": "{image-label2}"
},
"body_label": {
"name": "{body-label2}"
},
"title_label": {
"name": "{title-label2}"
}
}
],
"bodies": [
{
"text": "Primary Text 1",
"adlabels": [
{
"name": "{body-label1}"
},
{
"name": "{body-label2}"
}
]
},
{
"text": "Primary Text 2",
"adlabels": [
{
"name": "{body-label1}"
},
{
"name": "{body-label2}"
}
]
},
{
"text": "Primary Text 3",
"adlabels": [
{
"name": "{body-label1}"
},
{
"name": "{body-label2}"
}
]
},
{
"text": "Primary Text 4",
"adlabels": [
{
"name": "{body-label1}"
},
{
"name": "{body-label2}"
}
]
},
{
"text": "Primary Text 5",
"adlabels": [
{
"name": "{body-label1}"
},
{
"name": "{body-label2}"
}
]
}
],
"call_to_action_types": [
"INSTALL_MOBILE_APP"
],
"images": [
{
"hash": "{image-hash1}",
"adlabels": [
{
"name": "{image-label1}"
}
]
},
{
"hash": "{image-hash2}",
"adlabels": [
{
"name": "{image-label2}"
}
]
}
],
"link_urls": [
{
"website_url": "{website-url}",
"display_url": "{display-url}",
"deeplink_url": "{deeplink-url}"
}
],
"titles": [
{
"text": "Title 1",
"adlabels": [
{
"name": "{title-label1}"
},
{
"name": "{title-label2}"
}
]
},
{
"text": "Title 2",
"adlabels": [
{
"name": "{title-label1}"
},
{
"name": "{title-label2}"
}
]
},
{
"text": "Title 3",
"adlabels": [
{
"name": "{title-label1}"
},
{
"name": "{title-label2}"
}
]
},
{
"text": "Title 4",
"adlabels": [
{
"name": "{title-label1}"
},
{
"name": "{title-label2}"
}
]
},
{
"text": "Title 5",
"adlabels": [
{
"name": "{title-label1}"
},
{
"name": "{title-label2}"
}
]
}
]
}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/act_act_{ad-account-id}/adcreatives
发布进阶赋能型应用广告之后,可能需要更新或读取广告目标,请在下面查看执行这些操作的方法。对于广告成效分析相关信息,请参见我们的素材信息库规格 > 成效分析文档。
如果要更新自动应用广告系列,请向 /{campaign_id}
发送 POST
请求。可在 API 调用中使用以下参数:
参数 | 描述 |
---|---|
对象清单 | 应与进阶赋能型应用广告相关联的广告标签。 |
枚举清单 | 默认值:
如果调用通过验证或审核,则响应会是 |
字符串 | 进阶赋能型应用广告的新名称。 |
枚举 | 可对更新 API 调用使用以下状态:
如果广告系列状态已设置为 |
数值字符串或整数 | 顶行编号。 |
curl -X POST \
-F 'name=Advantage+ app campaigns Update Sample Campaign' \
-F 'status=PAUSED' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/{campaign-id}
如果要更新自动应用广告组,请向 /{ad_set_id}
发送 POST
请求。可在 API 调用中使用以下参数:
参数 | 描述 |
---|---|
对象清单 | 用于指定要与此对象相关联的对象清单。可选。 |
整数 | 如果 此广告组的竞价上限或目标费用。用在最低费用竞价策略中的竞价上限,是指根据 如果已指定广告层级的 对于 USD、EUR 之类的货币,竞价金额单位是分;对于 JPY、KRW 之类的货币,基本货币单位也是分。竞价金额指的是每一次竞价,最小值是 1 美分。其他货币的最小竞价金额与所指定的美元金额等值。 |
枚举 | 对于此广告组,要选择与特定业务目标相符的竞价策略。每项策略都有顾此失彼之处,均可用于某些 要更新进阶赋能型应用广告组,可使用以下策略:
如果启用广告预算优化,请在父级广告层级设置 |
int64 | 用您的帐户货币指定的单日预算,仅针对有时长( |
日期时间 | 结束时间,在指定 创建有单日预算的广告组时要指定 |
枚举清单 | 可选。 默认值:
如果调用通过验证或审核,则响应会是 |
int64 | 用您的帐户货币指定的总预算。如果已指定,则还须指定 |
对象 | 对于某些广告目标,这是必要参数。 此广告组的目标是通过其所有广告促销。 如果优化目标不是
|
日期时间 | 广告组的开始时间。必须用 UTC UNIX 时间戳指定。例如: |
枚举 | 可用于更新的选项包括:
|
日期时间 | 开始投放此广告组的时间。 |
日期时间 | 停止投放此广告组的时间。 |
curl -X POST \
-F 'name=Advantage+ app campaigns sample updated ad set' \
-F 'bid_strategy=LOWEST_COST_WITH_BID_CAP' \
-F 'bid_amount=200' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/{ad-set-id}
如果必须更新自动应用广告,请向 /{ad_id}
发送 POST
请求。可在 API 调用中使用以下参数:
参数 | 描述 |
---|---|
字符串 | 广告的名称。 |
对象清单 | 与此广告相关联的广告标签。 |
枚举清单 | 可选。 默认值:
如果调用通过验证或审核,则响应会是 |
枚举 | 选项包括:
在测试过程中,建议将广告状态设置为 |
AdCreative | 要用于此广告的广告创意的创意规格。如要了解有效字段,请参见“创意字段”。请按如下形式指定创意规格: { "creative": { \"name\": \"<NAME>\", \"object_story_spec\": <SPEC> } } |
curl -X POST \ -F 'name=Advantage+ app campaigns sample update ad' \ -F 'creative={"name": {name}, "object_story_spec": {specifications}}' \ -F 'access_token={access-token}' \ https://graph.facebook.com/{ad-id}