← 返回目录
📁 Use Cases › Campaign creation › Create ads with Website and App Optimization

创建启用网站和应用优化的手动商品库广告

本文介绍创建启用网站和应用优化的手动商品库广告的步骤。

步骤

1. 创建推广系列

使用 /campaign/create/ 接口创建推广系列。需确保满足以下要求:

设置 要求 参数 如何配置参数
推广目标 销量 virtual_objective_type SALES
objective_type PRODUCT_SALES
销售目标页面 网站和应用 sales_destination WEB_AND_APP
使用商品库 启用电商商品库 catalog_enabled true 或不传入

注意:当 objective_type 为 PRODUCT_SALES 且 sales_destination 为 WEB_AND_APP 时,此字段将默认设置为 true。

推广系列名称 指定合法名称 campaign_name 传入合法值
特殊广告类别
(可选)
不启用或启用

注意:此设置仅支持在美国或加拿大注册的广告主使用。

special_industries 不传入或传入合法值
推广系列预算优化
(可选)
不启用或启用 budget_optimize_on false (或不传入)或 true
设置推广系列预算
(可选)
不启用或启用以下任意预算类型:
  • 日预算
  • 总预算
budget_mode 使用以下任意值:
  • BUDGET_MODE_INFINITE
  • BUDGET_MODE_TOTAL
  • BUDGET_MODE_DYNAMIC_DAILY_BUDGET
  • BUDGET_MODE_DAY
budget 当 budget_mode 为以下任意值时,传入合法值:
  • BUDGET_MODE_TOTAL
  • BUDGET_MODE_DYNAMIC_DAILY_BUDGET
  • BUDGET_MODE_DAY
使用 RTA 自动选择商品
(已启用 RTA 时)
(可选)
不启用或启用 rta_product_selection_enabled false (或不传入)或 true
使用 RTA 出价
(已启用 RTA 时)
(可选)
不启用或启用 rta_bid_enabled false (或不传入)或 true

示例

请求

(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 '{
    "advertiser_id": "{{advertiser_id}}",
    "virtual_objective_type": "SALES",
    "objective_type": "PRODUCT_SALES",
    "sales_destination": "WEB_AND_APP",
    "catalog_enabled": true,
    "campaign_name": "{{campaign_name}}",
    "budget_mode": "BUDGET_MODE_TOTAL",
    "budget": {{budget}}
}'
(/code)

返回

(code curl http)
{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "rta_product_selection_enabled": false,
        "roas_bid": 0,
        "budget_mode": "BUDGET_MODE_TOTAL",
        "rta_bid_enabled": false,
        "campaign_automation_type": "MANUAL",
        "campaign_app_profile_page_state": "UNSET",
        "is_smart_performance_campaign": false,
        "secondary_status": "CAMPAIGN_STATUS_ENABLE",
        "objective_type": "PRODUCT_SALES",
        "virtual_objective_type": "SALES",
        "sales_destination": "WEB_AND_APP",
        "rta_id": null,
        "is_new_structure": true,
        "operation_status": "ENABLE",
        "is_advanced_dedicated_campaign": false,
        "campaign_id": "{{campaign_id}}",
        "budget": {{budget}},
        "disable_skan_campaign": null,
        "deep_bid_type": null,
        "campaign_name": "{{campaign_name}}",
        "campaign_product_source": "CATALOG",
        "create_time": "{{create_time}}",
        "advertiser_id": "{{advertiser_id}}",
        "is_search_campaign": false,
        "catalog_enabled": true,
        "objective": "LANDING_PAGE",
        "modify_time": "{{modify_time}}",
        "campaign_type": "REGULAR_CAMPAIGN"
    }
}
(/code)

2. 创建广告组

使用 /adgroup/create/ 接口创建广告组。需确保满足以下要求:

设置 要求 参数 如何配置参数
广告组名称 指定合法名称 adgroup_name 传入合法值
商品数据源详细信息
· 商品库
指定至少包含 1 个通过审核的商品的电商商品库 product_source CATALOG
catalog_id
catalog_authorized_bc_id
传入合法值。

商品库 (catalog_id) 需至少包含 1 个通过审核的商品。可查看从 /catalog/overview/ 接口返回的 approved 值进行验证,该值应至少为 1。

  • 若想获取商务中心内的电商商品库,需使用 /catalog/get/ 接口。对于电商商品库,catalog_type 应为 ECOM。
  • 若想创建电商商品库,需使用 /catalog/create/ 接口。
优化位置
· 网站数据连接
指定合法 Pixel pixel_id 传入合法值。

若想获取你的广告账号内的 Pixel 列表,需使用 /pixel/list/ 接口。
promotion_type WEBSITE
优化位置
· iOS 和应用
指定以下任意项:
  • Android 应用
  • iOS 应用
  • Android 应用和 iOS 应用
app_config 指定以下任意项:
  • Android 应用的应用 ID
  • iOS 应用的应用 ID
  • Android 应用的应用 ID 和 iOS 应用的应用 ID

若想获取你的广告账号内的应用 ID 列表,需使用 /app/list/ 接口,并查看返回的 app_id。
优化位置
· 优化事件
指定合法事件 optimization_event 传入合法值。

查看手动商品库广告的 optimization_event 值列表部分,了解支持的事件类型。

你需要确保指定的优化事件在 Pixel 和应用中均合法。
广告位 选择以下任意选项:
  • 自动广告位
  • 选择广告位,并选择以下任意广告位:
    • TikTok
    • Pangle
    • 全球化应用组合
placement_type
placements
采用以下任意设置:
  • 将 placement_type 设置为 PLACEMENT_TYPE_AUTOMATIC。
  • 将 placement_type 设置为 PLACEMENT_TYPE_NORMAL,并在 placements 值中包含以下任意广告位:
    • PLACEMENT_TIKTOK
    • PLACEMENT_PANGLE
    • PLACEMENT_GLOBAL_APP_BUNDLE
用户评论
(可选)
不启用或启用 comment_disabled true 或 false
允许下载视频
(可选)
不启用或启用 video_download_disabled true 或 false
Pangle 媒体屏蔽列表
(可选)
启用或不启用 blocked_pangle_app_ids 传入合法值或不传入
受众定向
· 受众
选择以下任意选项:
  • 寻找潜在顾客:寻找潜在顾客,包括尚未与你的商品互动过的用户。
  • 对受众再营销:向已经与商品互动过的用户推广商品。
    • 如果你选择对受众再营销,确保事件源已关联到商品库。这有助于精确地针对与你的商品互动过的用户定向投放广告。
shopping_ads_retargeting_type
shopping_ads_retargeting_actions_days
included_custom_actions
excluded_custom_actions
shopping_ads_retargeting_custom_audience_relation
传入合法值
  • 若想寻找潜在顾客,需将 shopping_ads_retargeting_type 设置为 OFF。
  • 若想对受众再营销,需将 shopping_ads_retargeting_type 设置为 LAB1、LAB2 或 LAB3,并传入其他相关参数。同时,你还需要确保商品库 (catalog_id)已绑定事件源。否则系统将报错。
受众定向
· 受众
    · 包含(可选)
(适用于寻找潜在顾客模式)
启用或不启用 audience_ids 传入合法值或不传入
受众定向
· 受众
    · 排除(可选)
(适用于寻找潜在顾客模式)
启用或不启用 exclude_audience_ids 传入合法值或不传入
受众定向
· 人群属性
    · 地域
地域应与商品库的定向地域匹配或为其子集。 location_ids 或 zipcode_ids,或同时使用这两个参数 指定与 catalog_id 定向地域匹配或为其子集的地域的 ID。

若想获取商品库的定向地域,需使用 /catalog/get/ 接口并查看返回的 country。
受众定向
· 人群属性
    · 年龄(可选)
启用或不启用 age_groups 传入合法值或不传入
受众定向
· 人群属性
    · 性别(可选)
启用或不启用 gender 传入合法值或不传入
受众定向
· 人群属性
    · 语言(可选)
启用或不启用 languages 传入合法值或不传入
受众定向
· 兴趣和行为
    · 兴趣(可选)
启用或不启用 interest_category_ids
interest_keyword_ids
传入合法值或不传入
受众定向
· 兴趣和行为
    · 购买意向(可选)
启用或不启用 purchase_intention_keyword_ids 传入合法值或不传入
受众定向
· 兴趣和行为
    · 视频互动
    · 创作者互动
    · 话题互动
(可选)
启用或不启用 actions 传入合法值或不传入
受众定向
· 设备
    · 操作系统(可选)
启用或不启用 operating_systems 传入合法值或不传入
受众定向
· 设备
    · 操作系统版本(可选)
启用或不启用 min_android_version 或 min_ios_version 传入合法值或不传入
受众定向
· 设备
    · 设备机型(可选)
启用或不启用 device_model_ids 传入合法值或不传入
受众定向
· 设备
    · 连接类型(可选)
启用或不启用 network_types 传入合法值或不传入
受众定向
· 设备
    · 运营商(可选)
启用或不启用 carrier_ids 传入合法值或不传入
受众定向
· 设备
    · 互联网服务提供商(可选)
启用或不启用 isp_ids 传入合法值或不传入
受众定向
· 设备
    · 设备价格(可选)
启用或不启用 device_price_ranges 传入合法值或不传入
内容排除
· 库存筛选(可选)
启用或不启用 brand_safety_type 传入合法值或不传入
预算和排期
· 预算模式和预算
指定合法预算 budget_mode
budget
传入合法值
预算和排期
· 排期
使用以下任意类型:
  • 设置开始时间并持续投放广告组
  • 设置开始时间和结束时间
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。
预算和排期
· 分时段
使用以下任意类型:
  • 全天(默认)
  • 选择特定时段
dayparting 使用以下任意配置:
  • 指定全为 1 的值,或不指定此字段
  • 指定包含 0 的值以表示未投放
出价和优化
· 优化目标
转化 optimization_goal CONVERT
出价和优化
· 出价策略
使用以下任意类型:
  • 最大投放量
  • 成本上限(或目标 CPA)
bid_type
conversion_bid_price
将 bid_type 设置为 BID_TYPE_CUSTOM 或 BID_TYPE_NO_BID。
  • 如果 bid_type 为 BID_TYPE_CUSTOM,需同时指定 conversion_bid_price。
出价和优化
· 归因设置
从支持的归因设置选项中,选择适用于特定场景的选项。 click_attribution_window
view_attribution_window
engaged_view_attribution_window
attribution_event_count
查看归因窗口期和事件统计方式 - 商品销量文档,了解不同场景支持的归因设置选项。
出价和优化
· 计费事件
oCPM billing_event OCPM
出价和优化
· 投放速度
如果将出价策略设置为成本上限,可将投放速度设置为标准或加速。
如果将出价策略设置为最大投放量,只能将投放速度设置为标准。
pacing
  • 如果 bid_type 为 BID_TYPE_CUSTOM,可将 pacing 设置为 PACING_MODE_SMOOTH 或 PACING_MODE_FAST。
  • 如果 bid_type 为 BID_TYPE_NO_BID,只能将 pacing 设置为 PACING_MODE_SMOOTH。

手动商品库广告的 optimization_event 值列表

下表列出了启用网站和应用优化的手动商品库广告的可用事件。

| 事件名称{20%} | <code>optimization_event</code> 值{25%} | 对应的 Pixel 事件<br>(<code>optimization_event</code>){20%} | 对应的应用事件<br>(<code>optimization_event</code> 或 <code>secondary_optimization_event</code>){35%} |
|---|---|---|---|
| 添加支付信息 | `ADD_BILLING` | `ADD_BILLING` | `ADD_PAYMENT_INFO` |
| 加入购物车 | `ON_WEB_CART` | `ON_WEB_CART` | `IN_APP_CART` |
| 加入心愿单 | `ON_WEB_ADD_TO_WISHLIST` | `ON_WEB_ADD_TO_WISHLIST` | `ADD_TO_WISHLIST` |
| 开始结账/结账 | `INITIATE_ORDER` | `INITIATE_ORDER` | `IN_APP_ORDER` |
| 付费 | `SHOPPING` | `SHOPPING` | `ACTIVE_PAY` |
| 搜索 | `ON_WEB_SEARCH` | `ON_WEB_SEARCH` | `SEARCH` |
| 订阅 | `ON_WEB_SUBSCRIBE` | `ON_WEB_SUBSCRIBE` | `SUBSCRIBE` |
| 查看内容 | `ON_WEB_DETAIL` | `ON_WEB_DETAIL` | `IN_APP_DETAIL_UV` |

示例

寻找潜在顾客

请求

(code curl http)
url --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 '{
    "advertiser_id": "{{advertiser_id}}",
    "campaign_id": "{{campaign_id}}",
    "adgroup_name": "{{adgroup_name}}",
    "product_source": "CATALOG",
    "catalog_id": "{{catalog_id}}",
    "catalog_authorized_bc_id": "{{catalog_authorized_bc_id}}",
    "pixel_id": "{{pixel_id}}",
    "promotion_type": "WEBSITE",
    "app_config": [
        {
            "app_id": "{{app_id}}"
        },
        {
            "app_id": "{{app_id}}"
        }
    ],
    "optimization_event": "ADD_BILLING",
    "placement_type": "PLACEMENT_TYPE_AUTOMATIC",
    "shopping_ads_retargeting_type":"OFF",
    "budget_mode": "BUDGET_MODE_TOTAL",
    "budget": {{budget}},
    "schedule_type": "SCHEDULE_START_END",
    "schedule_start_time": "{{schedule_start_time}}",
    "schedule_end_time": "{{schedule_end_time}}",
    "optimization_goal": "CONVERT",
    "location_ids": [
        "6252001"
    ],
    "bid_type": "BID_TYPE_CUSTOM",
    "conversion_bid_price": {{conversion_bid_price}},
    "billing_event": "OCPM"
}'
(/code)

返回

(code curl http)
{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "age_groups": null,
        "vbo_window": null,
        "keywords": null,
        "statistic_type": null,
        "skip_learning_phase": true,
        "interest_keyword_ids": [],
        "excluded_audience_ids": [],
        "dayparting": "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
        "pacing": "PACING_MODE_FAST",
        "ios14_quota_type": "UNOCCUPIED",
        "deep_funnel_event_source_id": null,
        "campaign_name": "{{campaign_name}}",
        "languages": [],
        "budget": {{budget}},
        "adgroup_name": "{{adgroup_name}}",
        "adgroup_app_profile_page_state": null,
        "next_day_retention": null,
        "isp_ids": [],
        "network_types": [],
        "actions": [],
        "modify_time": "{{modify_time}}",
        "schedule_type": "SCHEDULE_START_END",
        "billing_event": "OCPM",
        "budget_mode": "BUDGET_MODE_TOTAL",
        "rf_estimated_cpr": null,
        "deep_funnel_optimization_status": null,
        "purchased_reach": null,
        "rf_estimated_frequency": null,
        "click_attribution_window": "SEVEN_DAYS",
        "shopping_ads_retargeting_type": "OFF",
        "audience_ids": [],
        "adgroup_id": "{{adgroup_id}}",
        "app_config": [
            {
                "app_id": "{{app_id}}"
            },
            {
                "app_id": "{{app_id}}"
            }
        ],
        "conversion_window": null,
        "gender": "GENDER_UNLIMITED",
        "deep_funnel_optimization_event": null,
        "purchased_impression": null,
        "placements": [
            "PLACEMENT_TIKTOK",
            "PLACEMENT_PANGLE"
        ],
        "category_exclusion_ids": [],
        "schedule_end_time": "{{schedule_end_time}}",
        "deep_cpa_bid": 0,
        "is_hfss": false,
        "location_ids": [
            "6252001"
        ],
        "promotion_type": "WEBSITE",
        "search_result_enabled": false,
        "device_price_ranges": null,
        "operation_status": "ENABLE",
        "inventory_filter_enabled": false,
        "operating_systems": [],
        "view_attribution_window": "ONE_DAY",
        "create_time": "{{create_time}}",
        "optimization_event": "ADD_BILLING",
        "catalog_authorized_bc_id": "{{catalog_authorized_bc_id}}",
        "auto_targeting_enabled": false,
        "catalog_id": "{{catalog_id}}",
        "smart_interest_behavior_enabled": null,
        "bid_display_mode": "CPMV",
        "delivery_mode": null,
        "product_source": "CATALOG",
        "attribution_event_count": "EVERY",
        "conversion_bid_price": 11,
        "smart_audience_enabled": null,
        "pixel_id": "{{pixel_id}}",
        "creative_material_mode": "CATALOG_SALES",
        "app_download_url": null,
        "category_id": "0",
        "brand_safety_type": "NO_BRAND_SAFETY",
        "app_id": null,
        "brand_safety_partner": null,
        "share_disabled": false,
        "campaign_automation_type": "MANUAL",
        "interest_category_ids": [],
        "app_type": null,
        "video_download_disabled": false,
        "schedule_start_time": "{{schedule_start_time}}",
        "feed_type": null,
        "scheduled_budget": 0,
        "schedule_infos": null,
        "frequency": null,
        "secondary_status": "ADGROUP_STATUS_CREATE",
        "is_smart_performance_campaign": false,
        "shopping_ads_type": "VIDEO",
        "is_new_structure": true,
        "campaign_id": "{{campaign_id}}",
        "bid_price": 0,
        "secondary_optimization_event": null,
        "deep_bid_type": null,
        "rf_purchased_type": null,
        "frequency_schedule": null,
        "placement_type": "PLACEMENT_TYPE_AUTOMATIC",
        "optimization_goal": "CONVERT",
        "comment_disabled": false,
        "bid_type": "BID_TYPE_CUSTOM",
        "advertiser_id": "{{advertiser_id}}",
        "deep_funnel_event_source": null,
        "automated_keywords_enabled": null,
        "engaged_view_attribution_window": "ONE_DAY"
    }
}
(/code)

对受众再营销

请求

(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 '{
    "advertiser_id": "{{advertiser_id}}",
    "campaign_id": "{{campaign_id}}",
    "adgroup_name": "{{adgroup_name}}",
    "product_source": "CATALOG",
    "catalog_id": "{{catalog_id}}",
    "catalog_authorized_bc_id": "{{catalog_authorized_bc_id}}",
    "pixel_id": "{{pixel_id}}",
    "promotion_type": "WEBSITE",
    "app_config": [
        {
            "app_id": "{{app_id}}"
        },
        {
            "app_id": "{{app_id}}"
        }
    ],
    "optimization_event": "ADD_BILLING",
    "placement_type": "PLACEMENT_TYPE_AUTOMATIC",
    "shopping_ads_retargeting_type": "LAB1",
    "shopping_ads_retargeting_actions_days": 30,
    "budget_mode": "BUDGET_MODE_TOTAL",
    "budget": {{budget}},
    "schedule_type": "SCHEDULE_START_END",
    "schedule_start_time": "{{schedule_start_time}}",
    "schedule_end_time": "{{schedule_end_time}}",
    "optimization_goal": "CONVERT",
    "location_ids": [
        "1861060"
    ],
    "bid_type": "BID_TYPE_CUSTOM",
    "conversion_bid_price": {{conversion_bid_price}},
    "billing_event": "OCPM"
}'
(/code)

返回

(code curl http)
 {
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "age_groups": null,
        "vbo_window": null,
        "keywords": null,
        "statistic_type": null,
        "skip_learning_phase": true,
        "interest_keyword_ids": [],
        "excluded_audience_ids": [],
        "dayparting": "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
        "pacing": "PACING_MODE_FAST",
        "ios14_quota_type": "UNOCCUPIED",
        "deep_funnel_event_source_id": null,
        "campaign_name": "{{campaign_name}}",
        "languages": [],
        "budget": {{budget}},
        "adgroup_name": "{{adgroup_name}}",
        "adgroup_app_profile_page_state": null,
        "next_day_retention": null,
        "isp_ids": [],
        "network_types": [],
        "actions": [],
        "modify_time": "{{modify_time}}",
        "schedule_type": "SCHEDULE_START_END",
        "billing_event": "OCPM",
        "budget_mode": "BUDGET_MODE_TOTAL",
        "rf_estimated_cpr": null,
        "deep_funnel_optimization_status": null,
        "purchased_reach": null,
        "rf_estimated_frequency": null,
        "click_attribution_window": "SEVEN_DAYS",
        "shopping_ads_retargeting_type": "LAB1",
        "audience_ids": [],
        "adgroup_id": "{{adgroup_id}}",
        "app_config": [
            {
                "app_id": "{{app_id}}"
            },
            {
                "app_id": "{{app_id}}"
            }
        ],
        "conversion_window": null,
        "gender": "GENDER_UNLIMITED",
        "deep_funnel_optimization_event": null,
        "purchased_impression": null,
        "placements": [
            "PLACEMENT_TIKTOK",
            "PLACEMENT_PANGLE"
        ],
        "category_exclusion_ids": [],
        "schedule_end_time": "{{schedule_end_time}}",
        "deep_cpa_bid": 0,
        "is_hfss": false,
        "location_ids": [
            "1861060"
        ],
        "promotion_type": "WEBSITE",
        "search_result_enabled": false,
        "device_price_ranges": null,
        "operation_status": "ENABLE",
        "inventory_filter_enabled": false,
        "operating_systems": [],
        "view_attribution_window": "ONE_DAY",
        "create_time": "{{create_time}}",
        "optimization_event": "ADD_BILLING",
        "catalog_authorized_bc_id": "{{catalog_authorized_bc_id}}",
        "auto_targeting_enabled": false,
        "catalog_id": "{{catalog_id}}",
        "smart_interest_behavior_enabled": null,
        "bid_display_mode": "CPMV",
        "delivery_mode": null,
        "product_source": "CATALOG",
        "attribution_event_count": "EVERY",
        "conversion_bid_price": 11,
        "smart_audience_enabled": null,
        "pixel_id": "{{pixel_id}}",
        "creative_material_mode": "CUSTOM",
        "app_download_url": null,
        "category_id": "0",
        "brand_safety_type": "NO_BRAND_SAFETY",
        "app_id": null,
        "brand_safety_partner": null,
        "share_disabled": false,
        "campaign_automation_type": "MANUAL",
        "interest_category_ids": [],
        "app_type": null,
        "video_download_disabled": true,
        "schedule_start_time": "{{schedule_start_time}}",
        "feed_type": null,
        "scheduled_budget": 0,
        "schedule_infos": null,
        "frequency": null,
        "secondary_status": "ADGROUP_STATUS_CREATE",
        "is_smart_performance_campaign": false,
        "shopping_ads_type": "VIDEO",
        "is_new_structure": true,
        "campaign_id": "{{campaign_id}}",
        "bid_price": 0,
        "secondary_optimization_event": null,
        "deep_bid_type": null,
        "rf_purchased_type": null,
        "frequency_schedule": null,
        "placement_type": "PLACEMENT_TYPE_AUTOMATIC",
        "optimization_goal": "CONVERT",
        "comment_disabled": false,
        "bid_type": "BID_TYPE_CUSTOM",
        "advertiser_id": "{{advertiser_id}}",
        "deep_funnel_event_source": null,
        "automated_keywords_enabled": null,
        "engaged_view_attribution_window": "ONE_DAY"
    }
}
(/code)

3. 创建广告

使用 /ad/create/ 接口创建广告。需确保满足以下要求:

采用单视频广告样式

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

若想获取你的广告账号下的广告发布身份列表,需使用 /identity/get/ 接口。
identity_authorized_bc_id 当 identity_type 为 BC_AUTH_TT 时,传入合法值
商品 选择以下任意选项:
  • 所有商品
  • 商品系列
  • 特定商品,最多 20 个商品
catalog_id
product_specific_type
item_group_ids
product_set_id
sku_ids
  • 将 catalog_id 设置为在广告组层级指定的同一个商品库的 ID。
  • 将 product_specific_type 设置为 ALL、PRODUCT_SET 或 CUSTOMIZED_PRODUCTS。
    • 如果将 product_specific_type设置为 ALL,无需传入 sku_ids、item_group_ids 和 product_set_id。
    • 如果将 product_specific_type设置为 PRODUCT_SET,需传入 item_group_ids 或 product_set_id,无需传入 sku_ids。
    • 如果将 product_specific_type设置为 CUSTOMIZED_PRODUCTS,需通过 sku_ids 传入最多 20 个商品,无需传入 item_group_ids 和 product_set_id。

注意:若想确定电商商品库中的商品是否可用于广告,需使用 /catalog/product/get/ 接口。如果商品返回的 ad_creation_eligible 为 AVAILABLE,代表可在广告中使用。

广告样式 单视频广告:使用视频创意推广你的商品。 ad_format SINGLE_VIDEO
vertical_video_strategy SINGLE_VIDEO
广告创意
  • 对于自定义用户身份或使用 TikTok 用户身份的 Spark Ads 推送,需指定视频和封面图片。
  • 对于作为商务中心广告发布身份的 TikTok 账号用户、授权用户身份或使用 TikTok 用户身份的 Spark Ads 提取,需指定 TikTok 帖子。
video_id
image_ids
ad_text
tiktok_item_id
dark_post_status
  • 如果 identity_type 为 CUSTOMIZED_USER,指定视频 (video_id)、视频封面 (image_ids) 和广告文案 (ad_text)。请勿传入 tiktok_item_id。
  • 如果 identity_type 为 TT_USER,可通过 Spark Ads 提取或 Spark Ads 推送创建广告:
    • Spark Ads 推送:指定视频 (video_id)、视频封面 (image_ids) 和广告文案 (ad_text)。请勿传入 tiktok_item_id。可将 dark_post_status 设置为 ON,确保视频仅作为广告展示,不会在 TikTok 账号中以自然流量内容的形式展示。
    • Spark Ads 提取:通过 tiktok_item_id 指定 TikTok 帖子。请勿传入 video_id、image_ids、ad_text 和 dark_post_status。
    查看创建 Spark Ads文档,详细了解 Spark Ads。
  • 如果 identity_type 为 AUTH_CODE 或 BC_AUTH_TT,通过 tiktok_item_id 指定 TikTok 帖子。请勿传入 video_id、image_ids 和 ad_text。
shopping_ads_video_package_id 不传入
music_id 不传入
创新互动样式
(可选)
不启用或启用以下任意类型:
  • 商品卡片
  • 商品磁贴(需加入白名单)
  • 倒计时贴纸
  • 礼品码贴纸
  • 展示卡片
card_id 不传入或传入以下任一类型的创意素材包 ID:
  • 商品卡片
  • 商品磁贴
  • 倒计时贴纸
  • 礼品码贴纸
  • 展示卡片

若想创建创意素材包,需使用 /creative/portfolio/create/ 接口。
  • 查看卡片文档,了解如何获取展示卡片 ID、商品卡片 ID 或商品磁贴素材包 ID。
  • 查看贴纸文档,了解如何获取倒计时贴纸 ID 或礼品码贴纸素材包 ID。

注意:目前,仅加入白名单的用户可使用商品磁贴素材包创建广告。若想使用这项功能,请联系你的 TikTok 代表。

目标页面 网站 N/A N/A
深度链接 启用自定义深度链接 shopping_ads_deeplink_type CUSTOM
deeplink_type NORMAL
deeplink 指定自定义深度链接。
深度链接可采用以下任意格式:
  • 采用 scheme://resource 格式的自定义 URL 架构。例如,WhatsApp 的自定义 URL 架构应遵循 whatsapp://resource 格式。
  • 以 http:// 或 https:// 开头的 Apple 通用链接或 Android 应用链接。
深度链接参数
(可选)
启用或不启用 deeplink_utm_params 传入合法值或不传入

你可以通过直接将 deeplink 设置为已包含 URL 参数的深度链接,手动为自定义深度链接添加深度链接 URL 参数。
  • 但如果在广告中使用自定义深度链接并同时指定 deeplink_utm_params,在广告投放时,URL 参数不会自动附加到自定义深度链接 (deeplink)。在这一情况下,需确保 deeplink_utm_params 与已使用的深度链接 URL 参数精确匹配。否则系统将报错。
失败路径 URL 启用自定义链接(推广网页) shopping_ads_fallback_type CUSTOM
landing_page_url 指定自定义链接。
在广告配置深度链接后,此 URL 会将未安装应用的用户跳转到指定页面(例如官网首页)。
URL 参数
(可选)
启用或不启用 utm_params 传入合法值或不传入

你可以通过直接将 landing_page_url 设置为已包含 URL 参数的 URL,手动为自定义链接添加 URL 参数。
  • 但如果在广告中使用自定义链接并同时指定 utm_params,在广告投放时,URL 参数不会自动附加到自定义链接 (landing_page_url)。在这一情况下,需确保指定的 landing_page_url 已附加 URL 参数,以及 utm_params 与已使用的 URL 参数精确匹配。否则系统将报错。
行动引导文案 已启用 call_to_action 传入合法值。

参见枚举值 - 行动引导文案文档,查看枚举值。
监测
· TikTok 事件监测
    · 线下事件
(可选)
启用或不启用 tracking_offline_event_set_ids 传入合法值或不传入
监测
· 第三方监测设置
    · 展示监测 URL
(可选)
启用或不启用 impression_tracking_url 传入合法值或不传入
监测
· 第三方监测设置
    · 点击监测 URL
(可选)
启用或不启用 click_tracking_url 传入合法值或不传入
监测
· 第三方监测设置
    · 通过第三方合作伙伴度量品牌安全性
(可选)
启用或不启用 brand_safety_postbid_partner
brand_safety_vast_url
传入合法值或不传入
监测
· 第三方监测设置
    · 通过第三方合作伙伴度量可见性
(可选)
启用或不启用 viewability_postbid_partner
viewability_vast_url
传入合法值或不传入

示例

Spark Ads 提取

请求

(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 '{
    "advertiser_id": "{{advertiser_id}}",
    "adgroup_id": "{{adgroup_id}}",
    "creatives": [
        {
            "ad_name": "{{ad_name}}",
            "identity_type": "TT_USER",
            "identity_id": "{{identity_id}}",
            "catalog_id": "{{catalog_id}}",
            "product_specific_type": "ALL",
            "ad_format": "SINGLE_VIDEO",
            "vertical_video_strategy": "SINGLE_VIDEO",
            "tiktok_item_id": "{{tiktok_item_id}}",
            "card_id": "{{card_id}}",
            "shopping_ads_deeplink_type": "CUSTOM",
            "deeplink_type": "NORMAL",
            "deeplink": "{{deeplink}}",
            "shopping_ads_fallback_type": "CUSTOM",
            "landing_page_url": "{{landing_page_url}}",
            "call_to_action": "LEARN_MORE"
        }
    ]
}'
(/code)

返回

(code curl http)
{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "ad_ids": [
            "{{ad_ids}}"
        ],
        "need_audit": false,
        "creatives": [
            {
                "deeplink": "{{deeplink}}",
                "profile_image_url": "",
                "card_id": "{{card_id}}",
                "campaign_name": "{{campaign_name}}",
                "video_id": null,
                "viewability_vast_url": null,
                "shopping_ads_video_package_id": "",
                "ad_texts": null,
                "is_aco": false,
                "modify_time": "{{modify_time}}",
                "ad_name": "{{ad_name}}",
                "adgroup_name": "{{adgroup_name}}",
                "promotional_music_disabled": true,
                "image_ids": [],
                "ad_id": "{{ad_id}}",
                "dynamic_format": "UNSET",
                "music_id": null,
                "landing_page_urls": null,
                "identity_id": "{{identity_id}}",
                "landing_page_url": "{{landing_page_url}}",
                "product_specific_type": "ALL",
                "identity_type": "TT_USER",
                "playable_url": "",
                "call_to_action": "LEARN_MORE",
                "avatar_icon_web_uri": "",
                "operation_status": "ENABLE",
                "ad_ref_pixel_id": "{{ad_ref_pixel_id}}",
                "create_time": "{{create_time}}",
                "optimization_event": "ADD_BILLING",
                "dynamic_destination": "UNSET",
                "display_name": "{{display_name}}",
                "vast_moat_enabled": false,
                "ad_text": "{{ad_text}}",
                "deeplink_type": "NORMAL",
                "catalog_id": "{{catalog_id}}",
                "tiktok_item_id": "{{tiktok_item_id}}",
                "viewability_postbid_partner": "UNSET",
                "creative_type": null,
                "shopping_ads_deeplink_type": "CUSTOM",
                "creative_authorized": false,
                "carousel_image_labels": null,
                "app_name": "{{app_name}}",
                "campaign_automation_type": "MANUAL",
                "impression_tracking_url": null,
                "ad_format": "SINGLE_VIDEO",
                "click_tracking_url": null,
                "tracking_offline_event_set_ids": [
                    "{{tracking_offline_event_set_ids}}"
                ],
                "is_new_structure": true,
                "campaign_id": "{{campaign_id}}",
                "tracking_pixel_id": "{{tracking_pixel_id}}",
                "vertical_video_strategy": "SINGLE_VIDEO",
                "brand_safety_vast_url": null,
                "adgroup_id": "{{adgroup_id}}",
                "call_to_action_id": null,
                "page_id": null,
                "advertiser_id": "{{advertiser_id}}",
                "shopping_ads_fallback_type": "CUSTOM"
            }
        ]
    }
}
(/code)
Spark Ads 推送

请求

(code curl http)
curl --location  --request POST 'https://business-api.tiktok.com/open_api/v1.3/ad/create/' \
--header 'Access-Token: {{AccessToken}}' \
--header 'Content-Type: application/json' \
--data '{
    "advertiser_id": "{{advertiser_id}}",
    "adgroup_id": "{{adgroup_id}}",
    "creatives": [
        {
            "ad_name": "{{ad_name}}",
            "identity_type": "TT_USER",
            "identity_id": "{{identity_id}}",
            "catalog_id": "{{catalog_id}}",
            "product_specific_type": "ALL",
            "ad_format": "SINGLE_VIDEO",
            "vertical_video_strategy": "SINGLE_VIDEO",
            "video_id": "{{video_id}}",
            "image_ids": [
                "{{image_ids}}"
            ],
            "ad_text": "{{ad_text}}",
            "card_id": "{{card_id}}",
            "shopping_ads_deeplink_type": "CUSTOM",
            "deeplink_type": "NORMAL",
            "deeplink": "{{deeplink}}",
            "shopping_ads_fallback_type": "CUSTOM",
            "landing_page_url": "{{landing_page_url}}",
            "call_to_action": "LEARN_MORE"
        }
    ]
}'
(/code)

返回

(code curl http)
{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "ad_ids": [
            "{{ad_ids}}"
        ],
        "need_audit": false,
        "creatives": [
            {
                "deeplink": "{{deeplink}}",
                "profile_image_url": "",
                "card_id": "{{card_id}}",
                "campaign_name": "{{campaign_name}}",
                "video_id": "{{video_id}}",
                "viewability_vast_url": null,
                "shopping_ads_video_package_id": "",
                "ad_texts": null,
                "is_aco": false,
                "modify_time": "{{modify_time}}",
                "ad_name": "{{ad_name}}",
                "adgroup_name": "{{adgroup_name}}",
                "dark_post_status": "OFF",
                "image_ids": [
                    "{{image_ids}}"
                ],
                "ad_id": "{{ad_id}}",
                "dynamic_format": "UNSET",
                "music_id": null,
                "landing_page_urls": null,
                "identity_id": "{{identity_id}}",
                "landing_page_url": "{{landing_page_url}}",
                "product_specific_type": "ALL",
                "identity_type": "TT_USER",
                "playable_url": "",
                "call_to_action": "LEARN_MORE",
                "avatar_icon_web_uri": "",
                "operation_status": "ENABLE",
                "ad_ref_pixel_id": "{{ad_ref_pixel_id}}",
                "create_time": "{{create_time}}",
                "optimization_event": "ADD_BILLING",
                "dynamic_destination": "UNSET",
                "display_name": "{{display_name}}",
                "vast_moat_enabled": false,
                "ad_text": "{{ad_text}}",
                "deeplink_type": "NORMAL",
                "catalog_id": "{{catalog_id}}",
                "viewability_postbid_partner": "UNSET",
                "creative_type": null,
                "shopping_ads_deeplink_type": "CUSTOM",
                "creative_authorized": false,
                "branded_content_disabled": false,
                "carousel_image_labels": null,
                "app_name": "{{app_name}}",
                "campaign_automation_type": "MANUAL",
                "impression_tracking_url": null,
                "ad_format": "SINGLE_VIDEO",
                "click_tracking_url": null,
                "tracking_offline_event_set_ids": [
                    "{{tracking_offline_event_set_ids}}"
                ],
                "is_new_structure": true,
                "campaign_id": "{{campaign_id}}",
                "tracking_pixel_id": "{{tracking_pixel_id}}",
                "vertical_video_strategy": "SINGLE_VIDEO",
                "brand_safety_vast_url": null,
                "adgroup_id": "{{adgroup_id}}",
                "call_to_action_id": null,
                "page_id": null,
                "advertiser_id": "{{advertiser_id}}",
                "shopping_ads_fallback_type": "CUSTOM"
            }
        ]
    }
}
(/code)

采用商品库视频广告样式

设置 要求 参数 如何配置参数
广告名称
(可选)
默认情况下,系统将自动生成广告名称。
你可以通过指定合法的广告名称来自定义。
ad_name
  • 若想系统自动生成广告名称,需将此字段设置为 ""(空字符串)。
  • 若想自定义广告名称,需指定非空字符串值。
广告发布身份 自定义用户(自定义身份) identity_type CUSTOMIZED_USER
identity_id 传入合法值。
若想获取你的广告账号下的广告发布身份列表,需使用 /identity/get/ 接口。
identity_authorized_bc_id 不传入
商品 选择以下任意选项:
  • 所有商品
  • 商品系列
  • 特定商品,最多 20 个商品
catalog_id
product_specific_type
item_group_ids
product_set_id
sku_ids
  • 将 catalog_id 设置为在广告组层级指定的同一个商品库的 ID。
  • 将 product_specific_type 设置为 ALL、PRODUCT_SET 或 CUSTOMIZED_PRODUCTS。
    • 如果将 product_specific_type 设置为 ALL,无需传入 sku_ids、item_group_ids 和 product_set_id。
    • 如果将 product_specific_type 设置为 PRODUCT_SET,需传入 item_group_ids 或 product_set_id,无需传入 sku_ids。
    • 如果将 product_specific_type 设置为 CUSTOMIZED_PRODUCTS,需通过 sku_ids 传入最多 20 个商品,无需传入 item_group_ids 和 product_set_id。

注意:若想确定电商商品库中的商品是否可用于广告,需使用 /catalog/product/get/ 接口。如果商品返回的 ad_creation_eligible 为 AVAILABLE,代表可在广告中使用。

广告样式 商品库视频:基于商品库中的信息生成动态视频。 ad_format SINGLE_VIDEO
vertical_video_strategy 使用以下任意值:
  • CATALOG_UPLOADED_VIDEOS:使用已上传视频的商品库视频。查看上传商品库视频并与商品绑定文档,了解如何管理已上传的商品库视频。
  • CATALOG_VIDEOS:使用视频模板的商品库视频。
广告创意 商品库视频。你需要确保至少有 1 个已上传的视频或视频模板已绑定你的商品库,或为每个商品库商品配置了视频 URL。
  • 如果选择你的视频(已上传的视频),系统将自动选择展示你的商品的已上传视频。
  • 如果选择视频模板,该模板将用于为每个商品库商品自动生成商品库视频。
  • 如果未选择视频模板,系统将为每个商品库商品自动选择你的任一视频模板,以生成相应的商品库视频。如果商品有视频 URL,那么将使用该视频。
shopping_ads_video_package_id 传入或不传入。
  • 如果不传入此字段且 vertical_video_strategy 设置为 CATALOG_UPLOADED_VIDEOS,系统将自动选择展示你的商品的已上传视频。
  • 如果传入此字段且 vertical_video_strategy 设置为 CATALOG_VIDEOS,将使用指定的视频模板为每个商品库商品自动生成商品库视频。
  • 如果不传入此字段且 vertical_video_strategy 设置为 CATALOG_VIDEOS,系统将为每个商品库商品自动选择你的任一视频模板,以生成相应的商品库视频。如果商品有视频 URL,那么将使用该视频。

若想获取绑定你的商品库的视频模板(视频包)ID ,需使用 /catalog/video_package/get/ 接口。
查看创建视频包文档,了解如何在 TikTok 广告管理平台上创建视频包。
video_id
image_ids
tiktok_item_id
music_id
不传入
广告文案 已指定 ad_text 传入合法值。
创新互动样式
(可选)
不启用或启用以下任意类型:
  • 商品卡片
  • 商品磁贴(需加入白名单)
  • 倒计时贴纸
  • 礼品码贴纸
  • 展示卡片
card_id 不传入或指定以下任一类型的创意素材包 ID:
  • 商品卡片
  • 商品磁贴
  • 倒计时贴纸
  • 礼品码贴纸
  • 展示卡片

若想创建创意素材包,需使用 /creative/portfolio/create/ 接口。
  • 查看卡片文档,了解如何获取展示卡片 ID、商品卡片 ID 或商品磁贴素材包 ID。
  • 查看贴纸文档,了解如何获取倒计时贴纸 ID 或礼品码贴纸素材包 ID。

注意:目前,仅加入白名单的用户可使用商品磁贴素材包创建广告。若想使用这项功能,请联系你的 TikTok 代表。

目标页面 网站 N/A N/A
深度链接 启用自定义深度链接 shopping_ads_deeplink_type CUSTOM
deeplink_type NORMAL
deeplink 指定自定义深度链接。
深度链接可采用以下任意格式:
  • 采用 scheme://resource 格式的自定义 URL 架构。例如,WhatsApp 的自定义 URL 架构应遵循 whatsapp://resource 格式。
  • 以 http:// 或 https:// 开头的 Apple 通用链接或 Android 应用链接。
深度链接参数
(可选)
启用或不启用 deeplink_utm_params 传入合法值或不传入

你可以通过直接将 deeplink 设置为已包含 URL 参数的深度链接,手动为自定义深度链接添加深度链接 URL 参数。
  • 但如果在广告中使用自定义深度链接并同时指定 deeplink_utm_params,在广告投放时,URL 参数不会自动附加到自定义深度链接 (deeplink)。在这一情况下,需确保 deeplink_utm_params 与已使用的深度链接 URL 参数精确匹配。否则系统将报错。
失败路径 URL 启用自定义链接(推广网页) shopping_ads_fallback_type CUSTOM
landing_page_url 指定自定义链接。
在广告配置深度链接后,此 URL 会将未安装应用的用户跳转到指定页面(例如官网首页)。
URL 参数
(可选)
启用或不启用 utm_params 传入合法值或不传入

你可以通过直接将 landing_page_url 设置为已包含 URL 参数的 URL,手动为自定义链接添加 URL 参数。
  • 但如果在广告中使用自定义链接并同时指定 utm_params,在广告投放时,URL 参数不会自动附加到自定义链接 (landing_page_url)。在这一情况下,需确保指定的 landing_page_url 已附加 URL 参数,以及 utm_params 与已使用的 URL 参数精确匹配。否则系统将报错。
行动引导文案 已启用 call_to_action 传入合法值。

参见枚举值 - 行动引导文案文档,查看枚举值。
监测
· TikTok 事件监测
    - 线下事件
(可选)
启用或不启用 tracking_offline_event_set_ids 传入合法值或不传入
监测
· 第三方监测设置
    · 展示监测 URL
(可选)
启用或不启用 impression_tracking_url 传入合法值或不传入
监测
· 第三方监测设置
    · 点击监测 URL
(可选)
启用或不启用 click_tracking_url 传入合法值或不传入
监测
· 第三方监测设置
    · 通过第三方合作伙伴度量品牌安全性
(可选)
启用或不启用 brand_safety_postbid_partner
brand_safety_vast_url
传入合法值或不传入
监测
· 第三方监测设置
    · 通过第三方合作伙伴度量可见性
(可选)
启用或不启用 viewability_postbid_partner
viewability_vast_url
传入合法值或不传入

示例

使用视频模板

请求

(code curl http)
curl --location  --request POST 'https://business-api.tiktok.com/open_api/v1.3/ad/create/' \
--header 'Access-Token: {{AccessToken}}' \
--header 'Content-Type: application/json' \
--data '{
    "advertiser_id": "{{advertiser_id}}",
    "adgroup_id": "{{adgroup_id}}",
    "creatives": [
        {
            "ad_name": "{{ad_name}}",
            "identity_type": "CUSTOMIZED_USER",
            "identity_id": "{{identity_id}}",
            "catalog_id": "{{catalog_id}}",
            "product_specific_type": "ALL",
            "ad_format": "SINGLE_VIDEO",
            "vertical_video_strategy": "CATALOG_VIDEOS",
            "ad_text": "{{ad_text}}",
            "card_id": "{{card_id}}",
            "shopping_ads_deeplink_type": "CUSTOM",
            "deeplink_type": "NORMAL",
            "deeplink": "{{deeplink}}",
            "shopping_ads_fallback_type": "CUSTOM",
            "landing_page_url": "{{landing_page_url}}",
            "call_to_action": "LEARN_MORE"
        }
    ]
}'
(/code)

返回

(code curl http)
{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "ad_ids": [
            "{{ad_ids}}"
        ],
        "need_audit": false,
        "creatives": [
            {
                "deeplink": "{{deeplink}}",
                "profile_image_url": "",
                "card_id": "{{card_id}}",
                "campaign_name": "{{campaign_name}}",
                "video_id": null,
                "viewability_vast_url": null,
                "shopping_ads_video_package_id": "",
                "ad_texts": null,
                "is_aco": false,
                "modify_time": "{{modify_time}}",
                "ad_name": "{{ad_name}}",
                "adgroup_name": "{{adgroup_name}}",
                "image_ids": [],
                "ad_id": "{{ad_id}}",
                "dynamic_format": "UNSET",
                "music_id": null,
                "landing_page_urls": null,
                "identity_id": "{{identity_id}}",
                "landing_page_url": "{{landing_page_url}}",
                "product_specific_type": "ALL",
                "identity_type": "CUSTOMIZED_USER",
                "playable_url": "",
                "call_to_action": "LEARN_MORE",
                "avatar_icon_web_uri": "",
                "operation_status": "ENABLE",
                "ad_ref_pixel_id": "{{ad_ref_pixel_id}}",
                "create_time": "{{create_time}}",
                "optimization_event": "ADD_BILLING",
                "dynamic_destination": "UNSET",
                "display_name": "{{display_name}}",
                "vast_moat_enabled": false,
                "ad_text": "{{ad_text}}",
                "deeplink_type": "NORMAL",
                "catalog_id": "{{catalog_id}}",
                "viewability_postbid_partner": "UNSET",
                "creative_type": null,
                "shopping_ads_deeplink_type": "CUSTOM",
                "creative_authorized": false,
                "carousel_image_labels": null,
                "app_name": "",
                "campaign_automation_type": "MANUAL",
                "impression_tracking_url": null,
                "ad_format": "SINGLE_VIDEO",
                "click_tracking_url": null,
                "tracking_offline_event_set_ids": [
                    "{{tracking_offline_event_set_ids}}"
                ],
                "is_new_structure": true,
                "campaign_id": "{{campaign_id}}",
                "tracking_pixel_id": "{{tracking_pixel_id}}",
                "vertical_video_strategy": "CATALOG_VIDEOS",
                "brand_safety_vast_url": null,
                "adgroup_id": "{{adgroup_id}}",
                "call_to_action_id": null,
                "page_id": null,
                "advertiser_id": "{{advertiser_id}}",
                "shopping_ads_fallback_type": "CUSTOM"
            }
        ]
    }
}
(/code)
使用已上传的商品库视频

请求

(code curl http)
curl --location  --request POST 'https://business-api.tiktok.com/open_api/v1.3/ad/create/' \
--header 'Access-Token: {{AccessToken}}' \
--header 'Content-Type: application/json' \
--data '{
    "advertiser_id": "{{advertiser_id}}",
    "adgroup_id": "{{adgroup_id}}",
    "creatives": [
        {
            "ad_name": "{{ad_name}}",
            "identity_type": "CUSTOMIZED_USER",
            "identity_id": "{{identity_id}}",
            "catalog_id": "{{catalog_id}}",
            "product_specific_type": "ALL",
            "ad_format": "SINGLE_VIDEO",
            "vertical_video_strategy": "CATALOG_UPLOADED_VIDEOS",
            "ad_text": "{{ad_text}}",
            "card_id": "{{card_id}}",
            "shopping_ads_deeplink_type": "CUSTOM",
            "deeplink_type": "NORMAL",
            "deeplink": "{{deeplink}}",
            "shopping_ads_fallback_type": "CUSTOM",
            "landing_page_url": "{{landing_page_url}}",
            "call_to_action": "LEARN_MORE"
        }
    ]
}'
(/code)

返回

(code curl http)
{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "ad_ids": [
            "{{ad_ids}}"
        ],
        "need_audit": false,
        "creatives": [
            {
                "deeplink": "{{deeplink}}",
                "profile_image_url": "",
                "card_id": "{{card_id}}",
                "campaign_name": "{{campaign_name}}",
                "video_id": null,
                "viewability_vast_url": null,
                "shopping_ads_video_package_id": "",
                "ad_texts": null,
                "is_aco": false,
                "modify_time": "{{modify_time}}",
                "ad_name": "{{ad_name}}",
                "adgroup_name": "{{adgroup_name}}",
                "image_ids": [],
                "ad_id": "{{ad_id}}",
                "dynamic_format": "UNSET",
                "music_id": null,
                "landing_page_urls": null,
                "identity_id": "{{identity_id}}",
                "landing_page_url": "{{landing_page_url}}",
                "product_specific_type": "ALL",
                "identity_type": "CUSTOMIZED_USER",
                "playable_url": "",
                "call_to_action": "LEARN_MORE",
                "avatar_icon_web_uri": "",
                "operation_status": "ENABLE",
                "ad_ref_pixel_id": "{{ad_ref_pixel_id}}",
                "create_time": "{{create_time}}",
                "optimization_event": "ADD_BILLING",
                "dynamic_destination": "UNSET",
                "display_name": "{{display_name}}",
                "vast_moat_enabled": false,
                "ad_text": "{{ad_text}}",
                "deeplink_type": "NORMAL",
                "catalog_id": "{{catalog_id}}",
                "viewability_postbid_partner": "UNSET",
                "creative_type": null,
                "shopping_ads_deeplink_type": "CUSTOM",
                "creative_authorized": false,
                "carousel_image_labels": null,
                "app_name": "",
                "campaign_automation_type": "MANUAL",
                "impression_tracking_url": null,
                "ad_format": "SINGLE_VIDEO",
                "click_tracking_url": null,
                "tracking_offline_event_set_ids": [
                    "{{tracking_offline_event_set_ids}}"
                ],
                "is_new_structure": true,
                "campaign_id": "{{campaign_id}}",
                "tracking_pixel_id": "{{tracking_pixel_id}}",
                "vertical_video_strategy": "CATALOG_UPLOADED_VIDEOS",
                "brand_safety_vast_url": null,
                "adgroup_id": "{{adgroup_id}}",
                "call_to_action_id": null,
                "page_id": null,
                "advertiser_id": "{{advertiser_id}}",
                "shopping_ads_fallback_type": "CUSTOM"
            }
        ]
    }
}
(/code)

采用商品库轮播广告样式

设置 要求 参数 如何配置参数
广告名称
(可选)
默认情况下,系统将自动生成广告名称。
你可以通过指定合法的广告名称来自定义。
ad_name
  • 若想系统自动生成广告名称,需将此字段设置为 ""(空字符串)。
  • 若想自定义广告名称,需指定非空字符串值。
广告发布身份 自定义用户(自定义身份) identity_type CUSTOMIZED_USER
identity_id 传入合法值
若想获取你的广告账号下的广告发布身份列表,需使用 /identity/get/ 接口。
identity_authorized_bc_id 不传入
广告样式 商品库轮播:创建包含 2-20 个商品的广告,以幻灯片样式展示。此样式将同时展示你商品库中最多 20 个商品的图片。 ad_format CATALOG_CAROUSEL
vertical_video_strategy 不传入
商品 选择以下任意选项:
  • 所有商品
  • 商品系列
  • 特定商品,最多 20 个商品
catalog_id
product_specific_type
item_group_ids
product_set_id
sku_ids
  • 将 catalog_id 设置为在广告组层级指定的同一个商品库的 ID。
  • 轮播图片选择范围:系统将动态选择商品库 (catalog_id) 中商品的图片,作为正在投放的轮播广告中展示的图片。你可以使用 product_specific_type 参数指定商品图片的选择范围:
    • 若想从商品库的所有商品中动态选择轮播图片,将 product_specific_type 设置为 ALL,且不要传入任何 item_group_ids、product_set_id 或 sku_ids。商品库 (catalog_id) 需包含至少两个商品。
    • 若想从商品系列的商品中动态选择轮播图片,将 product_specific_type 设置为 PRODUCT_SET,并传入 item_group_ids 或 product_set_id。指定的 item_group_ids 或 product_set_id 需包含至少两个商品。
    • 若想从自定义范围(最多 20 个商品)的商品中动态选择图片,将 product_specific_type 设置为 CUSTOMIZED_PRODUCTS,并传入 sku_ids。指定的 sku_ids 需包含至少两个商品。

      注意:若想确定电商商品库中的商品是否可用于广告,需使用 /catalog/product/get/ 接口。如果商品返回的 ad_creation_eligible 为 AVAILABLE,代表可在广告中使用。

  • 轮播图片类型:
    • 使用商品主图片:默认情况下,动态选择的商品库商品的主图片 URL 将用作轮播图片。
广告创意
· 图片
轮播广告至少包含两张图片
image_ids 不传入
广告创意
· 视频
不启用 video_id
tiktok_item_id
shopping_ads_video_package_id
不传入
广告创意
· 音乐
轮播广告中支持的音乐 music_id 传入 1 个可用于商品库轮播广告的音乐 ID。
若想获取合法音乐 ID,可采用以下任意方式:
  • 在 /file/music/get/ 接口中将 music_scene 指定为 CATALOG_CAROUSEL,为广告账号下的商品库轮播广告筛选音乐。
  • 通过以下任意方式,将自定义音乐上传到广告账号:
    • 在 /file/music/upload/ 接口中将 music_scene 指定为 CATALOG_CAROUSEL 并传入 music_file 和 music_signature。
    • 在 /file/music/upload/ 接口中将 music_scene 指定为 CATALOG_CAROUSEL,以及将 upload_type 指定为 UPLOAD_BY_FILE_ID,并传入 file_id。
广告文案 已指定 ad_text 传入合法值
创新互动样式 不启用 card_id 不传入
目标页面 网站 N/A N/A
深度链接 启用自定义深度链接 shopping_ads_deeplink_type CUSTOM
deeplink_type NORMAL
deeplink 指定自定义深度链接。
深度链接可采用以下任意格式:
  • 采用 scheme://resource 格式的自定义 URL 架构。例如,WhatsApp 的自定义 URL 架构应遵循 whatsapp://resource 格式。
  • 以 http:// 或 https:// 开头的 Apple 通用链接或 Android 应用链接。
深度链接参数
(可选)
启用或不启用 deeplink_utm_params 传入合法值或不传入

你可以通过直接将 deeplink 设置为已包含 URL 参数的深度链接,手动为自定义深度链接添加深度链接 URL 参数。
  • 但如果在广告中使用自定义深度链接并同时指定 deeplink_utm_params,在广告投放时,URL 参数不会自动附加到自定义深度链接 (deeplink)。在这一情况下,需确保 deeplink_utm_params 与已使用的深度链接 URL 参数精确匹配。否则系统将报错。
失败路径 URL 启用自定义链接(推广网页) shopping_ads_fallback_type CUSTOM
landing_page_url 指定自定义链接。
在广告配置深度链接后,此 URL 会将未安装应用的用户跳转到指定页面(例如官网首页)。
URL 参数
(可选)
启用或不启用 utm_params 传入合法值或不传入

你可以通过直接将 landing_page_url 设置为已包含 URL 参数的 URL,手动为自定义链接添加 URL 参数。
  • 但如果在广告中使用自定义链接并同时指定 utm_params,在广告投放时,URL 参数不会自动附加到自定义链接 (landing_page_url)。在这一情况下,需确保指定的 landing_page_url 已附加 URL 参数,以及 utm_params 与已使用的 URL 参数精确匹配。否则系统将报错。
行动引导文案 已启用 call_to_action 传入合法值。

参见枚举值 - 行动引导文案文档,查看枚举值。
监测
- TikTok 事件监测
    - 线下事件
(可选)
启用或不启用 tracking_offline_event_set_ids 传入合法值或不传入
监测
· 第三方监测设置
    · 展示监测 URL
(可选)
启用或不启用 impression_tracking_url 传入合法值或不传入
监测
· 第三方监测设置
    · 点击监测 URL
(可选)
启用或不启用 click_tracking_url 传入合法值或不传入
监测
· 第三方监测设置
    · 通过第三方合作伙伴度量品牌安全性
(可选)
启用或不启用 brand_safety_postbid_partner
brand_safety_vast_url
传入合法值或不传入
监测
· 第三方监测设置
    · 通过第三方合作伙伴度量可见性
(可选)
启用或不启用 viewability_postbid_partner
viewability_vast_url
传入合法值或不传入

示例

请求

(code curl http)
curl --location  --request POST 'https://business-api.tiktok.com/open_api/v1.3/ad/create/' \
--header 'Access-Token: {{AccessToken}}' \
--header 'Content-Type: application/json' \
--data '{
    "advertiser_id": "{{advertiser_id}}",
    "adgroup_id": "{{adgroup_id}}",
    "creatives": [
        {
            "ad_name": "{{ad_name}}",
            "identity_type": "CUSTOMIZED_USER",
            "identity_id": "{{identity_id}}",
            "catalog_id": "{{catalog_id}}",
            "product_specific_type": "ALL",
            "ad_format": "CATALOG_CAROUSEL",
            "music_id": "{{music_id}}",
            "ad_text": "{{ad_text}}",
            "shopping_ads_deeplink_type": "CUSTOM",
            "deeplink_type": "NORMAL",
            "deeplink": "{{deeplink}}",
            "shopping_ads_fallback_type": "CUSTOM",
            "landing_page_url": "{{landing_page_url}}",
            "call_to_action": "LEARN_MORE"
        }
    ]
}'
(/code)

返回

(code curl http)
{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "ad_ids": [
            "{{ad_ids}}"
        ],
        "need_audit": false,
        "creatives": [
            {
                "deeplink": "{{deeplink}}",
                "profile_image_url": "",
                "card_id": null,
                "campaign_name": "{{campaign_name}}",
                "video_id": null,
                "viewability_vast_url": null,
                "shopping_ads_video_package_id": "",
                "ad_texts": null,
                "is_aco": false,
                "modify_time": "{{modify_time}}",
                "ad_name": "{{ad_name}}",
                "adgroup_name": "{{adgroup_name}}",
                "image_ids": [],
                "ad_id": "{{ad_id}}",
                "dynamic_format": "UNSET",
                "music_id": "{{music_id}}",
                "landing_page_urls": null,
                "identity_id": "{{identity_id}}",
                "landing_page_url": "{{landing_page_url}}",
                "product_specific_type": "ALL",
                "identity_type": "CUSTOMIZED_USER",
                "playable_url": "",
                "call_to_action": "LEARN_MORE",
                "avatar_icon_web_uri": "",
                "operation_status": "ENABLE",
                "ad_ref_pixel_id": "{{ad_ref_pixel_id}}",
                "create_time": "{{create_time}}",
                "optimization_event": "ADD_BILLING",
                "dynamic_destination": "UNSET",
                "display_name": "{{display_name}}",
                "vast_moat_enabled": false,
                "ad_text": "test",
                "deeplink_type": "NORMAL",
                "catalog_id": "{{catalog_id}}",
                "viewability_postbid_partner": "UNSET",
                "creative_type": null,
                "shopping_ads_deeplink_type": "CUSTOM",
                "creative_authorized": false,
                "carousel_image_labels": null,
                "app_name": "",
                "campaign_automation_type": "MANUAL",
                "impression_tracking_url": null,
                "ad_format": "CATALOG_CAROUSEL",
                "click_tracking_url": null,
                "tracking_offline_event_set_ids": [
                    "{{tracking_offline_event_set_ids}}"
                ],
                "is_new_structure": true,
                "campaign_id": "{{campaign_id}}",
                "tracking_pixel_id": "{{tracking_pixel_id}}",
                "vertical_video_strategy": null,
                "brand_safety_vast_url": null,
                "adgroup_id": "{{adgroup_id}}",
                "call_to_action_id": null,
                "page_id": null,
                "advertiser_id": "{{advertiser_id}}",
                "shopping_ads_fallback_type": "CUSTOM"
            }
        ]
    }
}
(/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 每日平台更新简报 →