← 返回目录
📁 Use Cases › Campaign creation › Create Shopping Ads

(即将废弃)创建商品购物广告

本文介绍了创建商品购物广告的步骤。

重要提示
自 2025 年第三季度起, GMV Max 将成为 TikTok 店铺广告的默认且唯一支持的推广系列类型。如果您使用商品销量推广目标并选择 TikTok Shop 作为销售目标页面创建广告,则将无法再使用 API 创建、编辑或复制直播购物广告、商品购物广告 或视频购物广告。请尽早迁移至 GMV Max API。如有任何问题或需要支持,请联系您的 TikTok 销售代表。了解按广告类型和接口划分的具体变动。

注意
商品购物广告不支持受众规模预估。

步骤

1. 创建推广系列

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

注意
创建商品购物推广系列后,仅支持更新推广系列的以下设置:

  • campaign_name
  • budget
  • operation_status

设置 要求 参数 如何设置该参数
推广目标 商品销量 objective_type PRODUCT_SALES
Smart+ 推广系列 未启用

不支持使用/campaign/spc/create/创建启用 Smart+ 推广系列设置的商品购物推广系列。
/ /
iOS 14 专属推广系列 未启用 campaign_type REGULAR_CAMPAIGN 或不传入
app_id 不传入
campaign_app_profile_page_state 不传入
商品来源
(商品数据源)
TikTok Shop campaign_product_source STORE
特殊广告分类(可选) 需申请白名单才可启用 special_industries 传入合法值,或不传入

注意:在推广系列商品来源为 TikTok Shop 的购物广告中使用特殊广告分类目前为白名单功能。如需使用这些功能,请联系您的TikTok销售代表。

推广系列预算优化 未启用 budget_optimize_on false或不传入
推广系列预算类型 以下任意类型:
  • 日预算
  • 总预算
  • 不限预算
budget_mode 以下任意值:
  • BUDGET_MODE_DAY
  • BUDGET_MODE_TOTAL
  • BUDGET_MODE_INFINITE

示例

请求

(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}}",
    "objective_type": "PRODUCT_SALES",
    "campaign_type": "REGULAR_CAMPAIGN",
    "campaign_product_source": "STORE",
    "campaign_name": "{{campaign_name}}",
    "budget_optimize_on": false,
    "budget_mode": "BUDGET_MODE_TOTAL",
    "budget": {{budget}}
}'
(/code)

返回

(code curl http)
HTTPS/1.1 200 OK
{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "operation_status": "ENABLE",
        "create_time": "{{create_time}}",
        "is_search_campaign": false,
        "campaign_id": "{{campaign_id}}",
        "objective": "LANDING_PAGE",
        "campaign_app_profile_page_state": "UNSET",
        "advertiser_id": "{{advertiser_id}}",
        "campaign_product_source": "STORE",
        "campaign_name": "{{campaign_name}}",
        "campaign_type": "REGULAR_CAMPAIGN",
        "roas_bid": 0,
        "objective_type": "PRODUCT_SALES",
        "budget": {{budget}},
        "modify_time": "{{modify_time}}",
        "secondary_status": "CAMPAIGN_STATUS_ENABLE",
        "is_new_structure": true,
        "is_smart_performance_campaign": false,
        "deep_bid_type": null,
        "budget_mode": "BUDGET_MODE_TOTAL"
    }
}
(/code)

2. 创建、管理 TikTok Shop 店铺

TikTok Commerce 为希望利用 TikTok 账户直接销售商品的品牌和卖家提供了直接集成(TikTok Shop)。

直接集成可以通过在 TikTok 商家中心创建 TikTok Shop 店铺进行设置。欲了解如何创建 TikTok Shop 店铺,请查看这里。

TikTok Shop 店铺创建完成后, 请遵守以下步骤: - i. 将TikTok Shop 店铺添加至商务中心。欲了解如何从商务中心请求 TikTok Shop 店铺的权限,请查看这里。 - ii. 使用/bc/member/invite/接口邀请成员加入商务中心,并授予管理员权限。您可以同时为受邀成员指定advertiser_role。 - iii. 使用/bc/asset/assign/接口将 TikTok Shop 店铺共享给商务中心成员,并授予管理权限。请确保将asset_type字段设置为TIKTOK_SHOP,且将store_role字段设置为 AD_PROMOTION。

3. 创建广告组

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

注意
创建商品购物广告组后,仅支持更新广告组的以下设置:

  • adgroup_name
  • budget
  • schedule_end_time
  • roas_bid
  • 定向设置,例如 location_ids,gender 和 age_groups

设置 要求 参数 如何设置该参数
购物广告类型 商品购物广告 shopping_ads_type PRODUCT_SHOPPING_ADS
认证身份
(广告发布身份)
未启用
  • identity_id
  • identity_type
  • identity_authorized_bc_id
不传入
商品来源
(商品数据源)
定向地区为以下任意地区的 TikTok Shop:
  • 印度尼西亚
  • 马来西亚
  • 新加坡
  • 泰国
  • 越南
  • 菲律宾
product_source STORE
catalog_id 传入与 TikTok Shop 绑定的商品库的 ID。
您可使用/store/list/获取广告账户下可用商店对应的catalog_id,store_id 和 store_authorized_bc_id。

注意:自 2024 年 6 月 30 日起,您将无需再传入catalog_id,因为该字段将被忽略。

catalog_authorized_bc_id 不传入
  • store_id
  • store_authorized_bc_id
传入合法值。
TikTok Shop(store_id)的定向地区需为以下任意地区:
  • 印度尼西亚
  • 马来西亚
  • 新加坡
  • 泰国
  • 越南
  • 菲律宾
推广对象
(优化位置)
未设置。
默认设置为商品购物广告商品。
promotion_type PSA_PRODUCT
推广的网站或应用 未启用
  • app_id
  • pixel_id
不传入
版位
(广告位)
编辑广告位,且版位仅为 TikTok placement_type PLACEMENT_TYPE_NORMAL
placements ["PLACEMENT_TIKTOK"]
包含搜索结果 未启用 search_result_enabled false或不传入
用户评论 未启用 comment_disabled true
视频下载 未启用 video_download_disabled true
视频共享 启用 share_disabled false或不传入
Pangle 媒体屏蔽列表 未启用 blocked_pangle_app_ids 不传入
受众定向
  • 已保存受众
未启用 saved_audience_id 不传入
受众定向
  • 自动定向
未启用 auto_targeting_enabled 不传入
受众定向
  • 对受众再营销
未启用
  • shopping_ads_retargeting_type
  • shopping_ads_retargeting_actions_days
  • included_custom_actions
  • excluded_custom_actions
  • shopping_ads_retargeting_custom_audience_relation
不传入
受众定向
  • 人群属性 - 地域定向
定向地域需与 TikTok Shop 定向地区一致,或为 TikTok Shop 定向地区的子集。 location_ids 需传入与 store_id 定向地区一致或为其子集的定向地域的 ID 列表。
受众定向
  • 人群属性 - 邮政编码定向
未启用 zipcode_ids 不传入
受众定向
  • 人群属性 - 年龄
选择一个或多个年龄区间,不支持选择 13-17 岁的年龄区间 age_groups 传入一个或多个下列值:
  • AGE_18_24
  • AGE_25_34
  • AGE_35_44
  • AGE_45_54
  • AGE_55_100
受众定向
  • 人群属性 - 消费能力
未启用 spending_power 不传入
受众定向
  • 兴趣与行为 - 购买意向
未启用 purchase_intention_keyword_ids 不传入
受众定向
  • 受众
    • 智能受众
未启用 smart_audience_enabled 不传入
受众定向
  • 兴趣与行为
    • 智能型兴趣和行为
未启用 smart_interest_behavior_enabled 不传入
受众定向
  • Pangle 流量包
未启用
  • included_pangle_audience_package_ids
  • excluded_pangle_audience_package_ids
不传入
受众定向
  • 定向扩量
未启用 targeting_expansion 不传入
内容相关定向 未启用 contextual_tag_ids 不传入
内容排除 未启用
  • brand_safety_type
  • brand_safety_partner
  • category_exclusion_ids
  • vertical_sensitivity_id
不传入
分时段 未启用 dayparting 不传入
优化目标 以下任意目标:
  • 总收入
  • 付费数
  • 点击数
optimization_goal 以下任意值:
  • VALUE
  • CONVERT
  • CLICK
优化事件 未设置。
优化目标为总收入或付费数时,默认设置为支付完成。
optimization_event
  • optimization_goal 为 VALUE 或 CONVERT时, 将本字段设置为 SHOPPING。
  • optimization_goal 为CLICK时, 不可传入本字段。
频次上限 未启用
  • frequency
  • frequency_schedule
不传入
竞价策略
  • 优化目标为付费数或点击数时,可设置为以下任意策略:
    • 最大投放量:尽量消耗你的全部预算,以取得最多成效。
    • 目标 CPA 或成本上限:将广告的平均成效成本保持在某个特定值。
  • 优化目标为总收入时,可设置为以下任意策略:
    • 最高总收入:尽量消耗你的全部预算,以获得最多的总收入。
    • 目标 ROAS:将广告的平均 ROAS 保持在某个特定值。
  • bid_type
  • bid_price
  • conversion_bid_price
  • deep_bid_type
  • roas_bid
  • optimization_goal 为 CONVERT 或 CLICK时:
    • 需将 bid_type 设置为 BID_TYPE_CUSTOM 或 BID_TYPE_NO_BID(最大投放量)。不可传入deep_bid_type 和 roas_bid。
      • optimization_goal 为 CONVERT 且 bid_type 为 BID_TYPE_CUSTOM(目标 CPA)时,需同时传入 conversion_bid_price 。
      • optimization_goal 为 CLICK 且 bid_type 为BID_TYPE_CUSTOM(成本上限)时,需同时传入 bid_price。
  • optimization_goal为 VALUE时:
    • 需将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 。

    注意:roas_bid 的取值范围为 0.01-20。

归因设置
(仅当优化目标为总收入或付费数时支持)
支持的点击归因窗口期
  • 1天(点击)
  • 7天(点击)
  • 14天(点击)
  • 28天(点击)
click_attribution_window
(optimization_goal 为 VALUE 或 CONVERT时)
以下任意值:
  • ONE_DAY
  • SEVEN_DAYS
  • FOURTEEN_DAYS
  • TWENTY_EIGHT_DAYS
支持的展示归因窗口期
  • 关闭
  • 1天(展示)
  • 7天(展示)
view_attribution_window
(optimization_goal 为 VALUE 或 CONVERT时)
以下任意值:
  • OFF
  • ONE_DAY
  • SEVEN_DAYS
事件统计方式:仅一次 attribution_event_count
(optimization_goal 为 VALUE 或 CONVERT时)
ONCE或不传入
计费事件
(计费点)
  • 若优化目标为点击数,计费事件需为 CPC。
  • 若优化目标为付费数或总收入,计费事件需为 oCPM。
billing_event
  • optimization_goal 为 CLICK时,本字段需设置为 CPC。
  • optimization_goal 为 CONVERT 或 VALUE时,本字段需设置为 OCPM。
投放速度
  • 若竞价策略设置为成本上限,支持将投放速度设置为标准或加速。
  • 若竞价策略设置为最大投放量、最高总收入或最低 ROAS,仅支持将投放速度设置为标准。
pacing
  • bid_type 为 BID_TYPE_CUSTOM时,可将 pacing 设置为 PACING_MODE_SMOOTH 或 PACING_MODE_FAST。
  • bid_type 为 BID_TYPE_NO_BID时,仅支持将 pacing 设置为 PACING_MODE_SMOOTH。
程序化创意 未启用 creative_material_mode CUSTOM 或不传入
拆分对比测试 未启用

商品购物广告组不支持用于/split_test/create/创建拆分对比测试。
/ /

示例

将优化目标设置为总收入

请求

(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}}",
    "shopping_ads_type": "PRODUCT_SHOPPING_ADS",
    "product_source": "STORE",
    "catalog_id": "{{catalog_id}}",
    "store_id": "{{store_id}}",
    "store_authorized_bc_id": "{{store_authorized_bc_id}}",
    "promotion_type": "PSA_PRODUCT",
    "placement_type": "PLACEMENT_TYPE_NORMAL",
    "placements": ["PLACEMENT_TIKTOK"],
    "comment_disabled": true,
    "video_download_disabled": true,
    "location_ids": ["7115989"],
    "age_groups":["AGE_18_24","AGE_25_34","AGE_35_44","AGE_45_54","AGE_55_100"],
    "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": "VALUE",
    "optimization_event": "SHOPPING",
    "deep_bid_type": "VO_MIN_ROAS",
    "bid_type": "BID_TYPE_NO_BID",
    "roas_bid": {{roas_bid}},
    "billing_event": "OCPM",
    "pacing": "PACING_MODE_SMOOTH"
}'
(/code)

返回

(code curl http)
HTTPS/1.1 200 OK
{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "dayparting": "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
        "adgroup_id": "{{adgroup_id}}",
        "keywords": null,
        "campaign_name": "{{campaign_name}}",
        "feed_type": null,
        "view_attribution_window": "ONE_DAY",
        "scheduled_budget": 0,
        "category_id": "0",
        "schedule_infos": null,
        "frequency_schedule": null,
        "roas_bid": {{roas_bid}},
        "budget": {{budget}},
        "app_id": null,
        "share_disabled": false,
        "gender": "GENDER_UNLIMITED",
        "is_new_structure": true,
        "pixel_id": null,
        "isp_ids": [],
        "schedule_start_time": "{{}}",
        "search_result_enabled": false,
        "budget_mode": "BUDGET_MODE_TOTAL",
        "store_id": "{{store_id}}",
        "brand_safety_partner": null,
        "location_ids": [
            "7115989"
        ],
        "skip_learning_phase": true,
        "comment_disabled": true,
        "is_hfss": false,
        "secondary_optimization_event": null,
        "auto_targeting_enabled": false,
        "app_type": null,
        "adgroup_app_profile_page_state": null,
        "rf_purchased_type": null,
        "next_day_retention": null,
        "pacing": "PACING_MODE_SMOOTH",
        "secondary_status": "ADGROUP_STATUS_CREATE",
        "billing_event": "OCPM",
        "interest_category_ids": [],
        "audience_ids": [],
        "promotion_type": "PSA_PRODUCT",
        "rf_estimated_cpr": null,
        "deep_bid_type": "VO_MIN_ROAS",
        "frequency": null,
        "conversion_window": null,
        "modify_time": "{{modify_time}}",
        "ios14_quota_type": "UNOCCUPIED",
        "bid_display_mode": "CPMV",
        "operation_status": "ENABLE",
        "adgroup_name": "{{adgroup_name}}",
        "languages": [],
        "rf_estimated_frequency": null,
        "conversion_bid_price": 0,
        "creative_material_mode": "CUSTOM",
        "product_source": "STORE",
        "bid_type": "BID_TYPE_NO_BID",
        "inventory_filter_enabled": false,
        "is_smart_performance_campaign": false,
        "shopping_ads_type": "PRODUCT_SHOPPING_ADS",
        "optimization_goal": "VALUE",
        "age_groups": [
            "AGE_18_24",
            "AGE_25_34",
            "AGE_35_44",
            "AGE_45_54",
            "AGE_55_100"
        ],
        "placements": [
            "PLACEMENT_TIKTOK"
        ],
        "placement_type": "PLACEMENT_TYPE_NORMAL",
        "app_download_url": null,
        "schedule_end_time": "{{schedule_end_time}}",
        "excluded_audience_ids": [],
        "create_time": "{{create_time}}",
        "delivery_mode": null,
        "advertiser_id": "{{advertiser_id}}",
        "statistic_type": null,
        "purchased_reach": null,
        "actions": [],
        "bid_price": 0,
        "network_types": [],
        "click_attribution_window": "SEVEN_DAYS",
        "schedule_type": "SCHEDULE_START_END",
        "deep_cpa_bid": 0,
        "campaign_id": "{{campaign_id}}",
        "purchased_impression": null,
        "brand_safety_type": "NO_BRAND_SAFETY",
        "operating_systems": [],
        "device_price_ranges": null,
        "attribution_event_count": "ONCE",
        "catalog_id": "{{catalog_id}}",
        "interest_keyword_ids": [],
        "optimization_event": "SHOPPING",
        "video_download_disabled": true,
        "category_exclusion_ids": [],
        "store_authorized_bc_id": "{{store_authorized_bc_id}}"
    }
}
(/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}}",
    "shopping_ads_type": "PRODUCT_SHOPPING_ADS",
    "product_source": "STORE",
    "catalog_id": "{{catalog_id}}",
    "store_id": "{{store_id}}",
    "store_authorized_bc_id": "{{store_authorized_bc_id}}",
    "promotion_type": "PSA_PRODUCT",
    "placement_type": "PLACEMENT_TYPE_NORMAL",
    "placements": ["PLACEMENT_TIKTOK"],
    "comment_disabled": true,
    "video_download_disabled": true,
    "location_ids": ["7115989"],
    "age_groups":["AGE_18_24","AGE_25_34","AGE_35_44","AGE_45_54","AGE_55_100"],
    "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",
    "optimization_event": "SHOPPING",
    "bid_type": "BID_TYPE_CUSTOM",
    "conversion_bid_price": {{conversion_bid_price}},
    "billing_event": "OCPM",
    "pacing": "PACING_MODE_SMOOTH"
}'
(/code)

返回

(code curl http)
HTTPS/1.1 200 OK
{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "dayparting": "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
        "adgroup_id": "{{adgroup_id}}",
        "keywords": null,
        "campaign_name": "{{campaign_name}}",
        "feed_type": null,
        "view_attribution_window": "ONE_DAY",
        "scheduled_budget": 0,
        "category_id": "0",
        "schedule_infos": null,
        "frequency_schedule": null,
        "budget": {{budget}},
        "app_id": null,
        "share_disabled": false,
        "gender": "GENDER_UNLIMITED",
        "is_new_structure": true,
        "pixel_id": null,
        "isp_ids": [],
        "schedule_start_time": "{{schedule_start_time}}",
        "search_result_enabled": false,
        "budget_mode": "BUDGET_MODE_TOTAL",
        "store_id": "{{store_id}}",
        "brand_safety_partner": null,
        "location_ids": [
            "7115989"
        ],
        "skip_learning_phase": true,
        "comment_disabled": true,
        "is_hfss": false,
        "secondary_optimization_event": null,
        "auto_targeting_enabled": false,
        "app_type": null,
        "adgroup_app_profile_page_state": null,
        "rf_purchased_type": null,
        "next_day_retention": null,
        "pacing": "PACING_MODE_SMOOTH",
        "secondary_status": "ADGROUP_STATUS_CREATE",
        "billing_event": "OCPM",
        "interest_category_ids": [],
        "audience_ids": [],
        "promotion_type": "PSA_PRODUCT",
        "rf_estimated_cpr": null,
        "deep_bid_type": null,
        "frequency": null,
        "conversion_window": null,
        "modify_time": "{{modify_time}}",
        "ios14_quota_type": "UNOCCUPIED",
        "bid_display_mode": "CPMV",
        "operation_status": "ENABLE",
        "adgroup_name": "{{adgroup_name}}",
        "languages": [],
        "rf_estimated_frequency": null,
        "conversion_bid_price": {{conversion_bid_price}},
        "creative_material_mode": "CUSTOM",
        "product_source": "STORE",
        "bid_type": "BID_TYPE_CUSTOM",
        "inventory_filter_enabled": false,
        "is_smart_performance_campaign": false,
        "shopping_ads_type": "PRODUCT_SHOPPING_ADS",
        "optimization_goal": "CONVERT",
        "age_groups": [
            "AGE_18_24",
            "AGE_25_34",
            "AGE_35_44",
            "AGE_45_54",
            "AGE_55_100"
        ],
        "placements": [
            "PLACEMENT_TIKTOK"
        ],
        "placement_type": "PLACEMENT_TYPE_NORMAL",
        "app_download_url": null,
        "schedule_end_time": "{{schedule_end_time}}",
        "excluded_audience_ids": [],
        "create_time": "{{create_time}}",
        "delivery_mode": null,
        "advertiser_id": "{{advertiser_id}}",
        "statistic_type": null,
        "purchased_reach": null,
        "actions": [],
        "bid_price": 0,
        "network_types": [],
        "click_attribution_window": "SEVEN_DAYS",
        "schedule_type": "SCHEDULE_START_END",
        "deep_cpa_bid": 0,
        "campaign_id": "{{campaign_id}}",
        "purchased_impression": null,
        "brand_safety_type": "NO_BRAND_SAFETY",
        "operating_systems": [],
        "device_price_ranges": null,
        "attribution_event_count": "ONCE",
        "catalog_id": "{{catalog_id}}",
        "interest_keyword_ids": [],
        "optimization_event": "SHOPPING",
        "video_download_disabled": true,
        "category_exclusion_ids": [],
        "store_authorized_bc_id": "{{store_authorized_bc_id}}"
    }
}
(/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}}",
    "shopping_ads_type": "PRODUCT_SHOPPING_ADS",
    "product_source": "STORE",
    "catalog_id": "{{catalog_id}}",
    "store_id": "{{store_id}}",
    "store_authorized_bc_id": "{{store_authorized_bc_id}}",
    "promotion_type": "PSA_PRODUCT",
    "placement_type": "PLACEMENT_TYPE_NORMAL",
    "placements": ["PLACEMENT_TIKTOK"],
    "comment_disabled": true,
    "video_download_disabled": true,
    "location_ids": ["7115989"],
    "age_groups":["AGE_18_24","AGE_25_34","AGE_35_44","AGE_45_54","AGE_55_100"],
    "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": "CLICK",
    "bid_type": "BID_TYPE_NO_BID",
    "billing_event": "CPC",
    "pacing": "PACING_MODE_SMOOTH"
}'
(/code)

返回

(code curl http)
HTTPS/1.1 200 OK
{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "dayparting": "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
        "adgroup_id": "{{adgroup_id}}",
        "keywords": null,
        "campaign_name": "{{campaign_name}}",
        "feed_type": null,
        "scheduled_budget": 0,
        "category_id": "0",
        "schedule_infos": null,
        "frequency_schedule": null,
        "budget": {{budget}},
        "app_id": null,
        "share_disabled": false,
        "gender": "GENDER_UNLIMITED",
        "is_new_structure": true,
        "pixel_id": null,
        "isp_ids": [],
        "schedule_start_time": "{{schedule_start_time}}",
        "search_result_enabled": false,
        "budget_mode": "BUDGET_MODE_TOTAL",
        "store_id": "{{store_id}}",
        "brand_safety_partner": null,
        "location_ids": [
            "7115989"
        ],
        "skip_learning_phase": false,
        "comment_disabled": true,
        "is_hfss": false,
        "secondary_optimization_event": null,
        "auto_targeting_enabled": false,
        "app_type": null,
        "adgroup_app_profile_page_state": null,
        "rf_purchased_type": null,
        "next_day_retention": null,
        "pacing": "PACING_MODE_SMOOTH",
        "secondary_status": "ADGROUP_STATUS_CREATE",
        "billing_event": "CPC",
        "interest_category_ids": [],
        "audience_ids": [],
        "promotion_type": "PSA_PRODUCT",
        "rf_estimated_cpr": null,
        "deep_bid_type": null,
        "frequency": null,
        "conversion_window": null,
        "modify_time": "{{modify_time}}",
        "ios14_quota_type": "UNOCCUPIED",
        "bid_display_mode": "CPMV",
        "operation_status": "ENABLE",
        "adgroup_name": "{{adgroup_name}}",
        "languages": [],
        "rf_estimated_frequency": null,
        "conversion_bid_price": 0,
        "creative_material_mode": "CUSTOM",
        "product_source": "STORE",
        "bid_type": "BID_TYPE_NO_BID",
        "inventory_filter_enabled": false,
        "is_smart_performance_campaign": false,
        "shopping_ads_type": "PRODUCT_SHOPPING_ADS",
        "optimization_goal": "CLICK",
        "age_groups": [
            "AGE_18_24",
            "AGE_25_34",
            "AGE_35_44",
            "AGE_45_54",
            "AGE_55_100"
        ],
        "placements": [
            "PLACEMENT_TIKTOK"
        ],
        "placement_type": "PLACEMENT_TYPE_NORMAL",
        "app_download_url": null,
        "schedule_end_time": "{{schedule_end_time}}",
        "excluded_audience_ids": [],
        "create_time": "{{create_time}}",
        "delivery_mode": null,
        "advertiser_id": "{{advertiser_id}}",
        "statistic_type": null,
        "purchased_reach": null,
        "actions": [],
        "bid_price": 0,
        "network_types": [],
        "schedule_type": "SCHEDULE_START_END",
        "deep_cpa_bid": 0,
        "campaign_id": "{{campaign_id}}",
        "purchased_impression": null,
        "brand_safety_type": "NO_BRAND_SAFETY",
        "operating_systems": [],
        "device_price_ranges": null,
        "catalog_id": "{{}}",
        "interest_keyword_ids": [],
        "optimization_event": null,
        "video_download_disabled": true,
        "category_exclusion_ids": [],
        "store_authorized_bc_id": "{{store_authorized_bc_id}}"
    }
}
(/code)

4. 创建广告

使用/ad/create/接口创建一个广告。需确保满足以下要求。每个商品购物广告组中仅支持创建一个广告。

注意
创建商品购物广告后,仅支持更新广告的 ad_name 。

设置 要求 参数 如何设置该参数
智能创意 未启用

不支持将 is_smart_creative传入 /ad/aco/create/ 创建开启智能创意的商品购物广告。
/ /
认证身份
(广告发布身份)
未启用
  • identity_type
  • identity_id
  • identity_authorized_bc_id
不传入
商品 所有商品或特定商品(可最多选择 50 个商品)
  • product_specific_type
  • item_group_ids
  • product_set_id
  • sku_ids
  • product_specific_type 设置为 ALL 或 CUSTOMIZED_PRODUCTS。
    • 若 product_specific_type 设置为CUSTOMIZED_PRODUCTS,需通过item_group_ids传入最多 50 个商品。
  • 不支持 product_set_id 和 sku_ids。

注意:若想获取 TikTok Shop 中商品的 item_group_ids并确认商品能否用于广告中,可使用/store/product/get/。若该商品返回的status为AVAILABLE,则该商品可用于广告中。

showcase_products 不传入
创意详情 - 广告样式(广告版式) 未启用
  • ad_format
  • vertical_video_strategy
不传入
创意详情 - 动态样式 未启用 dynamic_format 不传入
创意详情 - 创意素材
未启用
商品视觉元素将作为您的广告创意使用。
  • video_id
  • image_ids
  • music_id
  • tiktok_item_id
  • promotional_music_disabled
  • item_duet_status
  • item_stitch_status
  • dark_post_status
  • shopping_ads_video_package_id
  • ad_text
  • call_to_action
  • call_to_action_id
  • card_id
不传入
creative_type PSA 或不传入(推荐)
目标页面 未启用
  • landing_page_url
  • page_id
  • tiktok_page_category
  • phone_region_code
  • phone_region_calling_code
  • phone_number
  • deeplink
  • deeplink_type
  • shopping_ads_deeplink_type
  • shopping_ads_fallback_type
  • fallback_type
  • dynamic_destination
  • utm_params
  • instant_product_page_used
  • page_image_index
不传入
免责声明 未启用
  • disclaimer_type
  • disclaimer_text
  • disclaimer_clickable_texts
不传入
监测 未启用
  • tracking_pixel_id
  • tracking_app_id
  • tracking_offline_event_set_ids
  • viewability_postbid_partner
  • viewability_vast_url
  • brand_safety_postbid_partner
  • brand_safety_vast_url
  • impression_tracking_url
  • click_tracking_url
不传入
试玩素材 未启用 playable_url 不传入

示例

所有商品

请求

(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}}",
            "product_specific_type": "ALL"
        }
    ]
}'
(/code)

返回

(code curl http)
HTTPS/1.1 200 OK
{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "ad_ids": [
            "{{ad_id}}"
        ],
        "need_audit": false,
        "creatives": [
            {
                "ad_id": "{{ad_id}}",
                "viewability_vast_url": null,
                "campaign_name": "{{campaign_name}}",
                "brand_safety_postbid_partner": "UNSET",
                "card_id": null,
                "deeplink": null,
                "music_id": null,
                "is_new_structure": true,
                "is_aco": false,
                "product_specific_type": "ALL",
                "landing_page_url": null,
                "landing_page_urls": null,
                "creative_authorized": false,
                "playable_url": "",
                "click_tracking_url": null,
                "dynamic_format": "UNSET",
                "app_name": null,
                "identity_type": "UNSET",
                "ad_name": "{{ad_name}}",
                "ad_text": "",
                "ad_format": null,
                "vertical_video_strategy": "UNSET",
                "page_id": null,
                "shopping_ads_video_package_id": "",
                "call_to_action_id": null,
                "modify_time": "{{modify_time}}",
                "display_name": null,
                "impression_tracking_url": null,
                "video_id": null,
                "operation_status": "ENABLE",
                "image_ids": [],
                "brand_safety_vast_url": null,
                "dynamic_destination": "UNSET",
                "adgroup_name": "{{adgroup_name}}",
                "avatar_icon_web_uri": "",
                "identity_id": "",
                "ad_texts": null,
                "create_time": "{{create_time}}",
                "advertiser_id": "{{advertiser_id}}",
                "campaign_id": "{{campaign_id}}",
                "adgroup_id": "{{adgroup_id}}",
                "viewability_postbid_partner": "UNSET",
                "creative_type": "PSA",
                "vast_moat_enabled": false,
                "catalog_id": "{{catalog_id}}",
                "optimization_event": "SHOPPING",
                "profile_image_url": ""
            }
        ]
    }
}
(/code)

特定商品

请求

(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}}",
            "product_specific_type": "CUSTOMIZED_PRODUCTS",
            "item_group_ids":["{{item_group_id}}","{{item_group_id}}"]
        }
    ]
}'
(/code)

返回

(code curl http)
HTTPS/1.1 200 OK
{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "ad_ids": [
            "{{ad_id}}"
        ],
        "need_audit": false,
        "creatives": [
            {
                "ad_id": "{{ad_id}}",
                "viewability_vast_url": null,
                "campaign_name": "{{campaign_name}}",
                "brand_safety_postbid_partner": "UNSET",
                "card_id": null,
                "deeplink": null,
                "music_id": null,
                "is_new_structure": true,
                "is_aco": false,
                "product_specific_type": "CUSTOMIZED_PRODUCTS",
                "landing_page_url": null,
                "landing_page_urls": null,
                "creative_authorized": false,
                "playable_url": "",
                "click_tracking_url": null,
                "dynamic_format": "UNSET",
                "app_name": null,
                "identity_type": "UNSET",
                "ad_name": "{{ad_name}}",
                "item_group_ids": [
                    "{{item_group_id}}",
                    "{{item_group_id}}"
                ],
                "ad_text": "",
                "ad_format": null,
                "vertical_video_strategy": "UNSET",
                "page_id": null,
                "shopping_ads_video_package_id": "",
                "call_to_action_id": null,
                "modify_time": "{{modify_time}}",
                "display_name": null,
                "impression_tracking_url": null,
                "video_id": null,
                "operation_status": "ENABLE",
                "image_ids": [],
                "brand_safety_vast_url": null,
                "dynamic_destination": "UNSET",
                "adgroup_name": "{{adgroup_name}}",
                "avatar_icon_web_uri": "",
                "identity_id": "",
                "ad_texts": null,
                "create_time": "{{create_time}}",
                "advertiser_id": "{{advertiser_id}}",
                "campaign_id": "{{campaign_id}}",
                "adgroup_id": "{{adgroup_id}}",
                "viewability_postbid_partner": "UNSET",
                "creative_type": "PSA",
                "vast_moat_enabled": false,
                "catalog_id": "{{catalog_id}}",
                "optimization_event": "SHOPPING",
                "profile_image_url": ""
            }
        ]
    }
}
(/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 每日平台更新简报 →