← 返回目录
📁 Use Cases › Campaign creation › Create an Upgraded Smart+ Campaign › Create Upgraded Smart+ TikTok Growth Max campaigns

创建升级版 Smart+ TikTok Growth Max 短剧推广系列

本文介绍创建升级版 Smart+ TikTok Growth Max 短剧推广系列的步骤。

根据你是否使用商品库来推广 TikTok 短剧,你可以创建未启用商品库或启用商品库的升级版 Smart+ TikTok Growth Max 短剧推广系列。如需了解创建这两种推广系列的详细说明,参见相应的小节:创建未启用商品库的升级版 Smart+ TikTok Growth Max 短剧推广系列、创建启用商品库的升级版 Smart+ TikTok Growth Max 短剧推广系列。

创建未启用商品库的升级版 Smart+ TikTok Growth Max 短剧推广系列

未启用商品库的升级版 Smart+ TikTok Growth Max 短剧推广系列是一种升级版 Smart+ 推广系列,用于推广 TikTok 短剧,不使用短剧商品库。

步骤

创建推广系列

使用 /smart_plus/campaign/create/ 接口创建推广系列。

需确保满足以下要求。完整参数列表参见 /smart_plus/campaign/create/ 接口。

设置 要求 参数 如何配置参数
推广目标 原生增长 objective_type APP_PROMOTION
app_promotion_type MINIS
iOS 14 专属推广系列 未启用 campaign_type REGULAR_CAMPAIGN 或不传入
app_id 不传入
campaign_app_profile_page_state 不传入
使用商品库 未启用

若想创建使用短剧商品库的升级版 Smart+ 短剧推广系列,参见创建启用商品库的升级版 Smart+ 短剧推广系列。
catalog_enabled false
推广系列名称 传入合法名称 campaign_name 传入合法值
推广系列预算策略 使用以下任意类型:
  • 推广系列预算:你的预算将自动分配给各广告组并自动优化。所有广告组必须使用相同的预算和优化设置。
  • 广告组预算:每个广告组分别使用不同的预算和优化设置,从而精确控制各广告组的消耗。
budget_optimize_on
  • 要设置推广系列预算,请将此字段设置为 true 或不传入。
  • 要设置广告组预算,请将此字段设置为 false。
推广系列预算模式
  • 如果推广系列预算策略为推广系列预算,传入以下任意模式:
    • 日预算
    • 总预算
  • 如果推广系列预算策略为广告组预算,传入以下任意模式,以确定所有广告组的预算限制:
    • 不限
    • 日预算
    • 总预算
budget_mode
  • 当 budget_optimize_on 为 true 或不传入时,使用以下任意值:
    • BUDGET_MODE_TOTAL
    • BUDGET_MODE_DYNAMIC_DAILY_BUDGET
  • 当 budget_optimize_on 为 false 时,使用以下任意值:
    • BUDGET_MODE_INFINITE
    • BUDGET_MODE_DAY
    • BUDGET_MODE_TOTAL
推广系列预算
  • 如果推广系列预算策略为推广系列预算:
    • 传入合法预算。
  • 如果推广系列预算策略为广告组预算:
    • 如果预算限制为不限:
      • 未启用
    • 如果预算限制为日预算或总预算:
      • 传入合法预算
budget
  • 当 budget_optimize_on 为 true 或不传入时:
    • 传入合法值。
  • 当 budget_optimize_on 为 false 时:
    • 如果 budget_mode 为 BUDGET_MODE_INFINITE:
      • 不传入
    • 如果 budget_mode 为 BUDGET_MODE_DAY 或 BUDGET_MODE_TOTAL:
      • 传入合法值
PO 号(可选) 已启用或未启用 po_number 传入合法值或不传入

示例

请求

(code curl http)
curl --location --request POST 'https://business-api.tiktok.com/open_api/v1.3/smart_plus/campaign/create/' \
--header 'Access-Token: {{Access-Token}}' \
--header 'Content-Type: application/json' \
--data '{
    "advertiser_id": "{{advertiser_id}}",
    "request_id": "{{request_id}}",
    "objective_type": "APP_PROMOTION",
    "app_promotion_type": "MINIS",
    "campaign_type": "REGULAR_CAMPAIGN",
    "catalog_enabled": false,
    "campaign_name": "{{campaign_name}}",
    "budget_optimize_on": true,
    "budget_mode": "BUDGET_MODE_DYNAMIC_DAILY_BUDGET",
    "budget": {{budget}}
}'
(/code)

返回

(code curl http)
{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "advertiser_id": "{{advertiser_id}}",
        "app_promotion_type": "MINIS",
        "budget": {{budget}},
        "budget_mode": "BUDGET_MODE_DYNAMIC_DAILY_BUDGET",
        "budget_optimize_on": true,
        "campaign_id": "{{campaign_id}}",
        "campaign_name": "{{campaign_name}}",
        "campaign_type": "REGULAR_CAMPAIGN",
        "create_time": "{{create_time}}",
        "modify_time": "{{modify_time}}",
        "objective_type": "APP_PROMOTION",
        "operation_status": "ENABLE",
        "secondary_status": "CAMPAIGN_STATUS_ENABLE",
        "smart_plus_adgroup_mode": "MULTIPLE"
    }
}
(/code)

创建广告组

使用 /smart_plus/adgroup/create/ 接口创建广告组。

需确保满足以下要求。完整参数列表参见 /smart_plus/adgroup/create/ 接口。

设置 要求 参数 如何配置参数
广告组名称 传入合法名称 adgroup_name 传入合法值
优化和出价
· 短剧
传入一个有效的短剧类型的 TikTok Minis

注意:如果你选择推广系列预算模式,此设置必须在同一推广系列内的所有广告组中保持一致。

promotion_type MINI_APP

注意:当推广系列层级的 budget_optimize_on 为 true 时,为同一推广系列内的所有广告组传入相同的 promotion_type。

minis_id 传入一个有效的 TikTok Minis 的 ID。
若想获取广告账号中有效的 TikTok Minis 的 ID,需使用 /minis/get/ 接口,并选择 minis_status 为 ACTIVE 且 minis_type 为 MINI_SERIES 的 TikTok Minis。
优化和出价
· 目标
价值:为了最大限度地提高总付费价值,我们会将你的广告投放给更有可能付费购买的用户。

注意:如果你选择推广系列预算模式,此设置必须在同一推广系列内的所有广告组中保持一致。

optimization_goal VALUE(需传入 optimization_event)

注意:当推广系列层级的 budget_optimize_on 为 true 时,为同一推广系列内的所有广告组传入相同的 optimization_goal。

优化和出价
· 选择价值
使用以下任意类型:
  • 付费价值
  • 广告收入价值

注意:

  • 如果你选择推广系列预算模式,此设置(如传入)必须在同一推广系列内的所有广告组中保持一致。

optimization_event
  • 若想使用付费价值,需将此字段设置为 ACTIVE_PAY。
  • 若想使用广告收入价值,需将此字段设置为 AD_REVENUE_VALUE。
若想确认设置是否符合启用付费价值或广告收入价值的条件,需使用 /tool/vbo_status/ 接口。

注意:

  • 当推广系列层级的 budget_optimize_on 为 true 时,optimization_event(如传入)必须在同一推广系列内的所有广告组中保持一致。

优化和出价
· 出价策略和(可选)目标 ROAS
选择以下任意选项:
  • 最高价值
  • 最低 ROAS
    • 对于最低 ROAS 出价策略,你需要同时传入目标 ROAS。

注意:

  • 出价策略必须在同一推广系列内的所有广告组中保持一致。
  • 如果你选择推广系列预算模式,目标 ROAS(如传入)必须在同一推广系列内的所有广告组中保持一致。
  • 目标 ROAS 出价策略仅支持采用日预算模式的推广系列或广告组。

  • bid_type
  • bid_price
  • conversion_bid_price
  • deep_bid_type
  • roas_bid
将 deep_bid_type 设置为 VO_MIN_ROAS 或 VO_HIGHEST_VALUE,并将 bid_type 设置为 BID_TYPE_NO_BID。请勿传入 conversion_bid_price 和 bid_price。
  • 如果你将 deep_bid_type 设置为 VO_MIN_ROAS,请同时传入 roas_bid。

注意:

  • bid_type 必须在同一推广系列内的所有广告组中保持一致。
  • 当推广系列层级的 budget_optimize_on 为 true 时,以下设置(如传入)必须在同一推广系列内的所有广告组中保持一致。
    • deep_bid_type
    • roas_bid
  • 在以下任一场景中,你只能将 deep_bid_type 设置为 VO_MIN_ROAS:
    • 在推广系列层级,budget_mode 为 BUDGET_MODE_DYNAMIC_DAILY_BUDGET
    • 在广告组层级,budget_mode 为 BUDGET_MODE_DYNAMIC_DAILY_BUDGET

优化和出价
· 出价策略的时间窗口期
使用以下任意类型:
  • 第 7 天 ROAS 或最高价值
  • 第 0 天 ROAS 或最高价值

注意:如果你选择推广系列预算模式,此设置(如传入)必须在同一推广系列内的所有广告组中保持一致。

vbo_window 使用以下任意值:
  • SEVEN_DAYS
  • ZERO_DAY
例如,如果你将 deep_bid_type 设置为 VO_MIN_ROAS,传入 roas_bid 并将 vbo_window 设置为 ZERO_DAY,系统将力求让你当日的平均 ROAS 达到或高于目标 ROAS 值。

若想确认设置是否符合启用第 0 天时间窗口期或第 7 天时间窗口期的条件,需使用 /tool/vbo_status/ 接口。

注意:当推广系列层级的 budget_optimize_on 为 true 时,vbo_window(如传入)必须在同一推广系列内的所有广告组中保持一致。

优化和出价
· 归因设置
如果选择付费价值,归因窗口期将默认为 180 天点击,事件统计方式将默认为每一次。
  • click_attribution_window
  • attribution_event_count
不传入
  • 当 optimization_event 为 active_pay 时:
    • click_attribution_window 将默认为 ONE_HUNDRED_EIGHTY_DAYS。
    • attribution_event_count 将默认为 EVERY。
优化和出价
· 计费事件
oCPM

注意:如果你选择推广系列预算模式,计费事件必须在同一推广系列内的所有广告组中保持一致。

billing_event OCPM

注意:当推广系列层级的 budget_optimize_on 为 true 时,为同一推广系列内的所有广告组传入相同的 billing_event。

优化和出价
· 投放速度
标准(默认) N/A 升级版 Smart+ 推广系列默认设置为标准投放速度。
预算和排期
· 预算
  • 如果你选择推广系列预算模式:
    • 广告组预算会被禁用。推广系列层级预算将用作广告组预算。
  • 如果你选择广告组预算策略:
    • 如果广告组预算限制为不限或总预算,可使用以下任意广告组预算模式:
      • 总预算
      • 日预算
    • 如果广告组预算限制为日预算,可使用以下任意广告组预算模式:
      • 日预算

注意:广告组预算模式(如传入)必须在同一推广系列内的所有广告组中保持一致。

budget_mode
budget
  • 当推广系列层级的 budget_optimize_on 为 true 时,不支持 budget_mode 和 budget。
  • 当推广系列层级的 budget_optimize_on 为 false 且 budget_mode 为 BUDGET_MODE_INFINITE 或 BUDGET_MODE_TOTAL 时:
    • 将 budget_mode 设置为 BUDGET_MODE_TOTAL 或 BUDGET_MODE_DYNAMIC_DAILY_BUDGET
    • 通过 budget 传入合法预算
  • 当推广系列层级的 budget_optimize_on 为 false 且 budget_mode 为 BUDGET_MODE_DAY 时:
    • 将 budget_mode 设置为 BUDGET_MODE_DYNAMIC_DAILY_BUDGET
    • 通过 budget 传入合法预算

注意:budget_mode(如传入)必须在同一推广系列内的所有广告组中保持一致。

预算和排期
· 为每个广告组添加消耗目标
  · 最低日消耗
  • 如果你使用推广系列日预算,你可以启用或禁用此设置。
  • 如果你使用推广系列总预算或广告组预算,不支持此设置。
min_budget
  • 当推广系列层级的 budget_optimize_on 为 true 且 budget_mode 为 BUDGET_MODE_DYNAMIC_DAILY_BUDGET 时,你可以通过这个字段传入合法值,或不传入。
  • 当推广系列层级的 budget_optimize_on 为 true 且 budget_mode 为 BUDGET_MODE_TOTAL 时,或当 budget_optimize_on 为 false 时,不支持此字段。
预算和排期
· 排期
使用以下任意类型:
  • 设置开始时间并持续投放广告组
  • 设置开始时间和结束时间

注意:在以下任意场景中,你只能选择“设置开始时间并持续投放广告组”:

  • 在推广系列层级,设置了推广系列日预算。
  • 在广告组层级,设置了广告组日预算。

schedule_type
schedule_start_time
schedule_end_time
  • 若想设置开始时间并持续投放广告组,将 schedule_type 设置为 SCHEDULE_FROM_NOW 并传入 schedule_start_time。请勿传入 schedule_end_time。
  • 若想在排定的开始时间和结束时间之间投放广告组,将 schedule_type 设置为 SCHEDULE_START_END 并传入 schedule_start_time 和 schedule_end_time。

注意:在以下任意场景中,你只能将 schedule_type 设置为 SCHEDULE_FROM_NOW:

  • 在推广系列层级,budget_mode 为 BUDGET_MODE_DYNAMIC_DAILY_BUDGET
  • 在广告组层级,budget_mode 为 BUDGET_MODE_DYNAMIC_DAILY_BUDGET

预算和排期
· 分时段(可选)
使用以下任意类型:
  • 全天(默认)
  • 选择特定时段
dayparting 使用以下任意配置:
  • 传入全为 1 的值,或不传入此字段
  • 传入包含 0 的值以表示未投放
受众定向优化模式 自动定向
  • 你可以使用自动定向来充分利用实时数据和机器学习,向最有可能与广告互动的受众定向投放广告。
如需了解支持的定向设置,参见未启用商品库的升级版 Smart+ TikTok Growth Max 短剧推广系列中不同定向优化模式的可用定向设置。
targeting_optimization_mode AUTOMATIC 或不传入

如需了解支持的定向设置,参见未启用商品库的升级版 Smart+ TikTok Growth Max 短剧推广系列中不同定向优化模式的可用定向设置。
广告位和品牌安全
· 广告位
TikTok placement_type PLACEMENT_TYPE_NORMAL
placements PLACEMENT_TIKTOK
广告位和品牌安全
· 子广告位
(广告位包含 TikTok 时选填)
不启用,或启用并带有以下一个或多个选项:
  • Lemon8
  • PineDrama

注意:

  • 在广告组中使用 Lemon8 子广告位 (LEMON8) 目前为白名单功能。如需使用此功能,请联系你的 TikTok 销售代表。
  • 在广告组中使用 PineDrama 子广告位 (PINE_DRAMA) 目前为白名单功能。如需使用此功能,请联系你的 TikTok 销售代表。

tiktok_subplacements 不传入,或传入以下一个或多个值:
  • LEMON8
  • PINE_DRAMA

注意:

  • 在广告组中使用 Lemon8 子广告位 (LEMON8) 目前为白名单功能。如需使用此功能,请联系你的 TikTok 销售代表。
  • 在广告组中使用 PineDrama 子广告位 (PINE_DRAMA) 目前为白名单功能。如需使用此功能,请联系你的 TikTok 销售代表。

广告位和品牌安全
· 品牌安全和适用性
这些设置仅应用于 TikTok 信息流广告和搜索广告。之前在品牌安全中心所做的任何账号层级的设置都将应用到推广系列。 N/A N/A
若想获取品牌安全中心的广告账号层级品牌安全和适用性设置,需使用 /tiktok_inventory_filters/get/ 接口。
若想配置或更新品牌安全中心的广告账号层级品牌安全和适用性设置,需使用 /tiktok_inventory_filters/update/ 接口。
广告位和品牌安全
· 用户评论
已启用或未启用 comment_disabled 传入合法值或不传入
广告位和品牌安全
· 允许下载视频
已启用或未启用 share_disabled 传入合法值或不传入
广告位和品牌安全
· 允许共享视频
已启用或未启用 video_download_disabled 传入合法值或不传入
广告位和品牌安全
· Pangle 媒体屏蔽列表
未启用 N/A N/A

未启用商品库的升级版 Smart+ TikTok Growth Max 短剧推广系列中不同定向优化模式的可用定向设置

定向优化模式 可用定向设置 要求 参数 如何配置参数
自动定向
(targeting_optimization_mode 为 AUTOMATIC 或不传入)
受众控制
· 地域
定向地域应与 TikTok Minis 的定向地域匹配或为其子集。 location_ids 或 zipcode_ids,或两者都需要 传入与已传入 minis_id 的定向地域匹配或为其子集的地域的 ID。
若想获取 TikTok Minis 的定向地域,需使用 /minis/get/ 接口并查看返回的 region_codes。
受众控制
· 最低年龄
选择以下任意选项:
  • 18
  • 25
spc_audience_age 使用以下任意值:
  • OVER_EIGHTEEN 或不传入
  • OVER_TWENTY_FIVE
受众控制
· 语言(可选)
已启用或未启用 languages 传入合法值或不传入
受众控制
· 性别(可选)
已启用或未启用 gender 传入合法值或不传入
受众控制
· 排除受众(可选)
已启用或未启用 excluded_audience_ids 传入合法值或不传入

示例

请求

(code curl http)
curl --location --request POST 'https://business-api.tiktok.com/open_api/v1.3/smart_plus/adgroup/create/' \
--header 'Access-Token: {{Access-Token}}' \
--header 'Content-Type: application/json' \
--data '{
    "advertiser_id": "{{advertiser_id}}",
    "campaign_id": "{{campaign_id}}",
    "request_id": "{{request_id}}",
    "adgroup_name": "{{adgroup_name}}",
    "promotion_type": "MINI_APP",
    "minis_id": "{{minis_id}}",
    "optimization_goal": "VALUE",
    "optimization_event": "ACTIVE_PAY",
    "bid_type": "BID_TYPE_NO_BID",
    "deep_bid_type": "VO_HIGHEST_VALUE",
    "vbo_window": "ZERO_DAY",
    "billing_event": "OCPM",
    "schedule_type": "SCHEDULE_START_END",
    "schedule_start_time": "{{schedule_start_time}}",
    "schedule_end_time": "{{schedule_end_time}}",
    "placement_type": "PLACEMENT_TYPE_NORMAL",
    "placements": [
        "PLACEMENT_TIKTOK"
    ],
    "targeting_optimization_mode": "AUTOMATIC",
    "targeting_spec": {
        "location_ids": [
            "{{location_id}}"
        ]
    }
}'
(/code)

返回

(code curl http)
{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "adgroup_id": "{{adgroup_id}}",
        "adgroup_name": "{{adgroup_name}}",
        "advertiser_id": "{{advertiser_id}}",
        "attribution_event_count": "EVERY",
        "bid_type": "BID_TYPE_NO_BID",
        "billing_event": "OCPM",
        "budget": 0,
        "budget_mode": "BUDGET_MODE_INFINITE",
        "campaign_id": "{{campaign_id}}",
        "campaign_name": "{{campaign_name}}",
        "click_attribution_window": "THIRTY_TWO_DAYS",
        "comment_disabled": false,
        "conversion_bid_price": 0,
        "create_time": "{{create_time}}",
        "dayparting": "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
        "deep_bid_type": "VO_HIGHEST_VALUE",
        "engaged_view_attribution_window": "OFF",
        "is_hfss": false,
        "is_lhf_compliance": false,
        "min_budget": 0,
        "minis_id": "{{minis_id}}",
        "modify_time": "{{modify_time}}",
        "operation_status": "ENABLE",
        "optimization_event": "ACTIVE_PAY",
        "optimization_goal": "VALUE",
        "pacing": "PACING_MODE_SMOOTH",
        "phone_info": {},
        "placement_type": "PLACEMENT_TYPE_NORMAL",
        "placements": [
            "PLACEMENT_TIKTOK"
        ],
        "promotion_type": "MINI_APP",
        "schedule_end_time": "{{schedule_end_time}}",
        "schedule_start_time": "{{schedule_start_time}}",
        "schedule_type": "SCHEDULE_START_END",
        "search_result_enabled": false,
        "secondary_optimization_event": "PURCHASE_ROI",
        "secondary_status": "ADGROUP_STATUS_CREATE",
        "share_disabled": false,
        "skip_learning_phase": true,
        "targeting_optimization_mode": "AUTOMATIC",
        "targeting_spec": {
            "actions": [],
            "age_groups": [
                "AGE_18_24",
                "AGE_25_34",
                "AGE_35_44",
                "AGE_45_54",
                "AGE_55_100"
            ],
            "brand_safety_type": "LIMITED_INVENTORY",
            "category_exclusion_ids": [
                "200",
                "202",
                "203"
            ],
            "gender": "GENDER_UNLIMITED",
            "location_ids": [
                "{{location_id}}"
            ],
            "spc_audience_age": "OVER_EIGHTEEN"
        },
        "vbo_window": "ZERO_DAY",
        "video_download_disabled": false,
        "view_attribution_window": "OFF"
    }
}
(/code)

创建广告

使用 /smart_plus/ad/create/ 接口创建广告。

需确保满足以下要求。完整参数列表参见 /smart_plus/ad/create/ 接口。

设置 要求 参数 如何配置参数
广告名称
(可选)
默认情况下,系统将自动生成广告名称。
你可以通过传入合法的广告名称来自定义。
ad_name
  • 若想系统自动生成广告名称,需将此字段设置为 ""(空字符串)。
  • 若想自定义广告名称,需传入非空字符串值。
创意素材
· 广告发布身份
选择以下任意选项:
  • 自定义用户(自定义身份)
  • 授权用户
  • TikTok 用户
  • 商务中心内的 TikTok 账号用户
identity_type 使用以下任意值:
  • CUSTOMIZED_USER
  • AUTH_CODE
  • TT_USER
  • BC_AUTH_TT

注意:

  • 对于非 Spark Ads 广告发布身份 (CUSTOMIZED_USER),需在 ad_configuration 对象内为 identity_type 和 identity_id 传入值。
  • 对于 Spark Ads 广告发布身份,需在 creative_info 对象内为 identity_type 和 identity_id 传入值。

identity_id 传入合法值
若想获取你的广告账号下的广告发布身份列表,需使用 /identity/get/ 接口。
identity_authorized_bc_id 当 identity_type 为 BC_AUTH_TT 时,传入合法值
创意素材
· 广告创意和广告文案
单个广告可添加 1-50 个广告创意,这些创意可包含以下类型:
  • 视频
  • TikTok 视频帖子
  • TikTok 照片帖子
  • 轮播
查看按广告发布身份和广告类型划分的广告创意组合文档,了解基于广告发布身份类型的可用广告创意组合。

注意:你的创意可能符合付费流量和自然流量优化的条件。在此流程中,广告目标页面链接和相关 URL 参数可能会同步到你的 TikTok 帖子,作为原生锚点展示在推荐页中。在 TikTok 和授权第三方的报告系统中,经过这一优化的原生创意的效果将与付费创意合并为一个实体进行报告。

ad_format 传入合法值
creative_list
video_info
image_info
music_info
ad_text_list
tiktok_item_id
通过 creative_list 传入 1-50 个广告创意。广告创意可以是以下任意类型:
  • 视频
  • TikTok 视频帖子
  • TikTok 照片帖子
  • 轮播
查看按广告发布身份和广告类型划分的广告创意组合文档,了解基于广告发布身份类型的可用广告创意组合的配置。

注意:你的创意可能符合付费流量和自然流量优化的条件。在此流程中,广告目标页面链接和相关 URL 参数可能会同步到你的 TikTok 帖子,作为原生锚点展示在推荐页中。在 TikTok 和授权第三方的报告系统中,经过这一优化的原生创意的效果将与付费创意合并为一个实体进行报告。

卖点(可选) 已启用或未启用 selling_points 传入合法值或不传入
行动引导文案 动态 call_to_action_id 传入合法值

要了解如何创建动态 CTA,请查看 CTA 建议 > 动态 CTA。
call_to_action_list 不传入
创新互动样式
(可选)
(当传入短剧类型的 TikTok Minis 且广告创意包含视频或视频帖子时)
未启用或已启用,最多包含一个以下任意类型的创新互动样式:
  • 展示卡片
  • 倒计时贴纸
  • 礼品码贴纸
interactive_add_on_list 不传入或最多传入以下任意创新互动样式类型的一个 ID:
  • 倒计时贴纸
  • 礼品码贴纸
  • 展示卡片

注意:

  • 只有同时满足以下两个条件时,你才能使用创新互动样式:
    • 在广告组层级:通过 minis_id 传入短剧类型的 TikTok Minis。
    • 在广告层级:creative_list 包含视频创意,包括视频和 TikTok 视频帖子。
若想创建创新互动样式(创意素材包),需使用 /creative/portfolio/create/ 接口。
  • 查看卡片文档,了解如何获取展示卡片素材包 ID。
  • 查看贴纸文档,了解如何获取倒计时贴纸 ID 或礼品码贴纸素材包 ID。

目标页面 TikTok Minis URL。此链接将出现在广告中,用户点击后将直接跳转到 TikTok Minis 界面。 landing_page_url_list 传入合法的 TikTok Minis URL。
确保 URL 与在广告组层级传入的 minis_id 匹配。
要获取合法的 TikTok Minis URL,请联系你的 TikTok 销售代表。
免责声明
(可选)
已启用或未启用 disclaimer 传入合法值或不传入

示例

请求

(code curl http)
curl --location --request POST 'https://business-api.tiktok.com/open_api/v1.3/smart_plus/ad/create/' \
--header 'Access-Token: {{Access-Token}}' \
--header 'Content-Type: application/json' \
--data '{
    "advertiser_id": "{{advertiser_id}}",
    "adgroup_id": "{{adgroup_id}}",
    "ad_name": "{{ad_name}}",
    "creative_list": [
        {
            "creative_info": {
                "ad_format": "SINGLE_VIDEO",
                "video_info": {
                    "video_id": "{{video_id}}"
                },
                "image_info": [
                    {
                        "web_uri": "{{web_uri}}"
                    }
                ],
                "identity_type": "BC_AUTH_TT",
                "identity_id": "{{identity_id}}",
                "identity_authorized_bc_id": "{{identity_authorized_bc_id}}"
            }
        }
    ],
    "ad_text_list": [
        {
            "ad_text": "{{ad_text}}"
        },
        {
            "ad_text": "{{ad_text}}"
        },
        {
            "ad_text": "{{ad_text}}"
        },
        {
            "ad_text": "{{ad_text}}"
        },
        {
            "ad_text": "{{ad_text}}"
        }
    ],
    "landing_page_url_list": [
        {
            "landing_page_url": "{{landing_page_url}}"
        }
    ],
    "ad_configuration": {
        "call_to_action_id": "{{call_to_action_id}}",
        "product_info": {
            "selling_points": [
                "{{selling_point}}"
            ]
        }
    }
}'
(/code)

返回

(code curl http)
{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "ad_configuration": {
            "call_to_action_id": "{{call_to_action_id}}",
            "dark_post_status": "OFF",
            "deeplink_utm_params": [],
            "phone_info": {},
            "tracking_info": {},
            "utm_params": []
        },
        "ad_name": "{{ad_name}}",
        "ad_text_list": [
            {
                "ad_text": "{{ad_text}}"
            },
            {
                "ad_text": "{{ad_text}}"
            },
            {
                "ad_text": "{{ad_text}}"
            },
            {
                "ad_text": "{{ad_text}}"
            },
            {
                "ad_text": "{{ad_text}}"
            }
        ],
        "adgroup_id": "{{adgroup_id}}",
        "adgroup_name": "{{adgroup_name}}",
        "advertiser_id": "{{advertiser_id}}",
        "auto_message_list": [],
        "call_to_action_list": [],
        "campaign_id": "{{campaign_id}}",
        "campaign_name": "{{campaign_name}}",
        "create_time": "{{create_time}}",
        "creative_list": [
            {
                "ad_material_id": "{{ad_material_id}}",
                "creative_info": {
                    "ad_format": "SINGLE_VIDEO",
                    "identity_authorized_bc_id": "{{bc_id}}",
                    "identity_id": "{{identity_id}}",
                    "identity_type": "BC_AUTH_TT",
                    "image_info": [
                        {
                            "web_uri": "{{image_web_uri}}"
                        }
                    ],
                    "material_name": "",
                    "video_info": {
                        "file_name": "",
                        "video_id": "{{video_id}}"
                    }
                },
                "material_operation_status": "ENABLE"
            }
        ],
        "deeplink_list": [],
        "interactive_add_on_list": [],
        "landing_page_url_list": [
            {
                "landing_page_url": "{{landing_page_url}}"
            }
        ],
        "modify_time": "{{modify_time}}",
        "operation_status": "ENABLE",
        "page_list": [],
        "secondary_status": "AD_STATUS_AUDIT",
        "smart_plus_ad_id": "{{ad_id}}"
    }
}
(/code)

创建启用商品库的升级版 Smart+ TikTok Growth Max 短剧推广系列

启用商品库的升级版 Smart+ TikTok Growth Max 短剧推广系列是一种升级版 Smart+ 推广系列,用于推广 TikTok 短剧,使用短剧商品库。

前提条件

若想创建启用商品库的升级版 Smart+ TikTok Growth Max 短剧推广系列,需先在商务中心设置短剧商品库。

设置短剧商品库的步骤:

  1. 使用 /catalog/create/ 接口创建一个短剧商品库。

  2. 使用 /catalog/product/upload/ 接口(JSON 结构)、/catalog/product/file/ 接口(CSV 文件模板)或 /catalog/feed/create/ 接口(在线数据流上传)将短剧上传至商品库。

  3. 查看商品处理结果。

    • 对于 CSV 信息流和 JSON 结构,需使用 /catalog/product/log/ 接口。
      • 传入第 2 步获得的 feed_log_id。如果返回的 error_affected_products 字段不为空,查看问题详细信息,并回到第 2 步重新上传商品。
    • 对于在线信息流,需使用 /catalog/feed/log/ 接口。
      • 传入第 2 步获得的 feed_id。如果返回的 error_count 字段不为 0,查看在线信息流,并回到第 2 步重新上传商品。

4.(可选)使用 /bc/member/invite/ 接口邀请成员加入商务中心并授予管理员权限。 你还可以选择要分配给受邀成员的 advertiser_role。

5.(可选)使用 /bc/asset/assign/ 接口向成员分享商品库,并授予商品库管理权限。 务必在 asset_type 字段中传入 CATALOG,在 catalog_role 字段中传入 ADMIN。

步骤

创建推广系列

使用 /smart_plus/campaign/create/ 接口创建推广系列。

需确保满足以下要求。完整参数列表参见 /smart_plus/campaign/create/ 接口。

设置 要求 参数 如何配置参数
推广目标 原生增长 objective_type APP_PROMOTION
app_promotion_type MINIS
iOS 14 专属推广系列 未启用 campaign_type REGULAR_CAMPAIGN 或不传入
app_id 不传入
campaign_app_profile_page_state 不传入
使用商品库 已启用

若想创建不使用短剧商品库的升级版 Smart+ 短剧推广系列,参见创建未启用商品库的升级版 Smart+ 短剧推广系列。
catalog_enabled true
推广系列名称 传入合法名称 campaign_name 传入合法值
推广系列预算策略 使用以下任意类型:
  • 推广系列预算:你的预算将自动分配给各广告组并自动优化。所有广告组必须使用相同的预算和优化设置。
  • 广告组预算:每个广告组分别使用不同的预算和优化设置,从而精确控制各广告组的消耗。
budget_optimize_on
  • 要设置推广系列预算,请将此字段设置为 true 或不传入。
  • 要设置广告组预算,请将此字段设置为 false。
推广系列预算模式
  • 如果推广系列预算策略为推广系列预算,传入以下任意模式:
    • 日预算
    • 总预算
  • 如果推广系列预算策略为广告组预算,传入以下任意模式,以确定所有广告组的预算限制:
    • 不限
    • 日预算
    • 总预算
budget_mode
  • 当 budget_optimize_on 为 true 或不传入时,使用以下任意值:
    • BUDGET_MODE_TOTAL
    • BUDGET_MODE_DYNAMIC_DAILY_BUDGET
  • 当 budget_optimize_on 为 false 时,使用以下任意值:
    • BUDGET_MODE_INFINITE
    • BUDGET_MODE_DAY
    • BUDGET_MODE_TOTAL
推广系列预算
  • 如果推广系列预算策略为推广系列预算:
    • 传入合法预算。
  • 如果推广系列预算策略为广告组预算:
    • 如果预算限制为不限:
      • 未启用
    • 如果预算限制为日预算或总预算:
      • 传入合法预算
budget
  • 当 budget_optimize_on 为 true 或不传入时:
    • 传入合法值。
  • 当 budget_optimize_on 为 false 时:
    • 如果 budget_mode 为 BUDGET_MODE_INFINITE:
      • 不传入
    • 如果 budget_mode 为 BUDGET_MODE_DAY 或 BUDGET_MODE_TOTAL:
      • 传入合法值
PO 号(可选) 已启用或未启用 po_number 传入合法值或不传入

示例

请求

(code curl http)
curl --location --request POST 'https://business-api.tiktok.com/open_api/v1.3/smart_plus/campaign/create/' \
--header 'Access-Token: {{Access-Token}}' \
--header 'Content-Type: application/json' \
--data '{
    "advertiser_id": "{{advertiser_id}}",
    "request_id": "{{request_id}}",
    "objective_type": "APP_PROMOTION",
    "app_promotion_type": "MINIS",
    "campaign_type": "REGULAR_CAMPAIGN",
    "catalog_enabled": true,
    "campaign_name": "{{campaign_name}}",
    "budget_optimize_on": true,
    "budget_mode": "BUDGET_MODE_DYNAMIC_DAILY_BUDGET",
    "budget": {{budget}}
}'

(/code)

返回

(code curl http)
{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "advertiser_id": "{{advertiser_id}}",
        "app_promotion_type": "MINIS",
        "budget": {{budget}},
        "budget_mode": "BUDGET_MODE_DYNAMIC_DAILY_BUDGET",
        "budget_optimize_on": true,
        "campaign_id": "{{campaign_id}}",
        "campaign_name": "{{campaign_name}}",
        "campaign_type": "REGULAR_CAMPAIGN",
        "catalog_enabled": true,
        "create_time": "{{create_time}}",
        "modify_time": "{{modify_time}}",
        "objective_type": "APP_PROMOTION",
        "operation_status": "ENABLE",
        "secondary_status": "CAMPAIGN_STATUS_ENABLE",
        "smart_plus_adgroup_mode": "MULTIPLE"
    }
}
(/code)

创建广告组

使用 /smart_plus/adgroup/create/ 接口创建广告组。

需确保满足以下要求。完整参数列表参见 /smart_plus/adgroup/create/ 接口。

设置 要求 参数 如何配置参数
广告组名称 传入合法名称 adgroup_name 传入合法值
优化和出价
· 短剧
传入一个有效的短剧类型的 TikTok Minis

注意:如果你选择推广系列预算模式,此设置必须在同一推广系列内的所有广告组中保持一致。

promotion_type MINI_APP

注意:当推广系列层级的 budget_optimize_on 为 true 时,为同一推广系列内的所有广告组传入相同的 promotion_type。

minis_id 传入有效的短剧类型 TikTok Minis 的 ID。
若想获取广告账号中有效的短剧类型 TikTok Minis 的 ID,需使用 /minis/get/ 接口,并选择 minis_status 为 ACTIVE 且 minis_type 为 MINI_SERIES 的 TikTok Minis。
优化和出价
· 目标
价值:为了最大限度地提高总付费价值,我们会将你的广告投放给更有可能付费购买的用户。

注意:

  • 如果你选择推广系列预算模式,此设置必须在同一推广系列内的所有广告组中保持一致。

optimization_goal VALUE(需传入 optimization_event)

注意:当推广系列层级的 budget_optimize_on 为 true 时,为同一推广系列内的所有广告组传入相同的 optimization_goal。

优化和出价
· 选择价值
使用以下任意类型:
  • 付费价值
  • 广告收入价值

注意:

  • 如果你选择推广系列预算模式,此设置(如传入)必须在同一推广系列内的所有广告组中保持一致。

optimization_event
  • 若想使用付费价值,需将此字段设置为 ACTIVE_PAY。
  • 若想使用广告收入价值,需将此字段设置为 AD_REVENUE_VALUE。

若想确认设置是否符合启用付费价值或广告收入价值的条件,需使用 /tool/vbo_status/ 接口。

注意:

  • 当推广系列层级的 budget_optimize_on 为 true 时,optimization_event(如传入)必须在同一推广系列内的所有广告组中保持一致。

优化和出价
· 出价策略和(可选)目标 ROAS
选择以下任意选项:
  • 最高价值
  • 最低 ROAS
    • 对于最低 ROAS 出价策略,你需要同时传入目标 ROAS。

注意:

  • 出价策略必须在同一推广系列内的所有广告组中保持一致。
  • 如果你选择推广系列预算模式,目标 ROAS(如传入)必须在同一推广系列内的所有广告组中保持一致。
  • 目标 ROAS 出价策略仅支持采用日预算模式的推广系列或广告组。

bid_type
bid_price
conversion_bid_price
deep_bid_type
roas_bid
将 deep_bid_type 设置为 VO_MIN_ROAS 或 VO_HIGHEST_VALUE,并将 bid_type 设置为 BID_TYPE_NO_BID。请勿传入 conversion_bid_price 和 bid_price。
  • 如果你将 deep_bid_type 设置为 VO_MIN_ROAS,请同时传入 roas_bid。

注意:

  • bid_type 必须在同一推广系列内的所有广告组中保持一致。
  • 当推广系列层级的 budget_optimize_on 为 true 时,以下设置(如传入)必须在同一推广系列内的所有广告组中保持一致。
    • deep_bid_type
    • roas_bid
  • 在以下任一场景中,你只能将 deep_bid_type 设置为 VO_MIN_ROAS:
    • 在推广系列层级,budget_mode 为 BUDGET_MODE_DYNAMIC_DAILY_BUDGET
    • 在广告组层级,budget_mode 为 BUDGET_MODE_DYNAMIC_DAILY_BUDGET
优化和出价
· 出价策略的时间窗口期
使用以下任意类型:
  • 第 7 天 ROAS 或最高价值
  • 第 0 天 ROAS 或最高价值

注意:如果你选择推广系列预算模式,此设置(如传入)必须在同一推广系列内的所有广告组中保持一致。

vbo_window 使用以下任意值:
  • SEVEN_DAYS
  • ZERO_DAY

例如,如果你将 deep_bid_type 设置为 VO_MIN_ROAS,传入 roas_bid 并将 vbo_window 设置为 ZERO_DAY,系统将力求让你当日的平均 ROAS 达到或高于目标 ROAS 值。

若想确认设置是否符合启用第 0 天时间窗口期或第 7 天时间窗口期的条件,需使用 /tool/vbo_status/ 接口。

注意:当推广系列层级的 budget_optimize_on 为 true 时,vbo_window(如传入)必须在同一推广系列内的所有广告组中保持一致。

优化和出价
· 归因设置
归因窗口期将默认为 180 天点击,事件统计方式将默认为每一次。 click_attribution_window
attribution_event_count
不传入
  • click_attribution_window 将默认为 ONE_HUNDRED_EIGHTY_DAYS。
  • attribution_event_count 将默认为 EVERY。
优化和出价
· 计费事件
oCPM

注意:

  • 如果你选择推广系列预算模式,计费事件必须在同一推广系列内的所有广告组中保持一致。
billing_event OCPM

注意:当推广系列层级的 budget_optimize_on 为 true 时,为同一推广系列内的所有广告组传入相同的 billing_event。

优化和出价
· 投放速度
标准(默认) N/A 升级版 Smart+ 推广系列默认设置为标准投放速度。
商品库 传入至少包含 1 部通过审核的短剧的短剧商品库 catalog_id
catalog_authorized_bc_id
传入合法值。
商品库 (catalog_id) 需要至少包含 1 部通过审核的短剧。可查看从 /catalog/overview/ 接口返回的 approved 值进行验证,该值应至少为 1。

  • 若想获取商务中心内的短剧商品库,需使用 /catalog/get/ 接口。短剧商品库的 catalog_type 将为 MINI_SERIES。
  • 如需了解如何创建短剧商品库,请查看前提条件。
预算和排期
· 预算
  • 如果你选择推广系列预算模式:
    • 广告组预算会被禁用。推广系列层级预算将用作广告组预算。
  • 如果你选择广告组预算策略:
    • 如果广告组预算限制为不限或总预算,可使用以下任意广告组预算模式:
      • 总预算
      • 日预算
    • 如果广告组预算限制为日预算,可使用以下任意广告组预算模式:
      • 日预算

注意:广告组预算模式(如传入)必须在同一推广系列内的所有广告组中保持一致。

budget_mode
budget
  • 当推广系列层级的 budget_optimize_on 为 true 时,不支持 budget_mode 和 budget。
  • 当推广系列层级的 budget_optimize_on 为 false 且 budget_mode 为 BUDGET_MODE_INFINITE 或 BUDGET_MODE_TOTAL 时:
    • 将 budget_mode 设置为 BUDGET_MODE_TOTAL 或 BUDGET_MODE_DYNAMIC_DAILY_BUDGET
    • 通过 budget 传入合法预算
  • 当推广系列层级的 budget_optimize_on 为 false 且 budget_mode 为 BUDGET_MODE_DAY 时:
    • 将 budget_mode 设置为 BUDGET_MODE_DYNAMIC_DAILY_BUDGET
    • 通过 budget 传入合法预算

注意:budget_mode(如传入)必须在同一推广系列内的所有广告组中保持一致。

预算和排期
· 为每个广告组添加消耗目标
  · 最低日消耗
  • 如果你使用推广系列日预算,你可以启用或禁用此设置。
  • 如果你使用推广系列总预算或广告组预算,不支持此设置。
min_budget
  • 当推广系列层级的 budget_optimize_on 为 true 且 budget_mode 为 BUDGET_MODE_DYNAMIC_DAILY_BUDGET 时,你可以通过这个字段传入合法值,或不传入。
  • 当推广系列层级的 budget_optimize_on 为 true 且 budget_mode 为 BUDGET_MODE_TOTAL 时,或当 budget_optimize_on 为 false 时,不支持此字段。
预算和排期
· 排期
使用以下任意类型:
  • 设置开始时间并持续投放广告组
  • 设置开始时间和结束时间

注意:在以下任意场景中,你只能选择“设置开始时间并持续投放广告组”:

  • 在推广系列层级,设置了推广系列日预算。
  • 在广告组层级,设置了广告组日预算。

schedule_type
schedule_start_time
schedule_end_time
  • 若想设置开始时间并持续投放广告组,将 schedule_type 设置为 SCHEDULE_FROM_NOW 并传入 schedule_start_time。请勿传入 schedule_end_time。
  • 若想在排定的开始时间和结束时间之间投放广告组,将 schedule_type 设置为 SCHEDULE_START_END 并传入 schedule_start_time 和 schedule_end_time。

注意:在以下任意场景中,你只能将 schedule_type 设置为 SCHEDULE_FROM_NOW:

  • 在推广系列层级,budget_mode 为 BUDGET_MODE_DYNAMIC_DAILY_BUDGET
  • 在广告组层级,budget_mode 为 BUDGET_MODE_DYNAMIC_DAILY_BUDGET

预算和排期
· 分时段(可选)
使用以下任意类型:
  • 全天(默认)
  • 选择特定时段
dayparting 使用以下任意配置:
  • 传入全为 1 的值,或不传入此字段
  • 传入包含 0 的值以表示未投放
受众定向优化模式 自动定向
  • 你可以使用自动定向来充分利用实时数据和机器学习,向最有可能与广告互动的受众定向投放广告。

如需了解支持的定向设置,参见启用商品库的升级版 Smart+ TikTok Growth Max 短剧推广系列中不同定向优化模式的可用定向设置。
targeting_optimization_mode AUTOMATIC 或不传入

如需了解支持的定向设置,参见启用商品库的升级版 Smart+ TikTok Growth Max 短剧推广系列中不同定向优化模式的可用定向设置。
广告位和品牌安全
· 广告位
TikTok placement_type PLACEMENT_TYPE_NORMAL
placements PLACEMENT_TIKTOK
广告位和品牌安全
· 子广告位
(广告位包含 TikTok 时选填)
不启用,或启用并带有以下一个或多个选项:
  • Lemon8
  • PineDrama

注意:

  • 在广告组中使用 Lemon8 子广告位 (LEMON8) 目前为白名单功能。如需使用此功能,请联系你的 TikTok 销售代表。
  • 在广告组中使用 PineDrama 子广告位 (PINE_DRAMA) 目前为白名单功能。如需使用此功能,请联系你的 TikTok 销售代表。

tiktok_subplacements 不传入,或传入以下一个或多个值:
  • LEMON8
  • PINE_DRAMA

注意:

  • 在广告组中使用 Lemon8 子广告位 (LEMON8) 目前为白名单功能。如需使用此功能,请联系你的 TikTok 销售代表。
  • 在广告组中使用 PineDrama 子广告位 (PINE_DRAMA) 目前为白名单功能。如需使用此功能,请联系你的 TikTok 销售代表。

广告位和品牌安全
· 品牌安全和适用性
这些设置仅应用于 TikTok 信息流广告和搜索广告。之前在品牌安全中心所做的任何账号层级的设置都将应用到推广系列。 N/A N/A
若想获取品牌安全中心的广告账号层级品牌安全和适用性设置,需使用 /tiktok_inventory_filters/get/ 接口。
若想配置或更新品牌安全中心的广告账号层级品牌安全和适用性设置,需使用 /tiktok_inventory_filters/update/ 接口。
广告位和品牌安全
· 用户评论
已启用或未启用 comment_disabled 传入合法值或不传入
广告位和品牌安全
· 允许下载视频
已启用或未启用 share_disabled 传入合法值或不传入
广告位和品牌安全
· 允许共享视频
已启用或未启用 video_download_disabled 传入合法值或不传入
广告位和品牌安全
· Pangle 媒体屏蔽列表
未启用 N/A N/A

启用商品库的升级版 Smart+ TikTok Growth Max 短剧推广系列中不同定向优化模式的可用定向设置

定向优化模式 可用定向设置 要求 参数 如何配置参数
自动定向
(targeting_optimization_mode
为 AUTOMATIC 或不传入)
受众控制
· 地域
定向地域应与 TikTok Minis 和短剧商品库的定向地域匹配或为其子集。 location_ids 或 zipcode_ids,或两者都需要 传入与已传入 minis_id 和 catalog_id 的定向地域匹配或为其子集的地域的 ID。
  • 若想获取 TikTok Minis 的定向地域,需使用 /minis/get/ 接口并查看返回的 region_codes。
  • 若想获取短剧商品库的定向地域,需使用 /catalog/get/ 接口并查看返回的 country 和 additional_config_list。
受众控制
· 最低年龄
选择以下任意选项:
  • 18
  • 25
spc_audience_age 使用以下任意值:
  • OVER_EIGHTEEN 或不传入
  • OVER_TWENTY_FIVE
受众控制
· 语言
(可选)
已启用或未启用 languages 传入合法值或不传入
受众控制
· 性别
(可选)
已启用或未启用 gender 传入合法值或不传入
受众控制
· 排除受众
(可选)
已启用或未启用 excluded_audience_ids 传入合法值或不传入

示例

请求

(code curl http)
curl --location --request POST 'https://business-api.tiktok.com/open_api/v1.3/smart_plus/adgroup/create/' \
--header 'Access-Token: {{Access-Token}}' \
--header 'Content-Type: application/json' \
--data '{
    "advertiser_id": "{{advertiser_id}}",
    "campaign_id": "{{campaign_id}}",
    "request_id": "{{request_id}}",
    "adgroup_name": "{{adgroup_name}}",
    "promotion_type": "MINI_APP",
    "minis_id": "{{minis_id}}",
    "optimization_goal": "VALUE",
    "optimization_event": "ACTIVE_PAY",
    "bid_type": "BID_TYPE_NO_BID",
    "deep_bid_type": "VO_HIGHEST_VALUE",
    "vbo_window": "ZERO_DAY",
    "catalog_id": "{{catalog_id}}",
    "catalog_authorized_bc_id": "{{catalog_authorized_bc_id}}",
    "billing_event": "OCPM",
    "schedule_type": "SCHEDULE_START_END",
    "schedule_start_time": "{{schedule_start_time}}",
    "schedule_end_time": "{{schedule_end_time}}",
    "placement_type": "PLACEMENT_TYPE_NORMAL",
    "placements": [
        "PLACEMENT_TIKTOK"
    ],
    "targeting_optimization_mode": "AUTOMATIC",
    "targeting_spec": {
        "location_ids": [
            "{{location_id}}"
        ]
    }
}'
(/code)

返回

(code curl http)
{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "adgroup_id": "{{adgroup_id}}",
        "adgroup_name": "{{adgroup_name}}",
        "advertiser_id": "{{advertiser_id}}",
        "attribution_event_count": "EVERY",
        "bid_type": "BID_TYPE_NO_BID",
        "billing_event": "OCPM",
        "budget": 0,
        "budget_mode": "BUDGET_MODE_INFINITE",
        "campaign_id": "{{campaign_id}}",
        "campaign_name": "{{campaign_name}}",
        "catalog_authorized_bc_id": "{{catalog_authorized_bc_id}}",
        "catalog_id": "{{catalog_id}}",
        "click_attribution_window": "THIRTY_TWO_DAYS",
        "comment_disabled": false,
        "conversion_bid_price": 0,
        "create_time": "{{create_time}}",
        "dayparting": "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
        "deep_bid_type": "VO_HIGHEST_VALUE",
        "engaged_view_attribution_window": "OFF",
        "is_hfss": false,
        "is_lhf_compliance": false,
        "min_budget": 0,
        "minis_id": "{{minis_id}}",
        "modify_time": "{{modify_time}}",
        "operation_status": "ENABLE",
        "optimization_event": "ACTIVE_PAY",
        "optimization_goal": "VALUE",
        "pacing": "PACING_MODE_SMOOTH",
        "phone_info": {},
        "placement_type": "PLACEMENT_TYPE_NORMAL",
        "placements": [
            "PLACEMENT_TIKTOK"
        ],
        "product_source": "CATALOG",
        "promotion_type": "MINI_APP",
        "schedule_end_time": "{{schedule_end_time}}",
        "schedule_start_time": "{{schedule_start_time}}",
        "schedule_type": "SCHEDULE_START_END",
        "search_result_enabled": false,
        "secondary_optimization_event": "PURCHASE_ROI",
        "secondary_status": "ADGROUP_STATUS_CREATE",
        "share_disabled": false,
        "skip_learning_phase": true,
        "targeting_optimization_mode": "AUTOMATIC",
        "targeting_spec": {
            "actions": [],
            "age_groups": [
                "AGE_18_24",
                "AGE_25_34",
                "AGE_35_44",
                "AGE_45_54",
                "AGE_55_100"
            ],
            "brand_safety_type": "LIMITED_INVENTORY",
            "category_exclusion_ids": [
                "200",
                "202",
                "203"
            ],
            "gender": "GENDER_UNLIMITED",
            "location_ids": [
                "{{location_id}}"
            ],
            "spc_audience_age": "OVER_EIGHTEEN"
        },
        "vbo_window": "ZERO_DAY",
        "video_download_disabled": false,
        "view_attribution_window": "OFF"
    }
}
(/code)

创建广告

使用 /smart_plus/ad/create/ 接口创建广告。

需确保满足以下要求。完整参数列表参见 /smart_plus/ad/create/ 接口。

设置 要求 参数 如何配置参数
广告名称
(可选)
默认情况下,系统将自动生成广告名称。
你可以通过传入合法的广告名称来自定义。
ad_name
  • 若想系统自动生成广告名称,需将此字段设置为 ""(空字符串)。
  • 若想自定义广告名称,需传入非空字符串值。
特定剧集 选择一部剧集 product_specific_type CUSTOMIZED_PRODUCTS
product_ids 在广告组层级传入的 catalog_id 中,传入 1 部可用的剧集。
  • 若想获取每部剧集的商品 ID (product_id),需使用 /catalog/product/get/ 接口,并选择 1 个 audit_status 为 approved 的商品。
product_set_id 不传入
创意素材
· 广告发布身份
选择以下任意选项:
  • 自定义用户(自定义身份)
  • 授权用户
  • TikTok 用户
  • 商务中心内的 TikTok 账号用户
identity_type 使用以下任意值:
  • CUSTOMIZED_USER
  • AUTH_CODE
  • TT_USER
  • BC_AUTH_TT

注意:

  • 对于非 Spark Ads 广告发布身份 (CUSTOMIZED_USER),需在 ad_configuration 对象内为 identity_type 和 identity_id 传入值。
  • 对于 Spark Ads 广告发布身份,需在 creative_info 对象内为 identity_type 和 identity_id 传入值。
identity_id 传入合法值
若想获取你的广告账号下的广告发布身份列表,需使用 /identity/get/ 接口。
identity_authorized_bc_id 当 identity_type 为 BC_AUTH_TT 时,传入合法值
创意素材
· 广告创意和广告文案
单个广告可添加 1-50 个广告创意,这些创意可包含以下类型:
  • 视频
  • TikTok 视频帖子
  • TikTok 照片帖子
  • 轮播

查看按广告发布身份和广告类型划分的广告创意组合文档,了解基于广告发布身份类型的可用广告创意组合。

注意:你的创意可能符合付费流量和自然流量优化的条件。在此流程中,广告目标页面链接和相关 URL 参数可能会同步到你的 TikTok 帖子,作为原生锚点展示在推荐页中。在 TikTok 和授权第三方的报告系统中,经过这一优化的原生创意的效果将与付费创意合并为一个实体进行报告。

ad_format 传入合法值
creative_list
video_info
image_info
music_info
ad_text_list
tiktok_item_id
通过 creative_list 传入 1-50 个广告创意。广告创意可以是以下任意类型:
  • 视频
  • TikTok 视频帖子
  • TikTok 照片帖子
  • 轮播

查看按广告发布身份和广告类型划分的广告创意组合文档,了解基于广告发布身份类型的可用广告创意组合的配置。

注意:你的创意可能符合付费流量和自然流量优化的条件。在此流程中,广告目标页面链接和相关 URL 参数可能会同步到你的 TikTok 帖子,作为原生锚点展示在推荐页中。在 TikTok 和授权第三方的报告系统中,经过这一优化的原生创意的效果将与付费创意合并为一个实体进行报告。

卖点 未启用 selling_points 不传入
行动引导文案 动态 call_to_action_id 传入合法值

要了解如何创建动态 CTA,请查看 CTA 建议 > 动态 CTA。
call_to_action_list 不传入
创新互动样式
(可选)
(当传入短剧类型的 TikTok Minis 且广告创意包含视频或视频帖子时)
未启用或已启用,最多包含一个以下任意类型的创新互动样式:
  • 展示卡片
  • 倒计时贴纸
  • 礼品码贴纸
interactive_add_on_list 不传入或最多传入以下任意创新互动样式类型的一个 ID:
  • 倒计时贴纸
  • 礼品码贴纸
  • 展示卡片

注意:

  • 只有同时满足以下两个条件时,你才能使用创新互动样式:
    • 在广告组层级:通过 minis_id 传入短剧类型的 TikTok Minis。
    • 在广告层级:creative_list 包含视频创意,包括视频和 TikTok 视频帖子。

若想创建创新互动样式(创意素材包),需使用 /creative/portfolio/create/ 接口。
  • 查看卡片文档,了解如何获取展示卡片素材包 ID。
  • 查看贴纸文档,了解如何获取倒计时贴纸 ID 或礼品码贴纸素材包 ID。
目标页面 TikTok Minis URL。此链接将出现在广告中,用户点击后将直接跳转到 TikTok Minis 界面。 landing_page_url_list 传入合法的 TikTok Minis URL。
确保 URL 与在广告组层级传入的 minis_id 匹配。
要获取合法的 TikTok Minis URL,请联系你的 TikTok 销售代表。
免责声明
(可选)
已启用或未启用 disclaimer 传入合法值或不传入

示例

请求

(code curl http)
curl --location --request POST 'https://business-api.tiktok.com/open_api/v1.3/smart_plus/ad/create/' \
--header 'Access-Token: {{Access-Token}}' \
--header 'Content-Type: application/json' \
--data '{
    "advertiser_id": "{{advertiser_id}}",
    "adgroup_id": "{{adgroup_id}}",
    "ad_name": "{{ad_name}}",
    "creative_list": [
        {
            "creative_info": {
                "ad_format": "SINGLE_VIDEO",
                "video_info": {
                    "video_id": "{{video_id}}"
                },
                "image_info": [
                    {
                        "web_uri": "{{web_uri}}"
                    }
                ],
                "identity_type": "BC_AUTH_TT",
                "identity_id": "{{identity_id}}",
                "identity_authorized_bc_id": "{{bc_id}}"
            }
        }
    ],
    "ad_text_list": [
        {
            "ad_text": "{{ad_text}}"
        },
        {
            "ad_text": "{{ad_text}}"
        },
        {
            "ad_text": "{{ad_text}}"
        },
        {
            "ad_text": "{{ad_text}}"
        },
        {
            "ad_text": "{{ad_text}}"
        }
    ],
    "landing_page_url_list": [
        {
            "landing_page_url": "{{landing_page_url}}"
        }
    ],
    "ad_configuration": {
        "call_to_action_id": "{{call_to_action_id}}",
        "product_specific_type": "CUSTOMIZED_PRODUCTS",
        "product_ids": [
            "{{product_id}}"
        ]
    }
}'
(/code)

返回

(code curl http)
{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "ad_configuration": {
            "call_to_action_id": "{{call_to_action_id}}",
            "dark_post_status": "OFF",
            "deeplink_utm_params": [],
            "phone_info": {},
            "product_ids": [
                "{{product_id}}"
            ],
            "product_specific_type": "CUSTOMIZED_PRODUCTS",
            "tracking_info": {},
            "utm_params": []
        },
        "ad_name": "{{ad_name}}",
        "ad_text_list": [
            {
                "ad_text": "{{ad_text}}"
            },
            {
                "ad_text": "{{ad_text}}"
            },
            {
                "ad_text": "{{ad_text}}"
            },
            {
                "ad_text": "{{ad_text}}"
            },
            {
                "ad_text": "{{ad_text}}"
            }
        ],
        "adgroup_id": "{{adgroup_id}}",
        "adgroup_name": "{{adgroup_name}}",
        "advertiser_id": "{{advertiser_id}}",
        "auto_message_list": [],
        "call_to_action_list": [],
        "campaign_id": "{{campaign_id}}",
        "campaign_name": "{{campaign_name}}",
        "create_time": "{{create_time}}",
        "creative_list": [
            {
                "ad_material_id": "{{ad_material_id}}",
                "creative_info": {
                    "ad_format": "SINGLE_VIDEO",
                    "identity_authorized_bc_id": "{{bc_id}}",
                    "identity_id": "{{identity_id}}",
                    "identity_type": "BC_AUTH_TT",
                    "image_info": [
                        {
                            "web_uri": "{{image_web_uri}}"
                        }
                    ],
                    "material_name": "",
                    "video_info": {
                        "file_name": "",
                        "video_id": "{{video_id}}"
                    }
                },
                "material_operation_status": "ENABLE"
            }
        ],
        "deeplink_list": [],
        "interactive_add_on_list": [],
        "landing_page_url_list": [
            {
                "landing_page_url": "{{landing_page_url}}"
            }
        ],
        "modify_time": "{{modify_time}}",
        "operation_status": "ENABLE",
        "page_list": [],
        "secondary_status": "AD_STATUS_AUDIT",
        "smart_plus_ad_id": "{{smart_plus_ad_id}}"
    }
}
(/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 每日平台更新简报 →