← 返回目录
📁 Use Cases › Campaign creation › (Deprecated) Create Dynamic Showcase Ads

(已废弃)创建Dynamic Showcase Ads

请根据以下步骤,创建您的Dynamic Showcase Ads: 1. 创建商品库 2. 上传商品到商品库 3. 可选步骤:创建商品系列(筛选您希望推广的商品) 4. 绑定商品库与事件源 5. 创建DSA推广系列 6. 创建广告组 7. 创建广告

注意
自2023年2月16日起,您将不能创建Dynamic Showcase Ads。为保证流畅的API体验,我们建议您迁移到商品销量目标下的视频购物广告。您在2023年3月底前仍可以通过API修改已有的Dynamic Showcase Ads。如果您需要额外的迁移时间,请联系您的TikTok销售代表。

1. 创建商品库

商品库存储了您希望推广的商品的信息。在创建商品库之后,您可以创建广告,并在广告中展示商品的最新的信息(价格、库存情况、尺寸等)。

请求

地址: https://business-api.tiktok.com/open_api/v1.3/catalog/create/

方法: POST

Header

|字段|数据类型|描述|
|---|---|---|
|Access-Token {必填}|string|授权访问令牌。可以通过[获取访问令牌](https://ads.tiktok.com/marketing_api/docs?id=1738373164380162)接口获取。|
|Content-Type {必填}|string|请求内容类型。允许值:"application/json"。|

参数

| 字段 | 类型 | 描述 |
|--- |--- |--- |
|bc_id {必填} | string | 商务中心ID。 |
|name {必填} | string | 商品库名称。 |
|catalog_type {必填} | string | 商品库类型。目前, 只支持 `ECOM` (电商)一个类型。 |
|catalog_conf {必填} | object | 商品库配置信息。|
#|region_code{必填} | string | 定向国家或地区的二字代码。详见[附录 - 地区代码](https://ads.tiktok.com/marketing_api/docs?id=1737585867307010)。 |
#|currency {必填} | string | 货币单位,详见[附录-币种](https://ads.tiktok.com/marketing_api/docs?id=1737585839634433)。|
#|channel |string|创建商品库的渠道。枚举值:`PARTNER`: 合作伙伴; `CLIENT`: 直客广告主。|

示例

(code)
{
   "bc_id": 1659674186450949,
   "name": "Demo catalog",
   "catalog_type": "ECOM",
   "catalog_conf": {
       "country": "US",
       "currency": "USD"
    }
}
(/code)

返回

(code)
{
    "message": "OK",
    "code": 0,
    "data": {
        "catalog_id": "6942905196443895554",
    },
    "request_id": "2021032322113001011515319002015A36"
}
(/code)

结果

商品库已创建。您可以在TikTok Ads Manager的资产下查询最新的商品库列表。

2. 上传商品到商品库

在创建商品库之后,您就可以上传商品到商品库了。添加商品有两种方式:连接更新源(即文件上传)和商品批量上传。

如果您需要上传大量商品或整个目录的商品,您可以使用文件上传的方式。更新源指的是一个可以通过链接定位的及时更新的数据文件。数据源文件必须为CSV格式。

如果您需要频繁更新商品库,您可以使用批量上传接口/catalog/product/upload/。在您使用此接口时,需要在请求数据中包含商品数据。

在本指南中,我们将使用文件上传的方式上传商品。您需要确保数据文件保存在一个可以公开访问的地址。

请求

地址: https://business-api.tiktok.com/open_api/v1.3/catalog/product/file/

方法: POST

Header

|字段|数据类型|描述|
|---|---|---|
|Access-Token {必填}|string|授权访问令牌。可以通过[获取访问令牌](https://ads.tiktok.com/marketing_api/docs?id=1738373164380162)接口获取。|
|Content-Type {必填}|string|请求内容类型。允许值:"application/json"。|

参数 下面只列出了必填和跟本使用场景相关的参数。完整参数列表,请参考通过文件上传商品。

| 字段 | 类型 | 描述 |
|--- |--- |--- |
|bc_id {必填}|string| 商务中心 ID。 |
|catalog_id {必填}|string|商品库 ID。 |
|feed_id|string|更新源ID。|
|file_url {必填}|string|数据文件的地址。单个文件中允许的商品数最多为2000万。|

示例

代码格式为multipart/form-data。

bc_id: 1659674186450949
catalog_id: 6942905196443895554
file_url: https://docs.google.com/spreadsheets/d/e/2PACX-1vSTEJI_xFDoV_zSCCafAfHgiuG0bP8Wre9zyVKvJKO3BXQ6rEJkxm309MMx1-LB6Hzk9cil2FCHiA8b/pub?output=csv

返回

(code)
{
    "message": "OK",
    "code": 0,
    "data": {
        "feed_log_id": 478517
    },
    "request_id": "20210324195813010115153193168759A5"
}
(/code)

结果
您可以在TikTok Ads Manager中的资产 > 目录中查看添加的商品。

3. 可选步骤: 创建商品系列

如果您只想推广商品库中的某些商品,您可以为这些商品创建一个商品系列,并将此商品系列与要创建的广告组关联。

请求

地址

https://business-api.tiktok.com/open_api/v1.3/catalog/set/create/

方法: POST

Header

|字段|数据类型|描述|
|---|---|---|
|Access-Token {必填}|string|授权访问令牌。可以通过[获取访问令牌](https://ads.tiktok.com/marketing_api/docs?id=1738373164380162)接口获取。|
|Content-Type {必填}|string|请求内容类型。允许值:"application/json"。|

参数

| 字段 | 类型 | 描述 |
|--- |--- |--- |
|bc_id {必填}|string| 商务中心ID。 |
|catalog_id {必填}|string|商品库ID。 |
|product_set_name {必填}|string|商品系列ID。最多支持28个字符。|
|conditions|object|筛选条件。|
#|and/or|object[]|筛选条件的交并情况,`and`:交集;`or`:并集。只能选择其中一个。|
##|field|string|筛选字段。枚举值请参考[附录-商品库管理-筛选字段](https://ads.tiktok.com/marketing_api/docs?id=1740673108747265)。|
##|operation|string|筛选运算符。枚举值请参考[附录-商品库管理-运算符](https://ads.tiktok.com/marketing_api/docs?id=1740673108747265)。|
##|value|object|预期值。|

示例

(code)
  {
      "bc_id": 1659674186450949,
      "catalog_id": 6942905196443895554,
      "name": "Test Product Set",
      "conditions": {
            "and": [
                {
                    "field": "gender",
                    "operation": "EQUAL",
                    "value": "MALE"
                },
                {
                    "field": "price",
                    "operation": "GTE",
                    "value": 50
                },
                {
                    "field": "brand",
                    "operation": "I_CONTAIN",
                    "value": ["TikTok", "xxxxx"]
                }
            ]
        }
   }
   (/code)
  ```

 ## 返回
```xcodeblock
(code)
{
    "message": "OK",
    "code": 0,
    "data": {
        "count": 20,
        "product_set_id": 1566,
        "name": "test_create"
    },
    "request_id": "20210228131918010231010121650793"
}
(/code)

4. 绑定商品库与事件源

您可以将商务中心的商品库与事件源(应用事件源或网页Pixel事件源)进行绑定,以追踪相关数据。绑定完成后,系统将根据用户与应用或网页的互动,向用户动态展示广告。

请您使用接口/catalog/eventsource/bind/绑定商品库与事件源。对于应用事件,请传入app_id。对于网页事件,请传入pixel_code。

请求

Header

|字段|数据类型|描述|
|---|---|---|
|Access-Token {必填}|string|授权访问令牌。可以通过[获取访问令牌](https://ads.tiktok.com/marketing_api/docs?id=1738373164380162)接口获取。|
|Content-Type {必填}|string|请求内容类型。允许值:"application/json"。|

参数

| 字段 | 类型 | 描述 |
|--- |--- |--- |
|advertiser_id {必填}|string| 广告主ID。 |
|bc_id {必填}|string|商务中心ID。|
|catalog_id {必填}|string| 商品库ID。|
|app_id| string| 移动应用ID。您可以在TikTok Ads Manager里,点击<b>资产</b> > <b>事件</b> > <b>应用事件</b>查询。`app_id`和`pixel_code`应至少传入一个。如果两者都传入,则两个事件会同时绑定同一个商品库。|
|pixel_code|string| 网页Pixel代码。您可以在TikTok Ads Manager里,点击<b>资产</b> > <b>事件</b> > <b>网页事件</b>查询。`app_id`和`pixel_code`应至少传入一个。如果两者都传入,则两个事件会同时绑定同一个商品库。|

5. 创建DSA推广系列

在创建DSA推广系列时,请您将objective_type设置为 CATALOG_SALES。

请求

地址 https://ads.tiktok.com/open_api/v1.3/campaign/create/

方法 POST

Header

|字段|数据类型|描述|
|---|---|---|
|Access-Token {必填}|string|授权访问令牌。可以通过[获取访问令牌](https://ads.tiktok.com/marketing_api/docs?id=1738373164380162)接口获取。|
|Content-Type {必填}|string|请求内容类型。允许值:"application/json"。|

参数

| 字段 | 类型 | 描述 |
|--- |--- |--- |
|advertiser_id {必填}|string| 广告主ID。 |
|budget|number|推广系列预算。当 `budget_mode` 为 `BUDGET_MODE_DAY` 或 `BUDGET_MODE_TOTAL` 时必填。具体设置,可参考[预算](https://ads.tiktok.com/marketing_api/docs?id=1739381246298114)。|
|budget_mode {必填}|string|预算类型。具体设置,可参考[预算](https://ads.tiktok.com/marketing_api/docs?id=1739381246298114)。|
|campaign_name {必填}|string|推广系列名称。推广系列名称不能超过512字符,不能包含emoji。<br>注意:中文或日文每个字占用2个字符,每个英语字符占用1个字符。|
|objective_type {必填}|string|`CATALOG_SALES`。|

示例

(code)
{
    "advertiser_id": 6927303038499569666,
    "budget": 50000,
    "budget_mode": "BUDGET_MODE_TOTAL",
    "campaign_name": "Demo Campaign",
    "objective_type": "CATALOG_SALES" 
}
(/code)

返回

(code)
{
    "message": "OK",
    "code": 0,
    "data": {
        "campaign_id": 1695154014921745
        },
    "request_id": "2021032422284001011515319207A3ADE2"   
}
(/code)

结果
您可以在TikTok Ads Manager中的推广中查看新建的推广系列。

6. 创建广告组

创建DSA广告组与创建常规广告组类似。需要注意的是,您需要传入catalog_id。对于重定向推广,您还需要传入shopping_ads_retargeting_type 字段。

广告组层级的重定向设置

重定向设置需要通过 shopping_ads_retargeting_type 字段以及几个相关字段配置。支持的配置如下:

|DSA重定向设置|描述|其他字段设置|
|---|---|---|
|OFF|关闭重定向|无需设置`included_custom_actions`, `excluded_custom_actions`和  `shopping_ads_retargeting_actions_days`字段|
|LAB1|浏览或加过购物车,但是未购买|需要设置`shopping_ads_retargeting_actions_days`,无需设置其他两个字段|
|LAB2|添加到购物车但是未购买|需要设置`shopping_ads_retargeting_actions_days`,无需设置其他两个字段|
|LAB3|自定义组合|需要设置`included_custom_actions`和`excluded_custom_actions`为您想要包含和排除的事件|

请求

地址 https://business-api.tiktok.com/open_api/v1.3/adgroup/create/

方法 POST

Header

|字段|数据类型|描述|
|---|---|---|
|Access-Token {必填}|string|授权访问令牌。可以通过[获取访问令牌](https://ads.tiktok.com/marketing_api/docs?id=1738373164380162)接口获取。|
|Content-Type {必填}|string|请求内容类型。允许值:"application/json"。|

参数

|字段|类型|描述|
|---|---|---|
|advertiser_id |string|广告主ID|
|campaign_id|string|广告组所属的推广系列ID|
|placement_type|string|PLACEMENT_TYPE_NORMAL|
|placements|string[]|["PLACEMENT_TIKTOK", "PLACEMENT_PANGLE]|
|promotion_type{+条件必填}|string|推广对象类型。若对应的推广系列推广目标不是`REACH`,`VIDEO_VIEWS`或`ENGAGEMENT`,则此字段必填。<br>详细信息请参阅 [枚举值 - 推广对象类型](https://ads.tiktok.com/marketing_api/docs?id=1737174886619138)。|
|location_ids|string[]|投放地区。获取详细信息,请参阅[附录 - 地域定向](https://ads.tiktok.com/marketing_api/docs?id=1739311040498689) for details.|
|budget|number|广告预算|
|budget_mode|string|广告预算类型<br>枚举值: `BUDGET_MODE_DAY`,`BUDGET_MODE_TOTAL`。|
|schedule_type|string|广告投放时间类型<br>枚举值: `SCHEDULE_FROM_NOW`,`SCHEDULE_START_END` 详见[枚举值-广告投放时间类型](https://ads.tiktok.com/marketing_api/docs?id=1737174886619138)|
|schedule_start_time|datetime|广告投放起始时间(UTC+0),格式为"YYYY-MM-DD HH:MM:SS",如:2017-01-01 00:00:00|
|schedule_end_time|datetime|广告投放终止时间(UTC+0),格式为"YYYY-MM-DD HH:MM:SS",如:2017-01-01 00:00:00。 在`schedule_type`为`SCHEDULE_START_END`时必填|
|optimization_goal|string|优化目标 <br>枚举值: 详见[枚举值-优化目标](https://ads.tiktok.com/marketing_api/docs?id=1737174886619138)|
|pacing|string| 广告投放速度类型 <br>枚举值: 详见[枚举值-广告投放速度类型](https://ads.tiktok.com/marketing_api/docs?id=1737174886619138) |
|billing_event|string|计费事件<br>枚举值: 详见[枚举值-计费事件](https://ads.tiktok.com/marketing_api/docs?id=1737174886619138)|
|catalog_id|string|商品库 ID|
|product_set_id|string|商品系列ID。传入0表明选择所有商品(即不使用商品系列)。默认值为0|
|shopping_ads_retargeting_type|string|商品库重定向类型:`LAB1`,`LAB2`, `LAB3`,  `OFF`|
|shopping_ads_retargeting_actions_days|number|商品库广告重定向条件有效天数,`shopping_ads_retargeting_type`为`LAB1`,`LAB2`的时候必填。<br> 取值范围: 1, 2, 3, 7, 14, 30, 60, 90, 180|
|skip_learning_phase|boolean|是否跳过学习阶段。当对应推广系列 `objective_type` 为 `CATALOG_SALES` 且 `bid_type`为 `OCPM` 时生效。|

示例

(code)
{
    "advertiser_id": 6927303038499569666,
    "campaign_id": 1695154014921745,
    "adgroup_name": "Demo Adgroup",
    "placement_type": "PLACEMENT_TYPE_NORMAL",
    "placement": ["PLACEMENT_TIKTOK"],
    "external_type": "APP_ANDROID",
    "location": [6252001],
    "budget": 50000,
    "budget_mode": "BUDGET_MODE_TOTAL",
    "schedule_type": "SCHEDULE_START_END",
    "schedule_start_time": "2021-10-10 00:00:00",
    "schedule_end_time": "2021-11-10 00:00:00",
    "optimize_goal": "CLICK",
    "external_action": "IN_APP_ORDER",
    "pacing": "PACING_MODE_SMOOTH",
    "billing_event": "CPC",
    "catalog_id": 6942905196443895554,
    "product_set_id": 1566,
    "dap_retargeting_type": "OFF",
    "operating_system": ["IOS"],
    "app_id": 6734586828965281797,
    "bid": 10
    }
(/code)

返回

(code)
{
    "message": "OK",
    "code": 0,
    "data": {
        "adgroup_id": 1695246111250434
    },
    "request_id": "20210325225218010115153190019DA7A4"
}
(/code)

结果
您可以在TikTok Ads Manager中的推广 > 广告组中查看新建的广告组。

7. 创建广告

在创建DSA广告时,不能传入image_ids或video_id 字段,否则会报错。

参加创建视频包了解如何创建视频包。若使用视频包,请将视频包ID传入shopping_ads_video_package_id 字段。您可以使用/catalog/video/get/接口获取视频包ID。

广告层级的定向设置

Dynamic Showcase Ads支持两种推广类型:应用和网页,以及两种定向方式:初始定向(即获取新用户)和重定向(即让老用户重新活跃)。根据不同的推广类型和定向方式,您需要传入不同的字段: - 应用重定向DSA:shopping_ads_deeplink_type可以设置为 SHOPPING_ADS 或 CUSTOM。shopping_ads_fallback_type 可以设置为 DEFAULT, CUSTOM 或 SHOPPING_ADS。 - 应用初始定向DSA: shopping_ads_deeplink_type 可以设置为 SHOPPING_ADS或CUSTOM,也可以不指定该字段。shopping_ads_fallback_type需要设置为默认。 - 网页重定向DSA: 无需指定shopping_ads_deeplink_type 。 shopping_ads_fallback_type 可以设置为 CUSTOM 或SHOPPING_ADS。 - 网页初始定向DSA: 无需指定shopping_ads_deeplink_type 。 shopping_ads_fallback_type 可以设置为 CUSTOM 或SHOPPING_ADS。

在DSA广告文本中使用变量

针对DSA中的广告文本,您可以使用变量来代表品牌、产品名称或产品价格。在部署时,广告文本中的变量将被替换为产品值。请注意,变量不会被计入单个广告文本的1-100个字符列表中。

  1. 向接口/catalog/lexicon/get/发送请求,获得商品库的变量列表。由于每个商品库都有自己的变量列表,您需要在请求中指定目录ID,并记下您希望在广告文本中使用的变量名称。

下方是一条返回示例:

(code)
{
    "message": "OK",
    "code": 0,
    "data": {
        "list": [
            {
                "default_value": "",
                "update_time": "2020-04-15 15:07:43",
                "meta_field": "brand.brandName",
                "name": "brand",
                "catalog_id": 6815921224925923077,
                "type": "META",
                "id": 2894
            },
            {
                "default_value": "",
                "update_time": "2020-04-15 15:07:43",
                "meta_field": "description",
                "name": "description",
                "catalog_id": 6815921224925923077,
                "type": "META",
                "id": 2901
            },
            {
                "default_value": "",
                "update_time": "2021-02-02 02:47:34",
                "meta_field": "price.stdPrice",
                "name": "price",
                "catalog_id": 6815921224925923077,
                "type": "META",
                "id": 2902
            },
            {
                "default_value": "",
                "update_time": "2021-02-02 02:47:34",
                "meta_field": "price.stdSalePrice",
                "name": "sale_price",
                "catalog_id": 6815921224925923077,
                "type": "META",
                "id": 2903
            },
            {
                "default_value": "",
                "update_time": "2020-04-15 15:07:43",
                "meta_field": "profession.condition",
                "name": "condition",
                "catalog_id": 6815921224925923077,
                "type": "META",
                "id": 2895
            },
            {
                "default_value": "",
                "update_time": "2020-04-15 15:07:43",
                "meta_field": "title",
                "name": "title",
                "catalog_id": 6815921224925923077,
                "type": "META",
                "id": 2904
            }
        ]
    },
    "request_id": "202105120520240102360412204705D83E"
}
(/code)
  1. 请在您的广告文本中以{$variable$}格式插入变量名称,并在创建广告时使用接口/ad/create/,向ad_text字段传入广告文本。

例如,您可以将广告文本设置为“ 不要错过{$品牌$}的{$产品名称$}的销售”。广告部署时将自动显示促销的品牌与产品名称。

请求

地址 https://business-api.tiktok.com/open_api/v1.3/ad/create/

方法 POST

Header

|字段|数据类型|描述|
|---|---|---|
|Access-Token {必填}|string|授权访问令牌。可以通过[获取访问令牌](https://ads.tiktok.com/marketing_api/docs?id=1738373164380162)接口获取。|
|Content-Type {必填}|string|请求内容类型。允许值:"application/json"。|

参数

|字段|类型|描述|
|---|---|---|
|advertiser_id |string|广告主ID|
|adgroup_id|string|广告组ID|
|creatives|object[]|广告创意素材|
|ad_name|string|广告名称。字符数限制为512,不能包含emoji表情符号。中文或日文的每个字算作两个字符,英文的每个字母算作一个字符。|
|ad_text|string|广告文本。作为广告创意素材向受众展示,转递广告信息。您可以在广告文本中使用变量来代表产品名称、品牌或产品价格。|
|call_to_action|string|CTA文本|
|shopping_ads_deeplink_type|string|详细信息参见上文的“广告层级的定向设置” |
|shopping_ads_video_package_id|string|视频模板ID|


示例

(code)
{
    "advertiser_id": 6927303038499569666,
    "adgroup_id": 1695246111250434,
    "creatives": [{
        "adgroup_id": 1695246111250434,
        "call_to_action": "SHOP_NOW",
        "ad_name": "Demo DSA Creative",
        "ad_text": "Demo DSA text",
        "display_name": "TikTok Ads",
        "dpa_fallback_type": "DEFAULT",
        "dpa_open_url_type": "NONE",
        "ad_format": "SINGLE_IMAGE"
    }] 
}
(/code)

返回

(code)
{
    "message": "OK",
    "code": 0,
    "data": {
        "need_audit": false,
        "ad_ids": [
            1695253611756562
            ]
     },
    "request_id": "20210325225218010115153190019DA7A4"
}
(/code)

结果
您可以在推广系列标签下的广告中查看广告。

内容来源:TikTok API for Business 官方文档 · 本地归档

在接这个接口时卡住了?
Stuck wiring this API into production? We build ad-delivery tooling on these platforms — campaign automation, reporting pipelines, error-handling and migration between API versions.
联系我们 · Talk to us 每日平台更新简报 →