常见问题
访问权限和资格条件
问题 1:如何确定我的广告账号是否有权使用升级版 Smart+ 推广系列(升级版 Smart+)?
答:请登录你的 TikTok 广告管理平台账号,进入推广系列创建页面查看访问权限。
在选择应用推广、线索收集或销量作为推广目标时,如果看到说明手动推广系列和 Smart+ 推广系列已整合到一个流程中的通知,那么你的广告账号可使用升级版 Smart+ 推广系列。
反之,如果没有显示该通知,并且你可以选择手动推广系列和Smart+ 推广系列,或仅可选择手动推广系列,这表示你的广告账号不具备使用升级版 Smart+ 推广系列的权限。
下表展示在不同场景下的广告管理平台 UI。
| 场景 | 推广目标 | UI 截图 |
|---|---|---|
| 创建升级版 Smart+ 推广系列 | 应用推广 | |
| 线索收集 | ||
| 销量 | ||
| 创建 Smart+ 推广系列 | 应用推广 | |
| 线索收集 | ||
| 销量 | ||
| 创建手动推广系列 | 应用推广 | |
| 线索收集 | ||
| 销量 |
不同类型推广系列之间的区别
问题 1:如何区分升级版 Smart+ 推广系列、Smart+ 推广系列和手动推广系列?
答:你可以使用 /campaign/get/ 接口获取这三种类型的推广系列,并通过返回参数 campaign_automation_type 识别每种推广系列类型。
下表概述了它们的差异:
| 推广系列类型 | campaign_automation_type 值 |
广告管理平台 UI 中的推广系列示例 | 从 /campaign/get/ 返回的结果示例 |
|---|---|---|---|
| 升级版 Smart+ 推广系列 | UPGRADED_SMART_PLUS |
升级版 Smart+ 推广系列会显示 Smart+ 图标,且在修改时不会出现 Smart+ 推广系列设置。 | 参见下方返回示例 |
| Smart+ 推广系列 | SMART_PLUS |
Smart+ 推广系列也会显示 Smart+ 图标,但在修改时,Smart+ 推广系列设置处于开启状态。 | 参见下方返回示例 |
| 手动推广系列 | MANUAL |
手动推广系列不显示 Smart+ 图标,且在修改时,Smart+ 推广系列设置处于关闭状态。 | 参见下方返回示例 |
从 /campaign/get/ 返回的升级版 Smart+ 推广系列示例
(code)
{
"code": 0,
"message": "OK",
"request_id": "{{request_id}}",
"data": {
"list": [
{
"sales_destination": null,
"advertiser_id": "{{advertiser_id}}",
"modify_time": "{{modify_time}}",
"is_advanced_dedicated_campaign": false,
"budget_mode": "BUDGET_MODE_DYNAMIC_DAILY_BUDGET",
"virtual_objective_type": null,
<span style="background-color: green;">"campaign_automation_type": "UPGRADED_SMART_PLUS",</span>
"objective_type": "LEAD_GENERATION",
"budget": {{budget}},
"catalog_enabled": false,
"secondary_status": "CAMPAIGN_STATUS_ENABLE",
"rta_bid_enabled": false,
"rta_id": null,
"roas_bid": 0.0,
"rta_product_selection_enabled": false,
"campaign_name": "{{campaign_name}}",
"special_industries": [],
"campaign_id": "{{campaign_id}}",
"app_promotion_type": "UNSET",
<span style="background-color: green;">"is_smart_performance_campaign": false,</span>
"budget_optimize_on": true,
"create_time": "{{create_time}}",
"disable_skan_campaign": null,
"is_search_campaign": false,
"operation_status": "ENABLE",
"deep_bid_type": null,
"is_new_structure": true,
"campaign_type": "REGULAR_CAMPAIGN",
"objective": "LANDING_PAGE"
}
],
"page_info": {
"page": 1,
"page_size": 1000,
"total_page": 1,
"total_number": 1
}
}
}
(/code)
从 /campaign/get/ 返回的 Smart+ 推广系列示例
(code)
{
"code": 0,
"message": "OK",
"request_id": "{{request_id}}",
"data": {
"list": [
{
"campaign_name": "{{campaign_name}}",
<span style="background-color: green;">"is_smart_performance_campaign": true,</span>
"create_time": "{{create_time}}",
"rta_product_selection_enabled": false,
"catalog_enabled": false,
"roas_bid": 0,
"campaign_id": "{{campaign_id}}",
"is_new_structure": true,
"rta_bid_enabled": false,
"modify_time": "{{modify_time}}",
"operation_status": "ENABLE",
"virtual_objective_type": null,
"budget": {{budget}},
"bid_type": "BID_TYPE_NO_BID",
"campaign_type": "REGULAR_CAMPAIGN",
"is_advanced_dedicated_campaign": false,
"objective": "LANDING_PAGE",
<span style="background-color: green;">"campaign_automation_type": "SMART_PLUS",</span>
"budget_mode": "BUDGET_MODE_DYNAMIC_DAILY_BUDGET",
"budget_optimize_on": true,
"rta_id": null,
"is_search_campaign": false,
"objective_type": "WEB_CONVERSIONS",
"advertiser_id": "{{advertiser_id}}",
"deep_bid_type": null,
"disable_skan_campaign": null,
"optimization_goal": "CONVERT",
"secondary_status": "CAMPAIGN_STATUS_ENABLE",
"sales_destination": null
}
],
"page_info": {
"page": 1,
"page_size": 1000,
"total_page": 1,
"total_number": 1
}
}
}
(/code)
从 /campaign/get/ 返回的手动推广系列示例
(code)
{
"code": 0,
"message": "OK",
"request_id": "{{request_id}}",
"data": {
"list": [
{
"campaign_type": "REGULAR_CAMPAIGN",
"budget_optimize_on": true,
"campaign_name": "{{campaign_name}}",
"sales_destination": null,
<span style="background-color: green;">"campaign_automation_type": "MANUAL",</span>
"campaign_id": "{{campaign_id}}",
"catalog_enabled": false,
"rta_id": null,
"secondary_status": "CAMPAIGN_STATUS_ENABLE",
"objective": "LANDING_PAGE",
"modify_time": "{{modify_time}}",
"special_industries": [],
"operation_status": "ENABLE",
"create_time": "{{create_time}}",
"advertiser_id": "{{advertiser_id}}",
"rta_product_selection_enabled": false,
"virtual_objective_type": null,
"budget_mode": "BUDGET_MODE_DYNAMIC_DAILY_BUDGET",
"objective_type": "WEB_CONVERSIONS",
"is_advanced_dedicated_campaign": false,
"deep_bid_type": null,
"rta_bid_enabled": false,
<span style="background-color: green;">"is_smart_performance_campaign": false,</span>
"is_new_structure": true,
"is_search_campaign": false,
"disable_skan_campaign": null,
"budget": {{budget}},
"roas_bid": 0
}
],
"page_info": {
"page": 1,
"page_size": 1000,
"total_page": 1,
"total_number": 1
}
}
}
(/code)
以下截图展示了这三类推广系列在广告管理平台的推广系列列表中的显示方式:
数据获取和 API 问题
问题 1:为什么从 /ad/get/ 返回的升级版 Smart+ 广告的 ad_name 与创意名称相同?
答:之所以出现这种情况,可能是因为你创建了升级版 Smart+ 广告,但在使用 /ad/get/ 接口时没有使用筛选条件 ad_ids_v2。如果未使用该筛选条件,你将收到创意层级的数据,导致从 /ad/get/ 返回的 ad_name 显示的是创意名称而不是广告名称。
若想获取升级版 Smart+ 广告的特定广告层级数据,需在筛选条件中包含这些广告的 ID。这样,返回的 ad_name 将准确反映广告名称。或者,你也可以考虑使用 /smart_plus/ad/get/ 接口来获取广告层级的详细数据。
下表汇总了升级版 Smart+ 广告可通过不同接口访问的广告或创意数据:
| 数据层级 | 使用的接口 | UI 截图 | 配置要求 | 代码示例 |
|---|---|---|---|---|
| 广告层级 | 选项 1:/ad/get/ | 传入升级版 Smart+ 广告 ID 以使用筛选条件 ad_ids_v2。 |
参见下方代码示例 | |
| 选项 2:/smart_plus/ad/get/ | N/A | 参见下方代码示例 | ||
| 选项 3:/report/integrated/get/ 或 /report/task/create/ | 将 data_level 设置为 AUCTION_AD,并在 dimensions 中包含 ad_id_v2。你可以选择在筛选条件字段 ad_id_v2 中传入特定升级版 Smart+ 广告的 ID,以筛选这些广告的报告数据。 |
参见下方代码示例 | ||
| 创意层级 | 选项 1:/ad/get/ | 请勿使用筛选条件 ad_ids_v2。你可以选择在筛选条件字段 ad_ids 中传入升级版 Smart+ 广告中创意的 ID,以筛选这些创意的报告数据。 |
参见下方代码示例 | |
| 选项 2:/smart_plus/material_report/overview/ 或 /smart_plus/material_report/breakdown/ | N/A | 参见下方代码示例 | ||
| 选项 3:/report/integrated/get/ 或 /report/task/create/ | 将 data_level 设置为 AUCTION_AD,并在 dimensions 中包含 ad_id。你可以选择在筛选条件字段 ad_id 中传入升级版 Smart+ 广告中创意的 ID,以筛选该创意的报告数据。 |
参见下方代码示例 |
通过 /ad/get/ 获取的广告层级数据的示例
请求
(code)
curl --location --request GET 'https://business-api.tiktok.com/open_api/v1.3/ad/get/?advertiser_id={{advertiser_id}}<span style="background-color: green;">&filtering={"ad_ids_v2":["{{ad_id_v2}}"]}</span>' \
--header 'Access-Token: {{Access-Token}}'
(/code)
返回
(code curl http)
{
"code": 0,
"message": "OK",
"request_id": "{{request_id}}",
"data": {
"list": [
{
"campaign_id": "{{campaign_id}}",
"adgroup_id": "{{adgroup_id}}",
"campaign_name": "{{campaign_name}}",
"ad_name": "{{ad_name}}",
"ad_id_v2": "{{ad_id_v2}}",
"advertiser_id": "{{advertiser_id}}",
"campaign_automation_type": "UPGRADED_SMART_PLUS",
"adgroup_name": "{{adgroup_name}}"
}
],
"page_info": {
"page": 1,
"page_size": 10,
"total_page": 1,
"total_number": 1
}
}
}
(/code)
通过 /smart_plus/ad/get/ 获取的广告层级数据的示例
请求
(code curl http)
curl --location --request GET 'https://business-api.tiktok.com/open_api/v1.3/smart_plus/ad/get/?advertiser_id={{advertiser_id}}&page=1&page_size=100&filtering={"smart_plus_ad_ids":["{{smart_plus_ad_id}}"]}' \
--header 'Access-Token: {{Access-Token}}'
(/code)
返回
(code curl http)
{
"code": 0,
"message": "OK",
"request_id": "{{request_id}}",
"data": {
"list": [
{
"ad_configuration": {
"call_to_action_id": "{{call_to_action_id}}",
"catalog_creative_toggle": false,
"fallback_type": "UNSET"
},
"ad_name": "{{ad_name}}",
"ad_text_list": [],
"adgroup_id": "{{adgroup_id}}",
"adgroup_name": "{{adgroup_name}}",
"advertiser_id": "{{advertiser_id}}",
"campaign_id": "{{campaign_id}}",
"campaign_name": "{{campaign_name}}",
"create_time": "{{create_time}}",
"creative_list": [
{
"ad_material_id": "{{ad_material_id}}",
"creative_info": {
"ad_format": "CAROUSEL_ADS",
"identity_id": "{{identity_id}}",
"identity_type": "AUTH_CODE",
"tiktok_item_id": "{{tiktok_item_id}}"
},
"material_operation_status": "ENABLE"
}
],
"deeplink_list": [],
"landing_page_url_list": [
{
"landing_page_url": "{{landing_page_url}}"
}
],
"modify_time": "{{modify_time}}",
"operation_status": "ENABLE",
"secondary_status": "AD_STATUS_CAMPAIGN_DISABLE",
"smart_plus_ad_id": "{{smart_plus_ad_id}}"
}
],
"page_info": {
"page": 1,
"page_size": 100,
"total_number": 1,
"total_page": 1
}
}
}
(/code)
通过 /report/integrated/get/ 获取的广告层级数据的示例
请求
(code)
curl --location --request GET 'https://business-api.tiktok.com/open_api/v1.3/report/integrated/get/?advertiser_id={{advertiser_id}}&service_type=AUCTION&report_type=BASIC<span style="background-color: green;">&data_level=AUCTION_AD&dimensions=["ad_id_v2"]</span>&metrics=["spend","ad_id_v2","ad_name"]&filtering=[{"field_name": "ad_ids_v2","filter_type": "IN","filter_value": "["{{ad_id_v2}}"]"}]&start_date={{start_date}}&end_date={{end_date}}&page=1&page_size=1000' \
--header 'Access-Token: {{Access-Token}}'
(/code)
返回
(code curl http)
{
"code": 0,
"message": "OK",
"request_id": "{{request_id}}",
"data": {
"page_info": {
"page": 1,
"total_page": 1,
"page_size": 1,
"total_number": 1
},
"list": [
{
"dimensions": {
"ad_id_v2": "{{ad_id_v2}}"
},
"metrics": {
"spend": "{{spend}}",
"ad_id_v2": "{{ad_id_v2}}",
"ad_name": "{{ad_name}}"
}
}
]
}
}
(/code)
通过 /ad/get/ 获取的创意层级数据的示例
请求
(code curl http)
curl --location --request GET 'https://business-api.tiktok.com/open_api/v1.3/ad/get/?advertiser_id={{advertiser_id}}&filtering={"ad_ids":["{{ad_id}}"]}' \
--header 'Access-Token: {{Access-Token}}'
(/code)
返回
(code curl http)
{
"code": 0,
"message": "OK",
"request_id": "{{request_id}}",
"data": {
"list": [
{
"video_id": "{{video_id}}",
"advertiser_id": "{{advertiser_id}}",
"campaign_name": "{{campaign_name}}",
"adgroup_name": "{{adgroup_name}}",
"campaign_id": "{{campaign_id}}",
"adgroup_id": "{{adgroup_id}}",
"modify_time": "{{modify_time}}",
"identity_id": "{{identity_id}}",
"ad_id": "{{ad_id}}",
"secondary_status": "AD_STATUS_CAMPAIGN_DISABLE",
"identity_type": "CUSTOMIZED_USER",
"campaign_automation_type": "UPGRADED_SMART_PLUS_CREATIVE",
"ad_text": "",
"smart_plus_ad_id": "{{smart_plus_ad_id}}",
"operation_status": "ENABLE",
"ad_name": "{{ad_name}}",
"create_time": "{{create_time}}",
"image_ids": [
"{{image_id}}"
]
}
],
"page_info": {
"page": 1,
"page_size": 10,
"total_page": 1,
"total_number": 1
}
}
}
(/code)
通过 /smart_plus/material_report/overview/ 获取的创意层级数据的示例
请求
(code curl http)
curl --location --request GET 'https://business-api.tiktok.com/open_api/v1.3/smart_plus/material_report/overview/?advertiser_id={{advertiser_id}}&dimensions=["smart_plus_ad_id","main_material_id"]&metrics=["spend"]&filtering={"smart_plus_ad_ids": ["{{smart_plus_ad_id}}"]}&start_date={{start_date}}&end_date={{end_date}}&page=1&page_size=100' \
--header 'Access-Token: {{Access-Token}}'
(/code)
返回
(code curl http)
{
"code": 0,
"message": "OK",
"request_id": "{{request_id}}",
"data": {
"list": [
{
"dimensions": {
"main_material_id": "{{main_material_id}}",
"main_material_type": "VIDEO_SPARK_ADS",
"smart_plus_ad_id": "{{smart_plus_ad_id}}"
},
"metrics": {
"main_material_name": "{{main_material_name}}",
"spend": "0.00"
}
},
{
"dimensions": {
"main_material_id": "{{main_material_id}}",
"main_material_type": "CAROUSEL_SPARK_ADS",
"smart_plus_ad_id": "{{smart_plus_ad_id}}"
},
"metrics": {
"main_material_name": "{{main_material_name}}",
"spend": "0.00"
}
}
],
"page_info": {
"page": 1,
"page_size": 100,
"total_number": 2,
"total_page": 1
}
}
}
(/code)
通过 /report/integrated/get/ 获取的创意层级数据的示例
请求
(code)
curl --location --request GET 'https://business-api.tiktok.com/open_api/v1.3/report/integrated/get/?advertiser_id={{advertiser_id}}&service_type=AUCTION&report_type=BASIC<span style="background-color: green;">&data_level=AUCTION_AD&dimensions=["ad_id"]</span>&metrics=["spend","ad_id","ad_name"]&filtering=[{"field_name":"ad_ids","filter_type":"IN","filter_value":"["{{ad_id}}"]"}]&start_date={{start_date}}&end_date={{end_date}}&page=1&page_size=1000' \
--header 'Access-Token: {{Access-Token}}'
(/code)
返回
(code curl http)
{
"code": 0,
"message": "OK",
"request_id": "{{request_id}}",
"data": {
"list": [
{
"dimensions": {
"ad_id": "{{ad_id}}"
},
"metrics": {
"spend": "{{spend}}",
"ad_id": "{{ad_id}}",
"ad_name": "{{ad_name}}"
}
}
],
"page_info": {
"page": 1,
"total_number": 1,
"page_size": 1,
"total_page": 1
}
}
}
(/code)
问题 2:我尝试使用 /campaign/update/ 和 /campaign/spc/update/ 更新推广系列,但两个接口都报错,显示“This API does not support Upgraded Smart Plus ads.”,我应该怎么做?
答:如果你尝试更新升级版 Smart+ 推广系列,可能会出现这个问题。若想正确更新这类推广系列,应使用 /smart_plus/campaign/update/ 接口或 /smart_plus/campaign/status/update/ 接口。这些接口专为处理升级版 Smart+ 推广系列的更新而设计。