创建优化位置为 TikTok 私信的线索广告
本文介绍了如何创建优化位置为 TikTok 私信的线索广告。受众将能够通过点击“发送消息”这一行动引导文案按钮,直接在 TikTok App 中向您的授权 TikTok 账号发送消息。
注意
- 创建优化位置为 TikTok 私信的线索广告对注册地为以下地域的广告主已全量开放:
- 亚太地区:澳大利亚,孟加拉国,柬埔寨,印度尼西亚,日本,马来西亚,新西兰,巴基斯坦,菲律宾,新加坡,韩国,斯里兰卡,中国台湾地区,泰国和越南。
- 拉美地区:阿根廷,玻利维亚,巴西,智利,哥伦比亚,哥斯达黎加,多米尼加共和国,厄瓜多尔,危地马拉,墨西哥,巴拿马,巴拉圭,秘鲁,波多黎各和乌拉圭。
- 对于注册地为其他地域的广告主,此功能目前为白名单功能。如需使用此功能,请联系您的 TikTok 销售代表。
- 优化位置为 TikTok 私信的线索广告仅支持 Spark Ads。
前提条件
已授权 TikTok 账号的持有人已开启了 TikTok 账号 Direct Messages(私信)的"Everyone"(所有人)权限,从而允许所有人向该 TikTok 账号发送私信。若想了解如何配置该设置,请查看How to manage who can send you direct messages(如何管理谁可以向您发送私信)。
步骤
1. 创建推广系列
使用/campaign/create/接口创建一个推广系列。需确保满足以下要求:
| 设置 {20%}| 要求{30%} | 参数{20%} | 如何设置该参数{30%} |
|---|---|---|---|
| 推广目标 | 线索收集| `objective_type` | `LEAD_GENERATION` |
| Smart+ 推广系列 | 未启用 <br><br>若您想查看推广系列是否启用了 Smart+ 推广系列设置,可使用[/campaign/get/](https://ads.tiktok.com/marketing_api/docs?id=1739315828649986)返回的`is_smart_performance_campaign`字段进行确认。| / | / |
示例
请求
(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": "LEAD_GENERATION",
"campaign_name": "{{campaign_name}}",
"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_TOTAL",
"objective_type": "LEAD_GENERATION",
"advertiser_id": "{{advertiser_id}}",
"operation_status": "ENABLE"
}
}
(/code)
2. 创建广告组
使用/adgroup/create/接口创建一个广告组。需确保满足以下要求:
| 设置 {20%}| 要求{22%} | 参数 {30%}| 如何设置该参数 {28%}|
|---|---|---|---|
| 优化位置 <br>(推广对象类型) | TikTok 私信| `promotion_type`<br> `promotion_target_type` | <ul><li>`promotion_type` 设置为 `LEAD_GEN_CLICK_TO_TT_DIRECT_MESSAGE`,</li><li>同时不传入 `promotion_target_type` 。</li></ul> |
|版位 | <strong>编辑版位</strong>,同时将版位设置为 TikTok </li></ul> | `placement_type`<br>`placements` | <ul><li>`placement_type`设置为`PLACEMENT_TYPE_NORMAL`,</li><li>且`placements`设置为 `["PLACEMENT_TIKTOK"]`。</li></ul> |
| 年龄定向 | 不支持定向18岁以下受众 | `age_groups` | 不支持传入`AGE_13_17`的值 |
| 人群属性 - 地域定向 | 可定位的地域包括:<ul><li>亚太地区:澳大利亚、柬埔寨、印度尼西亚、日本、马来西亚、新西兰、菲律宾、新加坡、韩国、泰国、越南</li><li>拉美地区:巴西、智利、哥伦比亚、厄瓜多尔、墨西哥、秘鲁 </li></ul> 请注意,注册地域为中国大陆(`CN`)的广告主无法定向澳大利亚和印度尼西亚。 | `location_ids` | 传入在以下地区内的地域 ID:<ul><li>亚太地区:澳大利亚、柬埔寨、印度尼西亚、日本、马来西亚、新西兰、菲律宾、新加坡、韩国、泰国、越南</li><li>拉美地区:巴西、智利、哥伦比亚、厄瓜多尔、墨西哥、秘鲁</li></ul> 请注意,注册地域为中国大陆(`CN`)的广告主无法定向澳大利亚和印度尼西亚。<br><br> 若想获取可定向的具体地域,请使用[/tool/targeting/search/](1761236883355649.html)或[/tool/region/](1737189539571713.html)接口。 |
| Pangle 流量包 | 不支持 | `included_pangle_audience_package_ids`<br>`excluded_pangle_audience_package_ids` | 不支持 |
| 优化目标 | 以下任意目标:<ul><li>点击 </li><li>会话数(白名单功能) </li></ul> | `optimization_goal` <ul><li> `optimization_event` </li></ul>| 以下任意值:<ul><li>`CLICK` </li><li>`CONVERSATION`</li></ul><br><p><span style="color:darkred"><b>注意</b></span>: <ul><li>优化目标会话数(`CONVERSATION`)目前为白名单功能。如需使用此功能,请联系您的 TikTok 销售代表。</li><li>若 `optimization_goal` 为 `CLICK`,无需传入 `optimization_event`。</li><li>若 `optimization_goal` 为 `CONVERSATION`,可省略 `optimization_event` 或将 `optimization_event` 设置为 `MESSAGE`。</li></ul> |
| 竞价策略 | 以下任意类型:<ul><li>最大投放量</li><li>成本上限</li></ul> | <ul><li>`bid_type` </li><li>`bid_price` </li><li>`conversion_bid_price`</li></ul>| `bid_type` 使用以下任意值:<ul><li> `BID_TYPE_NO_BID`</li><li> `BID_TYPE_CUSTOM`<ul><li> `bid_type` 为 `BID_TYPE_CUSTOM` 且 `optimization_goal` 为 `CONVERSATION` 时,需同时传入 `conversion_bid_price` 。 </li><li>`bid_type` 为 `BID_TYPE_CUSTOM` 且 `optimization_goal` 为 `CLICK` 时,需同时传入`bid_price`。</li></ul></li></ul>|
| 归因设置 | <ul><li>归因窗口期:未设置。<br>若优化目标为会话数,默认设置为 7 天(点击) 和 1 天 (展示)。</li><li>事件统计方式:未设置。 <br>若优化目标为会话数,默认设置为仅一次。</li></ul>|<ul><li> `click_attribution_window`</li><li>`view_attribution_window` </li><li>`attribution_event_count`</li></ul>| 不传入 <br><ul><li> `optimization_goal`为 `CLICK` 时,不支持这些字段。</li><li>`optimization_goal`为 `CONVERSATION` 时,可省略这些字段,从而使用默认设置。<ul><li> `click_attribution_window` 将默认设置为`SEVEN_DAYS` 。</li><li>`view_attribution_window` 将默认设置为`ONE_DAY`。</li><li>`attribution_event_count` 将默认设置为 `ONCE` 。</li></ul></li></ul>|
| 计费事件 | <ul><li>优化目标为点击时,计费事件需为 CPC。</li><li>优化目标为会话数时,计费事件需为 oCPM。</li></ul>| `billing_event` |<ul><li>`optimization_goal` 为 `CLICK` 时 ,本字段需设置为 `CPC`。</li><li> `optimization_goal` 为 `CONVERSATION` 时,本字段需设置为 `OCPM`。</li></ul>|
| 投放速度 | <ul><li>若竞价策略设置为成本上限,支持将投放速度设置为标准或加速。</li><li>若竞价策略设置为最大投放量,仅支持将投放速度设置为标准。</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>|
| 搜索广告| 不支持| `search_result_enabled`| 仅可设置为 `false`或不传入|
| 程序化创意(ACO) | 不支持 | `creative_material_mode`| `CUSTOM` 或不传入 |
示例
将优化目标设置为会话数
请求
(code curl http)
curl --location '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}}",
"promotion_type": "LEAD_GEN_CLICK_TO_TT_DIRECT_MESSAGE",
"placement_type": "PLACEMENT_TYPE_NORMAL",
"placements": [
"PLACEMENT_TIKTOK"
],
"video_download_disabled": true,
"location_ids": [
"5332921"
],
"age_groups": [
"AGE_18_24"
],
"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": "CONVERSATION",
"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": {
"rf_estimated_frequency": null,
"languages": [],
"adgroup_name": "{{adgroup_name}}",
"advertiser_id": "{{advertiser_id}}",
"delivery_mode": null,
"frequency": null,
"dayparting": "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
"excluded_audience_ids": [],
"secondary_optimization_event": null,
"brand_safety_partner": null,
"secondary_status": "ADGROUP_STATUS_CREATE",
"operating_systems": [],
"operation_status": "ENABLE",
"creative_material_mode": "CUSTOM",
"promotion_type": "LEAD_GEN_CLICK_TO_TT_DIRECT_MESSAGE",
"deep_cpa_bid": 0,
"bid_display_mode": "CPMV",
"purchased_impression": null,
"bid_type": "BID_TYPE_CUSTOM",
"view_attribution_window": "ONE_DAY",
"schedule_infos": null,
"placements": [
"PLACEMENT_TIKTOK"
],
"age_groups": [
"AGE_18_24"
],
"adgroup_app_profile_page_state": null,
"app_type": null,
"next_day_retention": null,
"rf_estimated_cpr": null,
"comment_disabled": false,
"is_smart_performance_campaign": false,
"keywords": null,
"network_types": [],
"schedule_type": "SCHEDULE_START_END",
"bid_price": 0,
"click_attribution_window": "SEVEN_DAYS",
"budget": {{budget}},
"location_ids": [
"5332921"
],
"billing_event": "OCPM",
"is_new_structure": true,
"inventory_filter_enabled": false,
"attribution_event_count": "ONCE",
"category_exclusion_ids": [],
"smart_audience_enabled": null,
"frequency_schedule": null,
"isp_ids": [],
"optimization_event": "MESSAGE",
"schedule_start_time": "{{schedule_start_time}}",
"campaign_id": "{{campaign_id}}",
"modify_time": "{{modify_time}}",
"pacing": "PACING_MODE_SMOOTH",
"app_id": null,
"scheduled_budget": 0,
"share_disabled": false,
"device_price_ranges": null,
"statistic_type": null,
"ios14_quota_type": "UNOCCUPIED",
"budget_mode": "BUDGET_MODE_TOTAL",
"skip_learning_phase": true,
"adgroup_id": "{{adgroup_id}}",
"create_time": "{{create_time}}",
"interest_keyword_ids": [],
"interest_category_ids": [],
"brand_safety_type": "NO_BRAND_SAFETY",
"placement_type": "PLACEMENT_TYPE_NORMAL",
"actions": [],
"schedule_end_time": "{{schedule_end_time}}",
"gender": "GENDER_UNLIMITED",
"pixel_id": null,
"auto_targeting_enabled": false,
"category_id": "0",
"search_result_enabled": false,
"is_hfss": false,
"smart_interest_behavior_enabled": null,
"deep_bid_type": null,
"purchased_reach": null,
"audience_ids": [],
"conversion_bid_price": {{conversion_bid_price}},
"app_download_url": null,
"rf_purchased_type": null,
"optimization_goal": "CONVERSATION",
"video_download_disabled": true,
"feed_type": null,
"conversion_window": null,
"campaign_name": "{{campaign_name}}"
}
}
(/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}}",
"promotion_type": "LEAD_GEN_CLICK_TO_TT_DIRECT_MESSAGE",
"placement_type": "PLACEMENT_TYPE_NORMAL",
"placements": ["PLACEMENT_TIKTOK"],
"video_download_disabled": true,
"location_ids": ["{{location_id}}"],
"gender": "GENDER_UNLIMITED",
"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)
{
"code": 0,
"message": "OK",
"request_id": "{{request_id}}",
"data": {
"adgroup_name": "{{adgroup_name}}",
"deep_bid_type": null,
"inventory_filter_enabled": false,
"billing_event": "CPC",
"video_download_disabled": true,
"actions": [],
"operation_status": "ENABLE",
"deep_cpa_bid": 0,
"network_types": [],
"optimization_event": null,
"brand_safety_partner": null,
"schedule_end_time": "{{schedule_end_time}}",
"scheduled_budget": 0,
"conversion_bid_price": 0,
"placement_type": "PLACEMENT_TYPE_NORMAL",
"adgroup_id": "{{adgroup_id}}",
"statistic_type": null,
"comment_disabled": false,
"location_ids": [
"{{location_id}}"
],
"languages": [],
"dayparting": "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
"category_id": "0",
"pacing": "PACING_MODE_SMOOTH",
"conversion_window": null,
"purchased_reach": null,
"rf_purchased_type": null,
"gender": "GENDER_UNLIMITED",
"optimization_goal": "CLICK",
"isp_ids": [],
"budget_mode": "BUDGET_MODE_TOTAL",
"frequency_schedule": null,
"pixel_id": null,
"schedule_start_time": "{{schedule_start_time}}",
"campaign_name": "{{campaign_name}}",
"secondary_optimization_event": null,
"advertiser_id": "{{advertiser_id}}",
"interest_keyword_ids": [],
"delivery_mode": null,
"promotion_type": "LEAD_GEN_CLICK_TO_TT_DIRECT_MESSAGE",
"purchased_impression": null,
"rf_estimated_frequency": null,
"auto_targeting_enabled": false,
"next_day_retention": null,
"keywords": null,
"frequency": null,
"schedule_type": "SCHEDULE_START_END",
"search_result_enabled": false,
"rf_estimated_cpr": null,
"feed_type": null,
"app_type": null,
"app_download_url": null,
"budget": {{budget}},
"create_time": "{{create_time}}",
"creative_material_mode": "CUSTOM",
"bid_price": 0,
"adgroup_app_profile_page_state": null,
"interest_category_ids": [],
"operating_systems": [],
"is_hfss": false,
"category_exclusion_ids": [],
"campaign_id": "{{campaign_id}}",
"skip_learning_phase": false,
"device_price_ranges": null,
"schedule_infos": null,
"bid_type": "BID_TYPE_NO_BID",
"app_id": null,
"age_groups": [
"AGE_18_24",
"AGE_25_34",
"AGE_35_44",
"AGE_45_54",
"AGE_55_100"
],
"is_new_structure": true,
"secondary_status": "ADGROUP_STATUS_CREATE",
"modify_time": "{{modify_time}}",
"audience_ids": [],
"brand_safety_type": "NO_BRAND_SAFETY",
"bid_display_mode": "CPMV",
"placements": [
"PLACEMENT_TIKTOK"
],
"ios14_quota_type": "UNOCCUPIED",
"excluded_audience_ids": [],
"share_disabled": false
}
}
(/code)
3. 创建广告
使用/ad/create/接口创建一个广告。需确保满足以下要求:
| 设置 {20%}| 要求{26%} | 参数 {20%}| 如何设置该参数 {35%}|
|---|---|---|---|
| 广告样式 | 选择以下任一样式:<ul><li>单视频</li><li>轮播图片</li></ul> | `ad_format` | 使用以下任一值:<ul><li>`SINGLE_VIDEO`</li><li>`CAROUSEL_ADS`<ul><li>若想了解如何创建创建标准轮播广告,请查看[创建标准轮播广告的步骤](https://business-api.tiktok.com/portal/docs?id=1766217791987713#item-link-%E5%88%9B%E5%BB%BA%E6%A0%87%E5%87%86%E8%BD%AE%E6%92%AD%E5%B9%BF%E5%91%8A%E7%9A%84%E6%AD%A5%E9%AA%A4)。</li></ul></li></ul>|
| Spark ads | 启用 | `identity_type` | <ul><li>`optimization_goal` 为 `CLICK` 时,需将本字段设置为 `TT_USER` 或`BC_AUTH_TT`。</li><li> `optimization_goal` 为`CONVERSATION` 时,需将本字段设置为`TT_USER`。</li></ul><br> 若想了解如何创建 Spark Ads,请查看[创建Spark Ads](1739470744631298.html)。<br><br>若您想在 TikTok 私信广告中使用某个认证身份,需要对该认证身份有私信权限。您可调用[/identity/get/](1740218420781057.html) 或 [/identity/info/](1740218453385217.html) 并检查返回的 `can_manage_message` 是否为 `true`。<ul><li>若返回的 `can_manage_message` 为 `false`,且 `identity_type` 为 `TT_USER`,您可以导航至[广告账户用户设置页面](https://ads.tiktok.com/ac/page/settings)。在<b>个人信息选项卡</b>的<b>基本信息</b>部分,单击<b>修改权限</b>以编辑绑定的 TikTok 账户的权限。需确保您对 TikTok 账户具有“<b>Read and manage messages in your inbox</b>”(读取并管理收件箱中消息)权限。</li><li>若返回的 `can_manage_message` 为 `false`,且 `identity_type` 为 `BC_AUTH_TT`,您可以请求商务中心管理员使用[/bc/asset/assign/](1739438211077121.html) 向您授予与该认证身份绑定的的 TikTok 账户的私信权限。将 `asset_type` 设置为 `TT_ACCOUNT`,并确保 `tt_account_roles` 值至少包含 POST 和 `DIRECT_MESSAGE`。</li></ul> |
| 标准行动引导文案 | 发消息 | `call_to_action` | `SEND_MESSAGE` |
| 动态优选行动引导文案 | 不支持 | `call_to_action_id` | 不支持 |
| 创新互动样式 | 不支持 | `card_id` | 不支持 |
| 目标页面 | TikTok 私信 | `landing_page_url`<br> `page_id` <br> `deeplink`<br>`deeplink_type` <br>`fallback_type` | 不支持 |
| 目标页面<br> · 欢迎消息| 启用 | `auto_message_id` | 传入合法值。 <br><br><ul><li>若想获取广告账户中欢迎消息的列表,可使用[/creative/auto_message/get/](1822106498804738.html)。</li><li>若想在广告账户中创建欢迎消息,可使用[/creative/auto_message/create/](1822106113771521.html)。</li></ul> |
| 智能创意 | 不支持 | `is_smart_creative`<br>([/ad/aco/create/](1739473063234626.html)中) | 不支持 |
示例
请求
(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}}",
"ad_format": "SINGLE_VIDEO",
"tiktok_item_id":"{{tiktok_item_id}}",
"call_to_action": "SEND_MESSAGE"
}]
}'
(/code)
返回
(code curl http)
{
"code": 0,
"message": "OK",
"request_id": "{{request_id}}",
"data": {
"ad_ids": [
"{{ad_id}}"
],
"need_audit": false,
"creatives": [
{
"page_id": null,
"creative_authorized": false,
"display_name": "{{display_name}}",
"identity_type": "TT_USER",
"advertiser_id": "{{advertiser_id}}",
"playable_url": "",
"ad_format": "SINGLE_VIDEO",
"operation_status": "ENABLE",
"viewability_postbid_partner": "UNSET",
"adgroup_id": "{{adgroup_id}}",
"ad_texts": null,
"app_name": "{{app_name}}",
"call_to_action": "SEND_MESSAGE",
"click_tracking_url": null,
"image_ids": [
""
],
"is_aco": false,
"brand_safety_vast_url": null,
"deeplink": "",
"identity_id": "{{identity_id}}",
"promotional_music_disabled": true,
"creative_type": null,
"music_id": null,
"card_id": null,
"adgroup_name": "{{adgroup_name}}",
"is_new_structure": true,
"ad_name": "{{ad_name}}",
"impression_tracking_url": null,
"profile_image_url": "",
"video_id": null,
"brand_safety_postbid_partner": "UNSET",
"optimization_event": "MESSAGE",
"campaign_id": "{{campaign_id}}",
"modify_time": "{{modify_time}}",
"deeplink_type": "NORMAL",
"viewability_vast_url": null,
"tracking_pixel_id": 0,
"avatar_icon_web_uri": "",
"call_to_action_id": null,
"ad_id": "{{ad_id}}",
"create_time": "{{create_time}}",
"landing_page_url": "",
"vast_moat_enabled": false,
"tiktok_item_id": "{{tiktok_item_id}}",
"ad_text": "{{ad_text}}",
"landing_page_urls": null,
"tracking_offline_event_set_ids": [
"{{tracking_offline_event_set_id}}",
"{{tracking_offline_event_set_id}}",
"{{tracking_offline_event_set_id}}",
"{{tracking_offline_event_set_id}}",
"{{tracking_offline_event_set_id}}",
"{{tracking_offline_event_set_id}}",
"{{tracking_offline_event_set_id}}"
],
"campaign_name": "{{campaign_name}}"
}
]
}
}
(/code)