创建商品来源为橱窗的视频购物广告
TikTok上的橱窗(Showcase)功能使顾客能够直接从卖家或创作者的账号购买商品。您可以点击TikTok账户主页的购物袋标志,便可切换至橱窗选项卡。橱窗内展示的产品可能来自单个或多个TikTok Shop。点击这里了解如何使用橱窗功能。
本文介绍了如何创建商品来源为橱窗的视频购物广告。
注意
- 下列参数表中
必填/条件必填标记只适用于商品来源为橱窗的视频购物广告场景。- 创建商品来源为橱窗的视频购物广告目前为白名单功能。如需使用此功能,请联系您的TikTok销售代表。
1.创建推广系列
使用/campaign/create/接口创建一个推广系列。下表仅列出了购物广告的相关参数。 若想了解推广系列创建所需的其他参数,请查看/campaign/create/。
注意
目前商品来源为橱窗的购物广告不支持推广系列预算优化(CBO)。
|字段 {30%}|类型{15%}|描述{55%}|
|---|---|---|
| advertiser_id {必填} | string | 广告主 ID。 |
| objective_type {必填} | string | 推广目标。<br>购物广告需将此字段设置为`PRODUCT_SALES`。 |
|budget_mode {+条件必填}|string| 预算模式。例如可以设置日预算。当`objective_type`<strong>不是</strong>`RF_REACH`时必填。当`objective_type`为`RF_REACH`时,`budget_mode`仅支持`BUDGET_MODE_INFINITE`。<br>欲了解如何设置预算类型,请查看[预算](https://ads.tiktok.com/marketing_api/docs?id=1739381246298114)。|
| budget{+条件必填} | float | 推广系列预算。当 `budget_mode`设置为`BUDGET_MODE_DAY`或`BUDGET_MODE_DYNAMIC_DAILY_BUDGET `或`BUDGET_MODE_TOTAL`时必填。 <br>欲了解最小预算和如何设置预算类型,请查看[预算](https://ads.tiktok.com/marketing_api/docs?id=1739381246298114)。 |
| campaign_name{必填} | string | 推广系列名称。最长为512个字符,不支持表情符号。<br><p><span style="color:darkred"><b>注意</b></span>: 每个汉字或日文单字算作两个字符,每个英文字母算作一个字符。 |
| campaign_product_source{必填} | string | 视频购物推广系列的商品来源。<br>将本字段设置为 `STORE`(TikTok Shop 店铺,或 TikTok 橱窗)。 |
示例
请求
(code curl http)
curl --location --request POST 'https://business-api.tiktok.com/open_api/v1.3/campaign/create/' \
--header 'Access-Token: {{Access-Token}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"advertiser_id": "{{advertiser_id}}",
"budget_mode": "BUDGET_MODE_TOTAL",
"objective_type": "PRODUCT_SALES",
"campaign_product_source": "STORE",
"campaign_name": "{{campaign_name}}",
"budget": 5000
}'
(/code)
返回
(code Success-Response http)
HTTPS/1.1 200 OK
{
"code": 0,
"message": "OK",
"request_id": "{{request_id}}",
"data": {
"budget": 5000.0,
"campaign_type": "REGULAR_CAMPAIGN",
"campaign_product_source": "STORE",
"advertiser_id": "{{advertiser_id}}",
"campaign_app_profile_page_state": "UNSET",
"roas_bid": 0.0,
"campaign_id": "{{campaign_id}}",
"campaign_name": "{{campaign_name}}",
"budget_mode": "BUDGET_MODE_TOTAL",
"objective": "LANDING_PAGE",
"secondary_status": "CAMPAIGN_STATUS_ENABLE",
"create_time": "{{create_time}}",
"deep_bid_type": null,
"is_new_structure": true,
"operation_status": "ENABLE",
"modify_time": "{{modify_time}}",
"objective_type": "PRODUCT_SALES",
"is_smart_performance_campaign": false
}
}
(/code)
2.创建有效的橱窗身份并获取必要权限
您需要使用与橱窗绑定的身份创建视频购物广告组,并确保满足以下条件:
- 将您想要用于创建视频购物广告组的橱窗与TikTok 用户或添加到商务中心的 TikTok 用户类型的认证身份绑定。
当TikTok 用户或添加到商务中心的 TikTok 用户类型的身份创建成功时,TikTok账户的橱窗将与该认证身份绑定。请查看认证身份了解不同的认证身份类型,并浏览创建Spark Ads了解如何创建TikTok 用户或添加到商务中心的TikTok 用户类型的认证身份并使用认证身份创建Spark Ads。请注意,商品来源为橱窗的视频购物广告均为Spark Ads。
- 您的广告账户已获取橱窗的权限。
点击这里了解如何获取橱窗权限。
- 您的广告账户已有创建商品来源为橱窗的视频购物广告功能的白名单权限。
如需使用此白名单功能,请联系您的TikTok销售代表。
3.获取橱窗的详情
请注意,橱窗的详情将用于广告组和广告的创建。
i. 调用/showcase/identity/get/获取与橱窗绑定的认证身份。
ii. 调用/showcase/region/get/获取该橱窗可用于定向的国家或地区。
iii. 调用/showcase/product/get/获取可投放至定向国家的橱窗商品。
4.创建广告组
使用/adgroup/create/接口创建一个广告组。下表仅列出了购物广告的相关参数。 若想了解广告组创建所需的其他参数,请查看/adgroup/create/。
您需根据第3步中第i-ii子步骤的结果设置identity_id,identity_type,location_ids 以及(非必传的)identity_authorized_bc_id 字段的值。
注意
- 目前购物广告不支持程序化创意(ACO)。
- 下列字段传入时会被忽略:
catalog_idproduct_set_idcatalog_authorized_bc_idstore_idstore_authorized_bc_id
|字段 {30%}|类型{15%}|描述{55%}|
|---|---|---|
| promotion_type {必填} | string | 推广对象类型。您可以使用此字段指定推广产品的对象。<br> 视频购物广告需将此字段设置为`VIDEO_SHOPPING`。 |
| placement_type | string | 版位类型,即您的广告投放的版位策略。<br><br>枚举值:<ul><li>`PLACEMENT_TYPE_AUTOMATIC`:自动版位。TikTok 的广告系统将使用智能计算,为您选择所有可用应用的版位最佳组合。 </li><li>`PLACEMENT_TYPE_NORMAL`:编辑版位。通过手动编辑版位,你将能够自主选择广告投放的应用。 </li></ul><br>默认值:`PLACEMENT_TYPE_NORMAL`。<br><br><p><span style="color:darkred"><b>注意</b></span>:在商品来源为 TikTok Shop 或橱窗(即 `product_source` 为STORE 为 `SHOWCASE`)的视频购物广告中使用 Pangle 版位(`PLACEMENT_PANGLE`) 目前为白名单功能。如需使用此功能,请联系您的 TikTok 销售代表。您申请此白名单后,还可在此类广告中使用自动版位 (`PLACEMENT_TYPE_AUTOMATIC`)。 |
| placements {+条件必填} | string[] | <ul><li>当 `placement_type` 为 `PLACEMENT_TYPE_NORMAL` 时,本字段必填。</li><li>当 `placement_type` 为 `PLACEMENT_TYPE_AUTOMATIC` 时,忽略本字段,系统将自动选择版位写入`placements`。</li></ul><br>版位,即广告投放的应用。 <br><br>枚举值:`PLACEMENT_TIKTOK`,`PLACEMENT_PANGLE`。 <br><br><p><span style="color:darkred"><b>注意</b></span>:在商品来源为 TikTok Shop 或橱窗的视频购物广告中使用 Pangle 版位(`PLACEMENT_PANGLE`) 目前为白名单功能。如需使用此功能,请联系您的 TikTok 销售代表。 |
| product_source {必填} | string | 商品来源,即您要推广的商品的来源。 <br>枚举值:`UNSET`, `CATALOG` (商品库),`STORE`(TikTok Shop 店铺),`SHOWCASE`(TikTok 橱窗)。 <br>您需将此字段设置为`SHOWCASE`。<br><p><span style="color:darkred"><b>注意</b></span>:若未在推广系列层级设置`campaign_product_source`,且同一推广系列下存在至少一个`product_source`设置为`CATALOG`的历史广告组,和一个`product_source`设置为`STORE`或`SHOWCASE`的历史广告组,则该推广系列下不允许新建广告组。 |
| shopping_ads_type {必填} | string | 购物广告种类。<br>枚举值: `VIDEO` (视频购物广告), `LIVE` (直播购物广告)。<br> 视频购物广告需将此字段设置为`VIDEO`。 |
| identity_id {必填} | string | 您想要用于广告中的橱窗所绑定的认证身份的ID。<br> 您可以调用 [/showcase/identity/get/](https://ads.tiktok.com/marketing_api/docs?id=1759233549899778)获取与橱窗绑定的认证身份。 |
| identity_type {必填} | string | 认证身份类型。<br> 允许的枚举值:`TT_USER`(TikTok用户), `BC_AUTH_TT`(添加到商务中心的TikTok用户)。<br>您可以查看[认证身份](https://ads.tiktok.com/marketing_api/docs?id=1738958351620097)了解详情。 |
| identity_authorized_bc_id {+条件必填} | string | `identity_type`为 `BC_AUTH_TT`时必填。 <br>与添加到商务中心的TikTok用户这一认证身份绑定的商务中心的ID。 |
| location_ids {必填} | string[] | 您想要定向的地域ID列表。<br>地域ID列表可通过[附录-地域定向](https://ads.tiktok.com/marketing_api/docs?id=1739311040498689)查看。<br>所定向的地域需属于橱窗所能定向的国家或地区。欲获取橱窗所能定向的国家或地区,请调用[/showcase/region/get/]( https://ads.tiktok.com/marketing_api/docs?id=1759233561597954)接口。<br><p><span style="color:darkred"><b>注意</b></span>: <ul><li>若您将美国设置为定向地域,广告组创建完成后不允许将美国从定向地域中移除。</li></ul> |
| optimization_goal {必填} | string | 优化目标。<br> 允许的枚举值:`CLICK`(点击),`CONVERT` (转化),`VALUE`(价值)。 |
| optimization_event {+条件必填} | string | `optimization_goal` 为`CONVERT`时必填。<br> 转化事件。允许的枚举值:`INITIATE_ORDER`(开始结账),`SHOPPING`(支付完成)。 <br><p><span style="color:darkred"><b>注意</b></span>:`optimization_goal`为`CLICK`或`VALUE`时,无需传入本字段。 |
| billing_event {必填} | string | 计费事件。允许的枚举值: `CPC`,`OCPM`。 <ul><li>`optimization_goal`为 `CLICK`时,需将本字段设置为`CPC`。</li><li>`optimization_goal`为`CONVERT` 或`VALUE`时,需将本字段设置为 `OCPM`。</li></ul> |
| bid_type {必填} | string | 竞价策略。竞价策略将决定系统的单次成效费用管理方式、预算支出方式以及广告投放方式。 <br><br>枚举值:<ul><li> `BID_TYPE_CUSTOM`: 将广告的平均成效成本保持在某个特定值。本竞价策略在 TikTok 广告管理平台的名称为<b>目标 CPA </b>或<b>成本上限</b>。</li><li>`BID_TYPE_NO_BID`:尽量消耗你的全部预算,以取得最多成效。本竞价策略在 TikTok 广告管理平台的名称为<b>最大投放量</b>。</li></ul>|
| deep_bid_type {+条件必填} | string | `optimization_goal` 为 `VALUE` 时必填。 <br><br>[价值优化](1739381743067137.html)的竞价策略。竞价策略将决定系统的单次成效费用管理方式、预算支出方式以及广告投放方式。<br><br> 枚举值: <ul><li>`VO_MIN_ROAS`:将广告的平均 ROAS 保持在某个特定值。本竞价策略在 TikTok 广告管理平台的名称为<b>目标 ROAS</b>。 </li><li> `VO_HIGHEST_VALUE`:尽量消耗你的全部预算,以获得最多的总收入。本竞价策略在 TikTok 广告管理平台的名称为<b>最高总收入</b>。</li></ul>|
| roas_bid {+条件必填} | float | `deep_bid_type`为`VO_MIN_ROAS`时必填。<br>用于价值优化的ROAS目标值。<br>取值范围: 0.01-1000。 |
示例
请求
(code curl http)
curl --location --request POST 'https://business-api.tiktok.com/open_api/v1.3/adgroup/create/' \
--header 'Access-Token: {{Access-Token}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"adgroup_name": "{{adgroup_name}}",
"advertiser_id": "{{advertiser_id}}",
"campaign_id": "{{campaign_id}}",
"product_source": "SHOWCASE",
"promotion_type": "VIDEO_SHOPPING",
"shopping_ads_type":"VIDEO",
"identity_type": "BC_AUTH_TT",
"identity_id": "{{identity_id}}",
"identity_authorized_bc_id": "{{identity_authorized_bc_id}}",
"placement_type": "PLACEMENT_TYPE_NORMAL",
"placements": [
"PLACEMENT_TIKTOK"
],
"location_ids": [
"{{location_ids}}"
],
"optimization_goal": "CLICK",
"bid_type": "BID_TYPE_NO_BID",
"billing_event": "CPC",
"schedule_end_time": "{{schedule_end_time}}",
"schedule_start_time": "{{schedule_start_time}}",
"schedule_type": "SCHEDULE_START_END",
"shopping_ads_retargeting_type": "OFF",
"targeting_expansion": {
"enable_expansion": false
},
"video_download_disabled": true,
"automated_targeting": "OFF",
"budget": 400.0,
"budget_mode": "BUDGET_MODE_TOTAL",
"gender": "GENDER_UNLIMITED",
"ios14_quota_type": "UNOCCUPIED",
"is_new_structure": true,
"operation_status": "ENABLE",
"pacing": "PACING_MODE_SMOOTH",
}'
(/code)
返回
(code Success-Response http)
HTTPS/1.1 200 OK
{
"code": 0,
"message": "OK",
"request_id": "{{request_id}}",
"data": {
"gender": "GENDER_UNLIMITED",
"brand_safety_type": "NO_BRAND_SAFETY",
"app_type": null,
"schedule_type": "SCHEDULE_START_END",
"actions": [],
"promotion_type": "VIDEO_SHOPPING",
"budget_mode": "BUDGET_MODE_TOTAL",
"comment_disabled": false,
"billing_event": "CPC",
"age_groups": null,
"rf_estimated_cpr": null,
"frequency": null,
"identity_authorized_bc_id": "{{identity_authorized_bc_id}}",
"rf_purchased_type": null,
"keywords": null,
"creative_material_mode": "CUSTOM",
"dayparting": "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
"location_ids": [
"{{location_ids}}"
],
"identity_id": "{{identity_id}}",
"skip_learning_phase": false,
"audience_ids": [],
"search_result_enabled": false,
"adgroup_name": "{{adgroup_name}}",
"schedule_end_time": "{{schedule_end_time}}",
"adgroup_id": "{{adgroup_id}}",
"placement_type": "PLACEMENT_TYPE_NORMAL",
"deep_cpa_bid": 0.0,
"operation_status": "ENABLE",
"campaign_id": "{{campaign_id}}",
"optimization_event": null,
"shopping_ads_type": "VIDEO",
"bid_price": 0.0,
"secondary_status": "ADGROUP_STATUS_CREATE",
"is_hfss": false,
"deep_bid_type": null,
"conversion_bid_price": 0.0,
"frequency_schedule": null,
"operating_systems": [],
"category_id": "0",
"delivery_mode": null,
"create_time": "{{create_time}}",
"statistic_type": null,
"interest_category_ids": [],
"video_download_disabled": true,
"product_source": "SHOWCASE",
"auto_targeting_enabled": false,
"is_new_structure": true,
"modify_time": "{{modify_time}}",
"purchased_reach": null,
"feed_type": null,
"purchased_impression": null,
"adgroup_app_profile_page_state": null,
"conversion_window": null,
"bid_type": "BID_TYPE_NO_BID",
"languages": [],
"optimization_goal": "CLICK",
"schedule_infos": null,
"budget": 400.0,
"app_download_url": null,
"device_price_ranges": null,
"share_disabled": false,
"secondary_optimization_event": null,
"next_day_retention": null,
"brand_safety_partner": null,
"inventory_filter_enabled": false,
"placements": [
"PLACEMENT_TIKTOK"
],
"pacing": "PACING_MODE_SMOOTH",
"schedule_start_time": "{{schedule_start_time}}",
"identity_type": "BC_AUTH_TT",
"ios14_quota_type": "UNOCCUPIED",
"app_id": null,
"excluded_audience_ids": [],
"network_types": [],
"interest_keyword_ids": [],
"advertiser_id": "{{advertiser_id}}",
"scheduled_budget": 0.0,
"rf_estimated_frequency": null,
"bid_display_mode": "CPMV",
"pixel_id": null,
"campaign_name": "{{}}"
}
}
(/code)
5.创建广告
使用/ad/create/接口创建广告。下表仅列出了购物广告的相关参数。 若想了解广告创建所需的其他参数,请查看/ad/create/。
您需根据第3步中第iii子步骤的结果设置showcase_products,item_group_id,store_id,catalog_id字段的值。
注意
- 创建商品来源为橱窗的视频购物广告时,不要传入
page_id。- 下列字段传入时会被忽略:
catalog_id(非showcase_products中的同名字段)store_id(非showcase_products中的同名字段)store_authorized_bc_idproduct_specific_typedynamic_formatdynamic_destination
|字段 {30%}|类型{15%}|描述{55%}|
|---|---|---|
| showcase_products {必填} | object[] | 您想要用在广告中的橱窗商品列表。最大数量:20。 <br><br>若想获取橱窗中的商品并确认商品能否用于广告中,可使用[/showcase/product/get/](1759233576199169.html)。若该商品返回的`status`为`AVAILABLE`,则该商品可用于广告中。 |
#| item_group_id | string | 商品的SPU ID。 |
#| store_id | string | 商品(`item_group_id`)所属的店铺ID。 <br>请注意本字段仅支持TikTok Shop店铺。 |
#| catalog_id | string | 商品(`item_group_id`)所属的商品库ID。 <br><br><p><span style="color:darkred"><b>注意</b></span>:自 2024 年 6 月 30 日起,您将无需再传入本字段,因为本字段将被忽略。|
| identity_id {必填} | string | 认证身份ID。<br> 您需传入与广告组层级相同的值。 |
| identity_type {必填} | string | 认证身份类型。<br> 允许的枚举值:`TT_USER` (TikTok用户), `BC_AUTH_TT`(添加到商务中心的TikTok用户)。您可以查看[认证身份](https://ads.tiktok.com/marketing_api/docs?id=1738958351620097)了解详情。 <br>您需传入与广告组层级相同的值。 |
| identity_authorized_bc_id {+条件必填} | string | `identity_type` 为 `BC_AUTH_TT`时必填。 <br>与添加到商务中心的TikTok用户这一认证身份绑定的商务中心的ID。 |
| video_id {+条件必填} | string | 想要通过将视频广告推送至关联的企业号创建Spark Ad时必填。请查看[创建Spark Ads-将视频广告推送至关联的企业号](https://ads.tiktok.com/marketing_api/docs?id=1739470744631298)了解详情。<br> 您需传入`video_id` 和 `tiktok_item_id`其中之一。 <br>视频素材ID。 |
| tiktok_item_id {+条件必填} | string | 想要通过提取原生视频创建Spark Ad时必填。请查看[创建Spark Ads](https://ads.tiktok.com/marketing_api/docs?id=1739470744631298)了解详情。<br> 您需传入 `video_id` 和 `tiktok_item_id`其中之一。<br> 用作Spark Ad的TikTok帖子ID。 <br><p><span style="color:darkred"><b>注意</b></span>: 使用此功能,代表您声明拥有该视频中音乐的版权,可用于营销使用。 |
| vertical_video_strategy {必填} | string | 商品销量(即购物广告)场景中使用的视频类型。<br>允许的枚举值: `SINGLE_VIDEO` (单个视频)。 |
| card_id | string | 使用本字段传入现有的创意素材包ID,从而在广告中使用倒计时贴纸或商品卡片。<br> 您需先调用 [/creative/portfolio/create/](https://ads.tiktok.com/marketing_api/docs?id=1739091950439426) 创建倒计时贴纸素材包或商品卡片素材包,然后通过返回的`creative_portfolio_id`获取创意素材包ID。 |
| call_to_action | string | 行动引导文案,引导用户在看到您的广告后完成您期望的行为。<br>枚举值请查看[枚举值 - 行动引导文案](https://ads.tiktok.com/marketing_api/docs?id=1737174886619138)。<br> 仅在以下情况下传入本字段:<ul><li>传入了`card_id`。</li></ul> 其他情况下,传入本字段会被忽略,并默认设置为 `SHOP_NOW`。 |
示例
请求
(code curl http)
curl --location --request POST 'https://business-api.tiktok.com/open_api/v1.3/ad/create/' \
--header 'Access-Token: {{Access-Token}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"adgroup_id": "{{adgroup_id}}",
"advertiser_id": "{{advertiser_id}}",
"creatives": [
{
"ad_name": "{{ad_name}}",
"dynamic_format": "UNSET",
"vertical_video_strategy": "SINGLE_VIDEO",
"ad_text": "{{ad_text}}",
"identity_type": "BC_AUTH_TT",
"identity_id": "{{identity_id}}",
"identity_authorized_bc_id": "{{identity_authorized_bc_id}}",
"ad_format": "SINGLE_VIDEO",
"tiktok_item_id": "{{tiktok_item_id}}",
"image_ids": [
"{{image_ids}}"
],
"showcase_products": [
{
"catalog_id": "{{catalog_id}}",
"item_group_id": "{{item_group_id}}",
"store_id": "{{store_id}}"
},
{
"catalog_id": "{{catalog_id}}",
"item_group_id": "{{item_group_id}}",
"store_id": "{{store_id}}"
}
]
}
]
}'
(/code)
返回
(code Success-Response http)
HTTPS/1.1 200 OK
{
"code": 0,
"message": "OK",
"request_id": "{{request_id}}",
"data": {
"ad_ids": [
"{{ad_ids}}"
],
"need_audit": false,
"creatives": [
{
"ad_text": "",
"image_ids": [
""
],
"ad_format": "SINGLE_VIDEO",
"shopping_ads_video_package_id": "",
"modify_time": "{{modify_time}}",
"page_id": null,
"create_time": "{{create_time}}",
"optimization_event": null,
"deeplink": null,
"campaign_id": "{{ampaign_id}}",
"is_new_structure": true,
"ad_id": "{{ad_id}}",
"adgroup_id": "{{adgroup_id}}",
"creative_authorized": false,
"display_name": "{{display_name}}",
"is_aco": false,
"promotional_music_disabled": true,
"vast_moat_enabled": false,
"identity_type": "BC_AUTH_TT",
"product_specific_type": "UNSET",
"call_to_action": "SHOP_NOW",
"identity_authorized_bc_id": "{{identity_authorized_bc_id}}",
"impression_tracking_url": null,
"operation_status": "ENABLE",
"adgroup_name": "{{adgroup_name}}",
"campaign_name": "{{campaign_name}}",
"landing_page_urls": null,
"video_id": null,
"avatar_icon_web_uri": "",
"landing_page_url": "",
"ad_name": "{{ad_name}}",
"card_id": null,
"brand_safety_postbid_partner": "UNSET",
"dynamic_destination": "UNSET",
"catalog_id": "0",
"profile_image_url": "",
"showcase_products": [
{
"catalog_id": "{{catalog_id}}",
"item_group_id": "{{item_group_id}}",
"store_id": "{{store_id}}"
},
{
"catalog_id": "{{catalog_id}}",
"item_group_id": "{{item_group_id}}",
"store_id": "{{store_id}}"
}
],
"tiktok_item_id": "{{tiktok_item_id}}",
"ad_texts": null,
"advertiser_id": "{{advertiser_id}}",
"creative_type": "SHOPPING_SHOP_PAGE",
"app_name": "{{app_name}}",
"click_tracking_url": null,
"identity_id": "{{identity_id}}",
"playable_url": "",
"vertical_video_strategy": "SINGLE_VIDEO",
"dynamic_format": "UNSET",
"call_to_action_id": null
}
]
}
}
(/code)
6.预览广告
创建广告后, 使用/creative/ads_preview/create/接口预览广告。
我们支持的预览类型包括:ADS_CREATION,AD,CARD和 PAGE,使您可以预览即将创建的广告,当前广告,商品卡片和即时体验页面。