创建网站转化量广告
本文介绍了创建网站转化量广告的具体步骤。
简介
网站转化量推广系列可以帮助您提升网页或 TikTok 即时体验页面转化量。
您可以使用推广系列管理 API 创建网站转化量广告。这将帮助您简化广告创建流程,提高推广系列的运营效率和管理规模。
若想获取关于网站转化量广告的全面介绍和最佳实践,请参考 API for Business Playbook - Web Conversion Ads(API for Business 手册 - 网站转化量广告)。
前提条件
- 您已经拥有 TikTok API for Business 的使用权限。详见快速入门 - 具体步骤 。
- 若要创建网站转化量广告,您需要获取相关的权限。参阅API参考了解使用相关接口(包括“步骤”部分列出的接口)所需的权限;参阅更新应用权限范围了解如何设置权限。
步骤
1. 创建推广系列
使用/campaign/create/接口创建一个推广系列。需确保满足以下要求:
| 设置 | 要求 | 参数 | 如何设置该参数 |
|---|---|---|---|
| 推广目标 | 网站转化量 | objective_type |
WEB_CONVERSIONS |
| Smart+ 推广系列 | 未启用 若您想了解如何创建启用了 Smart+ 推广系列设置的网站转化量推广系列,可查看创建 Smart+ 推广系列。 |
/ |
/ |
| iOS 14 专属推广系列 | 未启用 | campaign_type |
REGULAR_CAMPAIGN或不传入 |
app_id |
不传入 | ||
campaign_app_profile_page_state |
不传入 | ||
| 推广系列预算优化(CBO) | 启用或未启用 若您想了解如何创建启用了推广系列预算优化设置的网站转化量推广系列,可查看推广系列预算优化。 |
budget_optimize_on |
true,或false或不传入 |
示例
请求
(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": "WEB_CONVERSIONS",
"campaign_name": "{{campaign_name}}",
"campaign_type": "REGULAR_CAMPAIGN",
"budget_mode":"BUDGET_MODE_TOTAL",
"budget": {{budget}}
}'
(/code)
返回
(code curl http)
{
"code": 0,
"message": "OK",
"request_id": "{{request_id}}",
"data": {
"campaign_name": "{{campaign_name}}",
"modify_time": "{{modify_time}}",
"objective": "LANDING_PAGE",
"roas_bid": 0,
"budget": {{budget}},
"secondary_status": "CAMPAIGN_STATUS_ENABLE",
"is_smart_performance_campaign": false,
"create_time": "{{create_time}}",
"deep_bid_type": null,
"campaign_type": "REGULAR_CAMPAIGN",
"is_new_structure": true,
"campaign_id": "{{campaign_id}}",
"budget_mode": "BUDGET_MODE_INFINITE",
"objective_type": "WEB_CONVERSIONS",
"advertiser_id": "{{advertiser_id}}",
"operation_status": "ENABLE"
}
}
(/code)
2. 创建广告组
使用/adgroup/create/接口创建一个广告组。需确保满足以下要求:
注意
优化目标为自动价值优化的广告组不支持传入/split_test/create/创建拆分对比测试。
| 设置 {18%}| 要求{27%} | 参数 {20%}| 如何设置该参数 {35%}|
|---|---|---|---|
| 优化位置 <br>(推广对象类型) | 选择以下类型之一:<ul><li>网站</li><li>TikTok 即时体验页面</li></ul> | `promotion_type`<br> `promotion_website_type` | <ul><li>若要将优化位置设置为网站,需:<ul><li>将`promotion_type`设置为`WEBSITE`。</li><li>将 `promotion_website_type` 设置为 `UNSET` 或不传入此字段。</li></ul></li><li>若要将优化位置设置为 TikTok 即时体验页面,需:<ul><li>将`promotion_type` 设置为`WEBSITE`。</li><li>将 `promotion_website_type` 设置为`TIKTOK_NATIVE_PAGE`。</li></ul></li></ul> |
| Pixel | <ul><li>优化位置为网站时,Pixel 为可选。</li><li>优化位置为 TikTok 即时体验页面时,不支持指定 Pixel。</li></ul> | `pixel_id` | <ul><li>若 `promotion_website_type`设置为 `UNSET` 或未传入,则可为本字段指定合法值或不传入本字段。</li><li>若`promotion_website_type`设置为`TIKTOK_NATIVE_PAGE`,则不支持本字段。</li></ul> |
| 优化事件 | <ul><li>优化位置为网站且未指定 Pixel 时:无需选择优化事件。</li><li>优化位置为网站且指定 Pixel 或优化位置为 TikTok 即时体验页面时:需选择优化事件。<br><p><span style="color:darkred"><b>注意</b></span>: 若优化位置为 TikTok 即时体验页面, 则仅唯一支持的优化事件为点击按钮。</li></ul> | `optimization_event` | <ul><li>若 `promotion_website_type` 设置为 `UNSET`( 或未传入)且未传入 `pixel_id` ,则无需传入本字段。 </li><li>若 `promotion_website_type` 设置为 `UNSET`( 或未传入)且传入 `pixel_id`, 或 `promotion_website_type` 设置为`TIKTOK_NATIVE_PAGE`:需为本字段传入合法值。<ul><li>若想获取 Pixel 已配置的优化事件,可使用[/pixel/list/](1740858697598978.html)。</li><li>枚举值详见[转化事件 - Pixel事件类型](https://business-api.tiktok.com/portal/docs?id=1739361474981889#item-link-Pixel事件类型)。</li></ul><p><span style="color:darkred"><b>注意</b></span>: 若 `promotion_website_type` 设置为 `TIKTOK_NATIVE_PAGE`,则本字段仅支持设置为 `BUTTON`。</li></ul> |
| 版位 | 优化位置为 TikTok 即时体验页面时,版位中需至少包含 TikTok 或 Pangle。 | `placement_type`<br>`placements` | 若 `promotion_website_type`设置为`TIKTOK_NATIVE_PAGE`,您可以:<ul><li>将 `placement_type`设置为 `PLACEMENT_TYPE_AUTOMATIC`。</li><li>或将`placement_type`设置为 `PLACEMENT_TYPE_NORMAL`,同时确保`placements`的值中至少包含`PLACEMENT_TIKTOK`或`PLACEMENT_PANGLE`。</li></ul> |
| 受众定向 <br>· 自动定向| 未启用 | `auto_targeting_enabled` | 不传入 |
| 受众定向 <br>· 定向扩量 | 未启用 | `targeting_expansion` | 不传入 |
| 内容相关定向 | 未启用 | `contextual_tag_ids` | 不传入 |
|出价前第三方品牌安全筛选<br>(库存筛选)| 未启用| `brand_safety_type`|不支持设置为 `THIRD_PARTY`|
|出价前第三方品牌安全筛选| 未启用| `brand_safety_partner`|不传入|
|优化目标| <ul><li>优化位置为网站时,支持的优化目标为点击、转化、价值和自动价值优化。<ul><li> 若推广系列层级启用了推广系列预算优化,则不支持使用优化目标点击。</li></ul></li><li>优化位置为 TikTok 即时体验页面时,支持的优化目标为转化。 | `optimization_goal` | <ul><li>若`promotion_website_type`设置为`UNSET`或未传入,将`optimization_goal`设置为以下任意值:<ul><li>`CLICK`<ul><li>若推广系列层级 `budget_optimize_on` 设置为 `true`,则不支持使用此值。</li></ul></li><li>`CONVERT` (需设置 `pixel_id` 和 `optimization_event` )</li><li>`VALUE`(需设置 `pixel_id`,且将 `optimization_event` 设置为 `SHOPPING`)<ul><li>若想了解如何在推广目标网站转化量下使用优化目标价值,可查看[开启网站价值优化](https://business-api.tiktok.com/portal/docs?id=1770019181843458#item-link-%E5%BC%80%E5%90%AF%E7%BD%91%E7%AB%99%E4%BB%B7%E5%80%BC%E4%BC%98%E5%8C%96)。</ul></li></li><li>`AUTOMATIC_VALUE_OPTIMIZATION`(需设置 `pixel_id`,且将 `optimization_event` 设置为 `SHOPPING`)<ul><li>若想了解如何在推广目标网站转化量下使用优化目标自动价值优化,可查看[开启网站价值优化](https://business-api.tiktok.com/portal/docs?id=1770019181843458#item-link-%E5%BC%80%E5%90%AF%E7%BD%91%E7%AB%99%E4%BB%B7%E5%80%BC%E4%BC%98%E5%8C%96)。</li></ul></li></ul></li><li>若`promotion_website_type`设置为`TIKTOK_NATIVE_PAGE`,将`optimization_goal`设置为`CONVERT`。</li></ul><br><p><span style="color:darkred"><b>注意</b></span>:<ul><li>自动价值优化目前为白名单功能。如需使用此功能,请联系您的 TikTok 销售代表。</li><li>同时启用自动价值优化和推广系列预算优化目前为白名单功能。如需使用此功能,请联系您的 TikTok 销售代表。</li></ul> |
| 竞价策略 | <ul><li>优化目标为点击或转化时,可设置为最大投放量或成本上限(或目标 CPA)。</li><li>优化目标为价值时,可设置为最高价值或最低 ROAS(或目标 ROAS)。</li><li>优化目标为自动价值优化时,仅可设置为最高价值。</li></ul> | `bid_type` <br>`bid_price`<br> `conversion_bid_price`<br> `deep_bid_type` <br>`roas_bid`| <ul><li>`optimization_goal` 设置为 `CLICK` 或 `CONVERT`时:<ul><li>需将 `bid_type` 设置为 `BID_TYPE_CUSTOM` 或 `BID_TYPE_NO_BID`。不可传入`deep_bid_type` 和 `roas_bid`。<ul><li>`optimization_goal` 设置为`CONVERT` , 且`bid_type`设置为`BID_TYPE_CUSTOM`时,需同时传入`conversion_bid_price`。 </li><li>`optimization_goal` 设置为`CLICK`且 `bid_type` 设置为`BID_TYPE_CUSTOM`时,需同时传入 `bid_price`。</li></ul></li></ul></li><li>`optimization_goal`设置为`VALUE`时:<ul><li> 需将 `deep_bid_type` 设置为 `VO_MIN_ROAS` 或 `VO_HIGHEST_VALUE`,且同时将 `bid_type` 设置为 `BID_TYPE_NO_BID`。不可同时传入 `conversion_bid_price` 和 `bid_price`。<ul><li>若 `deep_bid_type` 设置为 `VO_MIN_ROAS`,还需同时传入`roas_bid`。</li></ul></li></ul></li><li> `optimization_goal` 设置为 `AUTOMATIC_VALUE_OPTIMIZATION` 时:<ul><li>不支持使用 `roas_bid` 。</li><li>需将 `deep_bid_type` 设置为 `VO_HIGHEST_VALUE` 且将 `bid_type` 设置为 `BID_TYPE_NO_BID`。<ul><li>可不传入 `deep_bid_type` 和 `bid_type`。若未传入这两个字段,`deep_bid_type` 将默认设置为 `VO_HIGHEST_VALUE` , `bid_type` 将默认设置为 `BID_TYPE_NO_BID`。</li></ul></li></ul></li></ul> |
| 归因设置 | 在具体场景中选择对应支持的归因设置 | `click_attribution_window`<br>`view_attribution_window` <br>`attribution_event_count` | 若想了解不同场景下支持的归因设置,请查看[归因窗口期和事件统计方式 - 网站转化量](https://business-api.tiktok.com/portal/docs?id=1777694366654465#item-link-%E7%BD%91%E7%AB%99%E8%BD%AC%E5%8C%96%E9%87%8F)。 |
|计费事件| <ul><li>优化目标为点击时,支持的计费点为CPC。</li><li>优化目标为转化、价值或自动价值优化时,支持的计费点为oCPM。</li><ul> | `billing_event`| <ul><li>若`optimization_goal`设置为`CLICK`, 将`billing_event`设置为`CPC`。</li><li>若`optimization_goal`设置为`CONVERT`、`VALUE`或 `AUTOMATIC_VALUE_OPTIMIZATION`,将`billing_event`设置为`OCPM`。</li><ul>|
| 投放速度 | <ul><li>若竞价策略设置为成本上限,支持将投放速度设置为标准或加速。</li><li>若竞价策略设置为最大投放量、最高总收入或最低 ROAS,仅支持将投放速度设置为标准。</li></ul> | `pacing` | <ul><li>`bid_type`为`BID_TYPE_CUSTOM`时,可将 `pacing` 设置为 `PACING_MODE_SMOOTH` 或 `PACING_MODE_FAST`。</li><li> `bid_type`为`BID_TYPE_NO_BID` 时,仅支持将 `pacing` 设置为 `PACING_MODE_SMOOTH`。</li></ul> |
示例
请求
(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}}",
"app_id": "{{app_id}}",
"promotion_type": "WEBSITE",
"promotion_website_type": "TIKTOK_NATIVE_PAGE",
"optimization_event": "BUTTON",
"placement_type": "PLACEMENT_TYPE_NORMAL",
"placements": ["PLACEMENT_TIKTOK","PLACEMENT_PANGLE"],
"location_ids": ["6252001"],
"budget_mode": "BUDGET_MODE_DAY",
"budget":{{budget}},
"schedule_type": "SCHEDULE_START_END",
"schedule_start_time": "{{schedule_start_time}}",
"schedule_end_time":"{{schedule_end_time}}",
"optimization_goal": "CONVERT",
"bid_type": "BID_TYPE_CUSTOM",
"conversion_bid_price": {{conversion_bid_price}},
"billing_event": "OCPM",
"pacing": "PACING_MODE_SMOOTH"
}'
(/code)
返回
(code curl http)
{
"code": 0,
"message": "OK",
"request_id": "{{request_id}}",
"data": {
"interest_category_ids": [],
"conversion_window": null,
"rf_estimated_cpr": null,
"bid_price": 0.0,
"is_new_structure": true,
"brand_safety_partner": null,
"bid_display_mode": "CPMV",
"purchased_impression": null,
"location_ids": [
"6252001"
],
"campaign_id": "{{campaign_id}}",
"schedule_end_time": "2033-10-21 00:21:13",
"audience_ids": [],
"video_download_disabled": false,
"schedule_infos": null,
"operating_systems": [],
"feed_type": null,
"actions": [],
"languages": [],
"comment_disabled": false,
"app_type": null,
"adgroup_id": "{{adgroup_id}}",
"share_disabled": false,
"search_result_enabled": false,
"keywords": null,
"secondary_status": "ADGROUP_STATUS_CREATE",
"optimization_event": "BUTTON",
"statistic_type": null,
"schedule_type": "SCHEDULE_FROM_NOW",
"campaign_name": "{{campaign_name}}",
"adgroup_name": "{{adgroup_name}}",
"conversion_bid_price": 0.0,
"ios14_quota_type": "UNOCCUPIED",
"network_types": [],
"delivery_mode": null,
"excluded_audience_ids": [],
"brand_safety_type": "NO_BRAND_SAFETY",
"modify_time": "{{modify_time}}",
"targeting_expansion": {
"expansion_types": [],
"expansion_enabled": false
},
"adgroup_app_profile_page_state": null,
"dayparting": "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
"rf_purchased_type": null,
"advertiser_id": "{{advertiser_id}}",
"gender": "GENDER_UNLIMITED",
"device_price_ranges": null,
"optimization_goal": "CONVERT",
"bid_type": "BID_TYPE_NO_BID",
"auto_targeting_enabled": false,
"inventory_filter_enabled": false,
"app_download_url": null,
"budget": {{budget}},
"skip_learning_phase": true,
"pacing": "PACING_MODE_SMOOTH",
"category_exclusion_ids": [],
"promotion_type": "WEBSITE",
"placements": [
"PLACEMENT_TIKTOK",
"PLACEMENT_GLOBAL_APP_BUNDLE",
"PLACEMENT_PANGLE"
],
"frequency_schedule": null,
"creative_material_mode": "CUSTOM",
"promotion_website_type": "TIKTOK_NATIVE_PAGE",
"frequency": null,
"is_hfss": false,
"next_day_retention": null,
"budget_mode": "BUDGET_MODE_DAY",
"rf_estimated_frequency": null,
"interest_keyword_ids": [],
"isp_ids": [],
"placement_type": "PLACEMENT_TYPE_AUTOMATIC",
"schedule_start_time": "{{schedule_start_time}}",
"category_id": "0",
"scheduled_budget": 0.0,
"operation_status": "ENABLE",
"deep_bid_type": null,
"billing_event": "OCPM",
"purchased_reach": null,
"pixel_id": null,
"deep_cpa_bid": 0.0,
"create_time": "{{create_time}}",
"age_groups": null,
"app_id": null,
"secondary_optimization_event": null
}
}
(/code)
3. 创建广告
使用/ad/create/接口创建一个广告。需确保满足以下要求:
| 设置 {12%}| 要求{37%} | 参数 {15%}| 如何设置该参数 {36%}|
|---|---|---|---|
| 广告样式 | <ul><li>单个视频</li><li>单个图片</li><li> 多图轮播</ul></li>| `ad_format` |<ul><li>`SINGLE_VIDEO`</li><li>`SINGLE_IMAGE`<li>`CAROUSEL_ADS`</li></ul>|
| 目标页面 | <ul><li>若广告组层级优化位置设置为网站,目标页面可设置为网站 URL 或 TikTok 即时体验页面。</li><li>若广告组层级优化位置设置为 TikTok 即时体验页面,目标页面仅可设置为 TikTok 即时体验页面。 </li></ul> | `landing_page_url`<br>`page_id`<br>`creative_type` |<ul><li>若广告组层级`promotion_website_type`设置为 `UNSET` 或未传入,您需过`landing_page_url`指定网站 URL 或通过`page_id`指定 TikTok 即时体验页面。 <ul><li>若想筛选您的广告账户下的 TikTok 即时体验页面,可使用[/page/get/](1820826387779586.html)。需传入 `advertiser_id` 并将 `business_type` 设置为 `TIKTOK_INSTANT_PAGE`。</li></ul> </li><li>若广告组层级`promotion_website_type`设置为 `TIKTOK_NATIVE_PAGE`,您需通过`page_id`指定 TikTok 即时体验页面。<ul><li>同时您可省略`creative_type`参数,该参数将默认设置为`CUSTOM_INSTANT_PAGE`。您也可以将 `creative_type` 字段手动设置为`CUSTOM_INSTANT_PAGE`。</li></ul></li></ul> |
示例
请求
(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_id":"{{identity_id}}",
"identity_type":"CUSTOMIZED_USER",
"ad_format": "SINGLE_VIDEO",
"video_id":"{{video_id}}",
"image_ids":["{{image_id}}"],
"ad_text": "{{ad_text}}",
"call_to_action": "SIGN_UP",
"page_id":"{{page_id}}"
}]
}'
(/code)
返回
(code curl http)
{
"code": 0,
"message": "OK",
"request_id": "{{request_id}}",
"data": {
"ad_ids": [
"{{ad_id}}"
],
"need_audit": false,
"creatives": [
{
"landing_page_urls": null,
"vast_moat_enabled": false,
"ad_texts": null,
"creative_authorized": false,
"campaign_name": "{{campaign_name}}",
"music_id": null,
"ad_name": "{{ad_name}}",
"image_ids": [
"{{image_id}}"
],
"adgroup_id": "{{adgroup_id}}",
"brand_safety_postbid_partner": "UNSET",
"impression_tracking_url": null,
"ad_id": "{{ad_id}}",
"ad_text": "{{ad_text}}",
"ad_format": "SINGLE_VIDEO",
"ad_ref_pixel_id": {{ad_ref_pixel_id}},
"viewability_vast_url": null,
"create_time": "{{create_time}}",
"click_tracking_url": null,
"app_name": "",
"fallback_type": "UNSET",
"campaign_id": "{{campaign_id}}",
"modify_time": "{{modify_time}}",
"deeplink": null,
"avatar_icon_web_uri": "{{avatar_icon_web_uri}}",
"call_to_action_id": "{{call_to_action_id}}",
"playable_url": "",
"adgroup_name": "{{adgroup_name}}",
"video_id": "{{video_id}}",
"is_new_structure": true,
"tracking_offline_event_set_ids": [
"{{tracking_offline_event_set_id}}",
"{{tracking_offline_event_set_id}}"
],
"viewability_postbid_partner": "UNSET",
"card_id": null,
"landing_page_url": "",
"identity_id": "{{identity_id}}",
"brand_safety_vast_url": null,
"creative_type": "CUSTOM_INSTANT_PAGE",
"page_id": {{page_id}},
"profile_image_url": "{{profile_image_url}}",
"optimization_event": "BUTTON",
"tracking_pixel_id": 0,
"identity_type": "CUSTOMIZED_USER",
"advertiser_id": "{{advertiser_id}}",
"operation_status": "ENABLE",
"display_name": "{{display_name}}",
"is_aco": false
}
]
}
}
(/code)