← 返回目录
📁 API Reference › TikTok One

TTO Creator Marketplace 视频报告

此接口可用于获取 TikTok One (TTO) Creator Marketplace 营销活动中视频的报告数据。

注意

  • 视频上传到 TikTok 后,即可获取报告数据。如果达人后续使用邀请链接来标记视频,系统将回填报告数据。
  • 对于通过 API 创建的营销活动,无法通过 TTO Creator Marketplace 平台访问报告数据。

TCM 与 TTO Creator Marketplace 接口对比

下表概述了 TCM 接口与 TTO Creator Marketplace 接口之间的差异。

| 变更 {19%}| TCM 接口{44%} | TTO Creator Marketplace 接口{37%} |
|---|---|---|
| 接口路径 | /v1.3/tcm/report/get/v2/|/v1.3/tto/tcm/report/ |
| 相同的请求参数 | `start_date`<br>`end_date`<br>`page`<br>`page_size` | `start_date`<br>`end_date`<br>`page`<br>`page_size` |
| 已弃用的请求参数| N/A |`tcm_account_id`<br>`order_ids` <br>`need_daily_stats` <br> `metrics` |
| 新增请求参数| N/A |`tto_tcm_account_id`<br>`campaign_id` |
| 名称相同的返回参数<br><br>注意:这些参数可能嵌套在不同的对象或对象数组中。| `insights.metrics.video_id`<br>`insights.metrics.video_views`<br>`insights.metrics.video_views_organic` <br>`insights.metrics.video_views_paid`<br>`insights.metrics.reach` <br>`insights.metrics.engagement_count`<br>`insights.metrics.engagement_rate`<br>`insights.metrics.video_completion_rate`<br>`insights.metrics.likes`<br>`insights.metrics.comments`<br>`insights.metrics.shares` <br>`insights.metrics.total_play_time`<br>`insights.metrics.average_view_time`<br> `insights.metrics.two_seconds_views` <br> `insights.metrics.six_seconds_views`<br> `insights.metrics.video_view_retention`<br>`insights.metrics.video_views_by_source`<br>`insights.metrics.video_views_by_source.for_you` <br>`insights.metrics.video_views_by_source.hashtag`<br>`insights.metrics.video_views_by_source.sound`<br>`insights.metrics.video_views_by_source.personal_profile` <br>`insights.metrics.video_views_by_source.search`<br> `insights.metrics.video_views_by_source.following` <br>`insights.metrics.audience_interest_distribution`<br>`insights.metrics.audience_interest_distribution.<br>interest_tag`<br>`insights.metrics.audience_interest_distribution.<br>percentage`<br>`insights.metrics.daily_stats` <br>`insights.metrics.daily_stats.date`<br> `insights.metrics.daily_stats.views`<br>`insights.metrics.daily_stats.video_views_organic`<br>`insights.metrics.daily_stats.video_views_paid` <br>`insights.metrics.daily_stats.engagement_rate`<br>`insights.metrics.daily_stats.video_completion_rate`<br>`insights.metrics.daily_stats.likes` <br> `insights.metrics.daily_stats.comments` <br> `insights.metrics.daily_stats.shares`<br>`page_info`<br> `page_info.page` <br> `page_info.page_size`<br> `page_info.total_page`<br> `page_info.total_number`| `videos.video_info.video_id` <br>`videos.video_views`<br>`videos.video_views_organic`<br>`videos.video_views_paid`<br> `videos.reach`<br>`videos.engagement_count` <br> `videos.engagement_rate`<br> `videos.video_completion_rate`<br> `videos.likes`<br> `videos.comments`<br>`videos.shares`<br> `videos.total_play_time`<br>`videos.average_view_time` <br> `videos.two_seconds_views`<br> `videos.six_seconds_views` <br>`videos.video_view_retention`<br>`videos.video_views_by_source` <br>`videos.video_views_by_source.for_you` <br>`videos.video_views_by_source.hashtag`<br>`videos.video_views_by_source.sound` <br> `videos.video_views_by_source.personal_profile`<br>`videos.video_views_by_source.search` <br>`videos.video_views_by_source.following` <br>`videos.audience_interest_distribution`<br> `videos.audience_interest_distribution.<br>interest_tag` <br>`videos.audience_interest_distribution.<br>percentage`<br> `videos.daily_stats` <br>`videos.daily_stats.date`<br>`videos.daily_stats.views`<br> `videos.daily_stats.video_views_organic` <br>`videos.daily_stats.video_views_paid`<br>`videos.daily_stats.engagement_rate`<br> `videos.daily_stats.video_completion_rate`<br>`videos.daily_stats.likes`<br>`videos.daily_stats.comments`<br> `videos.daily_stats.shares` <br> `page_info` <br> `page_info.page` <br> `page_info.page_size`<br> `page_info.total_page`<br> `page_info.total_number`|
| 已弃用的返回参数| N/A |`insights`<br>`insights.dimensions`<br> `insights.dimensions.tcm_account_id`<br>`insights.dimensions.order_id` <br>`insights.dimensions.order_type`<br>`insights.dimensions.video_id`<br>`insights.dimensions.handle_name`<br>`insights.dimensions.video_first_release_time`<br>`insights.metrics`<br>`insights.metrics.video_boosted_date`<br>`insights.metrics.engagement_rate_benchmark_p25`<br>`insights.metrics.engagement_rate_benchmark_p50`<br>`insights.metrics.<br>most_popular_country_state_distribution`<br>`insights.metrics.most_popular_country_state_distribution.country`<br>`insights.metrics.most_popular_country_state_distribution.locale_distribution` <br>`insights.metrics.most_popular_country_state_distribution.locale_distribution.locale`<br>`insights.metrics.most_popular_country_state_distribution.locale_distribution.percentage`<br>`insights.metrics.<br>video_complete_rate_benchmark_p25`<br>`insights.metrics.<br>video_complete_rate_benchmark_p50`<br>`insights.metrics.<br>lifetime_top_country_distribution`<br>`insights.metrics.<br>lifetime_top_country_distribution.country`<br>`insights.metrics.<br>lifetime_top_country_distribution.percentage`<br>`insights.metrics.lifetime_device_distribution`<br>`insights.metrics.<br>lifetime_device_distribution.device`<br>`insights.metrics.<br>lifetime_device_distribution.percentage`<br>`insights.metrics.lifetime_gender_distribution`<br>`insights.metrics.lifetime_gender_distribution.<br>gender`<br>`insights.metrics.lifetime_gender_distribution.<br>percentage`<br>`insights.metrics.lifetime_top_age_distribution`<br>`insights.metrics.lifetime_top_age_distribution.<br>age`<br>`insights.metrics.lifetime_top_age_distribution.<br>percentage`<br>`insights.metrics.daily_stats.reach`|
| 新增返回参数 | N/A|`tto_tcm_account_id`<br> `campaign_id`<br>`country_code`<br>`videos`<br>`videos.video_info` <br>`videos.video_info.create_time`<br> `videos.video_info.embed_url`<br>`videos.video_info.thumbnail_url`<br>`videos.video_info.authorization_code`<br>`videos.creator_info`<br>`videos.creator_info.display_name`<br>`videos.creator_info.handle_name`<br>`videos.audience_genders_distribution`<br>`videos.audience_genders_distribution.gender`<br>`videos.audience_genders_distribution.percentage`<br>`videos.audience_countries_distribution`<br>`videos.audience_countries_distribution.country`<br>`videos.audience_countries_distribution.<br>percentage`<br>`videos.audience_age_distribution`<br>`videos.audience_age_distribution.age`<br>`videos.audience_age_distribution.percentage`<br>`videos.audience_device_distribution`<br>`videos.audience_device_distribution.device`<br>`videos.audience_device_distribution.percentage`<br>`videos.audience_locale_distribution`<br>`videos.audience_locale_distribution.locale`<br>`videos.audience_locale_distribution.percentage`<br>`videos.likes_paid`<br>`videos.likes_organic`<br>`videos.comments_paid`<br>`videos.comments_organic`<br>`videos.shares_paid`<br>`videos.shares_organic`<br>`videos.engagement_rate_paid`<br>`videos.engagement_rate_organic`<br>`videos.anchor_metrics`<br>`videos.anchor_metrics.anchor_views`<br>`videos.anchor_metrics.anchor_clicks`<br>`videos.anchor_metrics.anchor_unique_views`<br>`videos.anchor_metrics.anchor_unique_clicks`<br>`videos.anchor_id`<br>`campaign_type`<br>`campaign_channel_type`<br>`ad_impressions`<br>`ad_cost`<br>`ad_cpa`<br>`ad_ctr`<br>`ad_cvr`<br>`reach_organic`<br>`reach_paid`<br>`video_completion_rate_organic`<br>`video_completion_rate_paid`<br>`average_view_time_organic`<br>`average_view_time_paid`<br>`organic_two_seconds_views`<br>`paid_two_seconds_views`<br>`organic_six_seconds_views`<br>`paid_six_seconds_views`<br>`audience_language_distribution`<br>`language`<br>`percentage`<br>`videos.daily_stats.engagement_rate_organic`<br>`videos.daily_stats.engagement_rate_paid`<br>`videos.daily_stats.likes_organic`<br>`videos.daily_stats.likes_paid`<br>`videos.daily_stats.comments_organic`<br>`videos.daily_stats.comments_paid`<br>`videos.daily_stats.shares_organic`<br>`videos.daily_stats.shares_paid`<br>`videos.favorites`<br>`videos.favorites_organic`<br>`videos.favorites_paid`<br>`videos.daily_stats.favorites`<br>`videos.daily_stats.favorites_organic`<br>`videos.daily_stats.favorites_paid`|

请求

地址 https://business-api.tiktok.com/open_api/v1.3/tto/tcm/report/

方法 GET

Header

|字段{30%}|类型{15%}|描述{55%}|
|---|---|---|
|Access-Token {必填}|string|经 TikTok One Creator Marketplace 账号授权的访问令牌。<br>可以通过[获取访问令牌](1825117875361793.html)接口获取。|
|Country-Code {必填}|string|与 TikTok One Creator Marketplace 营销活动相关的国家或地区代码 (`campaign_id`)。<br><br>若想获取与 TikTok One Creator Marketplace 营销活动相关的合法国家或地区代码,需使用 [/tto/tcm/campaign/](1815693562720258.html) 接口,并从返回的 `country_codes` 中选择一个代码。 |

参数

|字段{30%}|类型{15%}|描述{55%}|
|--- |--- |--- |
| tto_tcm_account_id {必填} | string | TikTok One Creator Marketplace 账号的 ID。<br><br>若想获取可通过 `Access-Token` 访问的账号的 ID,需使用 [/tto/oauth2/tcm/](1815693478150146.html) 接口。 |
|campaign_id {必填} | string | 包含[营销活动层级邀请链接](https://business-api.tiktok.com/portal/docs?id=1830337139853313#item-link-Campaign-level%20invite%20link)或[品牌层级邀请链接](https://business-api.tiktok.com/portal/docs?id=1830337139853313#item-link-Brand-level%20invite%20link)的 TikTok One Creator Marketplace 营销活动 ID。<br><br>若想创建营销活动并获取营销活动 ID,需使用 [/tto/tcm/campaign/create/](1815693549459458.html) 接口。 |
| start_date {+条件必填} | string | 当传入 `end_date` 时必填。 <br><br>  <ul><li>如果传入 `start_date` 和 `end_date`,返回结果将包含 `daily_stats` 参数,该参数表示传入时间范围内的每日指标。</li><li>如果不传入 `start_date` 和 `end_date`,返回结果将不包含每日指标 (`daily_stats`)。</li></ul> <br>报告开始日期,格式为 `YYYY-MM-DD`(UTC+0 时间)。  <br><br>`start_date` 不得早于营销活动的创建时间。若想获取营销活动创建时间,需查看 [/tto/tcm/campaign/create/](1815693549459458.html) 或 [/tto/tcm/campaign/](1815693562720258.html) 接口返回的 `create_time`。<br><br>示例:`2024-01-01`。 |
| end_date {+条件必填} | string | 当传入 `start_date` 时必填。<br><br>  <ul><li>如果传入 `start_date` 和 `end_date`,返回结果将包含 `daily_stats` 参数,该参数表示传入时间范围内的每日指标。</li><li>如果不传入 `start_date` 和 `end_date`,返回结果将不包含每日指标 (`daily_stats`)。</li></ul> <br>报告结束日期,格式为 `YYYY-MM-DD`(UTC+0 时间)。<br><br>示例:`2024-02-01`。 |
| page | integer | 当前页码。<br>此字段用于传入要获取结果的页码。页数由记录总数和 `page_size` 共同确定。<br><br>默认值:1。<br>值范围:≥ 1。 |
|page_size|integer|页面大小。<br>此字段用于传入希望在每个请求中获取的记录数量(与已传入营销活动 ID 关联的视频的效果指标)。<br><br>默认值:25。<br>值范围:1-100。|

示例

(code curl http)
curl --location --request GET 'https://business-api.tiktok.com/open_api/v1.3/tto/tcm/report/?tto_tcm_account_id={{tto_tcm_account_id}}&campaign_id={{campaign_id}}&start_date=2024-09-25&end_date=2024-09-27' \
--header 'Access-Token: {{Access-Token}}' \
--header 'Country-Code: {{Country-Code}}' \
(/code)

返回

|字段{30%}|类型{15%}|描述{55%}|
|---|---|---|
|code |number|返回码。完整返回码列表及描述参见[附录 - 返回码](https://ads.tiktok.com/marketing_api/docs?id=1737172488964097)。 |
|message|string|返回信息。更多信息参见[附录 - 返回码](https://ads.tiktok.com/marketing_api/docs?id=1737172488964097)。|
|request_id |string|请求的日志 ID,唯一标识一个请求。  |
|data |object|返回数据。|
#| tto_tcm_account_id | string | TikTok One Creator Marketplace 账号的 ID。 |
#| campaign_id | string | TikTok One Creator Marketplace 营销活动的 ID。 |
#| country_code | string | 与 TikTok One Creator Marketplace 营销活动相关的国家或地区代码。 |
#| campaign_type | string | TTO Creator Marketplace 营销活动的类型。<br><br>枚举值:<ul><li>`CAMPAIGN`:有[营销活动层级邀请链接](https://business-api.tiktok.com/portal/docs?id=1830337139853313#item-link-Campaign-level%20invite%20link)的营销活动。</li><li>`BRAND_LINK`:有[品牌层级邀请链接](https://business-api.tiktok.com/portal/docs?id=1830337139853313#item-link-Brand-level%20invite%20link)的营销活动。</li></ul> |
#|campaign_channel_type|string|创建营销活动的渠道类型。<br><br>枚举值: <ul><li>`STANDARD_CAMPAIGN`:在 TikTok One 平台上创建的标准营销活动。</li><li>`LITE_CAMPAIGN`:在 TikTok One 平台上创建的精简版营销活动。</li><li>`API_LITE_CAMPAIGN`:通过 API 创建的精简版营销活动。</li></ul>|
#| page_info | object | 分页信息。 |
##| page | integer | 当前页码。 |
##| page_size | integer | 当前页面大小。 |
##| total_page | integer | 页面总数。 |
##| total_number | integer | 视频总数。<br><br><p><span style="color:darkred"><b>注意</b></span>:此数值因国家/地区而异,具体取决于 Header 参数 `Country-Code`。例如,如果营销活动包含 2 个在美国发布的视频和 1 个在加拿大发布的视频,当 `Country-Code` 设置为 `US` 时,`total_number` 将为 2,当设置为 `CA` 时,其值将为 1。 |
#| videos | object[] | 已关联 TikTok One Creator Marketplace 营销活动的视频列表。 |
##| video_info | object | 视频相关信息。 |
###| create_time | string | 视频发布时间,格式为 `YYYY-MM-DD HH:MM:SS`(UTC+0 时间)。<br><br>示例:`2024-01-01 00:00:01`。 |
###| embed_url | string | TikTok 视频的可嵌入链接。此 URL 可用于在外部网站或应用中嵌入 TikTok 视频。<br><br>示例:`https://v77.tiktokcdn.com/&#123;&#123;embed_url&#125;&#125;`。 |
###| thumbnail_url | string | 视频缩略图的临时 URL。过期日期和时间包含在 `x-expires` 查询参数中,采用 Epoch/Unix 时间格式,以秒为单位。<br><br>示例:`https://p16-sign-va.tiktokcdn.com/obj/tos-maliva-p-0068/12345678a12e3456a02017dcf822217e_1725607566?lk3s=c6b69ba0&nonce=51584&refresh_token=73f581ee21c7de32951926a0104f51a2&x-expires=1729173600&x-signature=vIBf8%2Bmp4%2FxXQpKrca1B5%2B%2FfpTU%3D&shp=c6b69ba0&shcp=-`。 |
###| video_id | string | 视频的唯一识别 ID。 |
###| authorization_code | string | 视频的 Spark Ads 授权码。 |
##| reach_organic | integer | 自然流量覆盖人数(去重观众人数)。<br>通过自然流量至少观看过一次视频的预估去重观众人数。 |
##| reach_paid | integer | 付费流量覆盖人数(去重观众人数)。<br>通过付费流量至少观看过一次视频的预估去重观众人数。 |
##| video_completion_rate_organic | double | 自然流量视频完播率。<br>观看完整视频的观众百分比。计算方法是完整播放视频的次数除以视频总播放量。 |
##| video_completion_rate_paid | double | 付费流量视频完播率。<br>观看完整视频的观众百分比。计算方法是完整播放视频的次数除以视频总播放量。 |
##| average_view_time_organic | double | 自然流量视频的平均播放时长,以秒为单位。<br>观众观看视频的平均时长。计算方法是视频的自然流量总播放时长除以视频总播放量。 |
##| average_view_time_paid | double | 付费流量视频的平均播放时长,以秒为单位。<br>观众观看视频的平均时长。计算方法是视频的付费流量总播放时长除以视频总播放量。 |
##| organic_two_seconds_views | double | 自然流量视频播放 2 秒次数。<br>至少播放 2 秒的播放次数占比。计算方法是播放时长超过 2 秒的自然播放次数除以总自然播放次数。 |
##| paid_two_seconds_views | double | 付费流量视频播放 2 秒次数。<br>至少播放 2 秒的播放次数占比。计算方法是播放时长超过 2 秒的付费播放次数除以总付费播放次数。 |
##| organic_six_seconds_views | double | 自然流量视频播放 6 秒次数。<br>至少播放 6 秒的播放次数占比。计算方法是播放时长超过 6 秒的自然播放次数除以总自然播放次数。 |
##| paid_six_seconds_views | double | 付费流量视频播放 6 秒次数。<br>至少播放 6 秒的播放次数占比。计算方法是播放时长超过 6 秒的付费播放次数除以总付费播放次数。 |
##| audience_language_distribution | object[] | 按受众所在国家/地区划分的视频播放量分布情况。<br>每日更新。 |
###| language | string | 表示用户配置的浏览语言的语言代码。你可以通过 [/tool/language/](1737188554152962.html) 接口,使用此值将语言代码映射到相应的语言。<br>示例:`en`。 |
###| percentage | double | 使用某个语言的受众所占的百分比。<br>示例:`0.10526315789473684`。<br>值为 0.10526315789473684 表示约 10.52%。 |
##| creator_info | object | TikTok 达人相关信息。 |
###| display_name | string | 达人的显示名称。 |
###| handle_name | string | 达人的用户名。 |
##| ad_clicks | float | 你的广告获得的点击次数。 |
##| ad_conversions | float | 按照你所选的推广目标和设置,广告取得成效的次数。<br><br><p><span style="color:darkred"><b>注意</b></span>:此字段基于所选的推广目标和设置。 |
##|ad_cost|double|广告消耗。<br>你在排期内花费在营销活动、广告组或广告上的总金额的估计值。<br><br>实时更新。|
##|ad_cpa|double|平均转化成本。<br>你在付费转化上花费的平均金额。<br><br>实时更新。|
##| ad_cpc | float | 你为单次付费点击平均花费的金额。 |
##| ad_cpm | float | 你为每 1,000 次付费展示平均花费的金额。 |
##|ad_ctr|double|CTR(目标页面)。<br>用户看到你的广告并进行点击的次数的百分比。<br><br>实时更新。|
##|ad_cvr|double|转化率 (CVR)。<br>转化次数占广告获得的总展示次数的百分比。<br><br>实时更新。|
##|ad_impressions|integer|展示量。<br>你的广告出现在屏幕上的次数。<br><br>实时更新。|
##| video_views | integer | 总播放量。<br>视频的总播放次数。<br><br>实时更新 |
##| video_views_organic | integer | 自然流量视频播放量。<br>通过自然流量而非 [Spark Ads](1739470744631298.html) 获得的总播放次数。<br><br>实时更新 |
##| video_views_paid | integer | 付费播放量。<br>通过 [Spark Ads](1739470744631298.html) 获得的总播放次数。<br><br>实时更新 |
##| reach | integer | 覆盖人数(去重观众人数)。<br>至少观看过视频一次的预估去重用户数。<br><br>每日更新 |
##| engagement_count | integer | 互动数。<br>点赞 (`likes`)、分享 (`shares`) 和评论 (`comments`) 总数。<br><br>实时更新 |
##| engagement_rate | double | 互动率,计算方法是互动数 (`engagement_count`) 除以视频总播放量 (`video_views`)。<br><br>实时更新 |
##| engagement_rate_organic | double| 自然流量互动率。<br>通过自然流量与营销活动或视频互动过的观众百分比。该值的计算方法是原生互动(点赞、评论和分享)次数除以原生视频总播放量。<br><br>实时更新 |
##| engagement_rate_paid | double| 付费流量互动率。<br>通过 Spark Ads 与营销活动或视频互动过的观众百分比。该值的计算方法是付费互动(点赞、评论和分享)次数除以视频投流总播放量。<br><br>实时更新 |
##| video_completion_rate | double | 视频完成率,计算方法是视频总完播次数除以视频总播放量 (`video_views`)。<br><br>在帖子创建后 7 天内实时更新,7 天后每日更新 |
##| likes | integer | 点赞数。<br>与视频相关的点赞总数。<br><br>实时更新 |
##| likes_organic |integer | 自然流量点赞数。<br>通过非付费(自然)流量获得的总点赞次数。<br><br>实时更新 |
##| likes_paid |integer | 付费点赞数。<br>通过 Spark Ads 获得的总点赞次数。<br><br>实时更新 |
##| comments | integer | 评论数。<br>与视频相关的评论总数。<br><br>实时更新 |
##| comments_organic | integer | 自然流量评论数。<br>通过非付费(自然)流量获得的总评论次数。<br><br>实时更新 |
##| comments_paid | integer| 付费评论数。<br>通过 Spark Ads 获得的总评论次数。<br><br>实时更新 |
##| shares | integer | 分享数。<br>与视频相关的分享总数。<br><br>实时更新 |
##| shares_organic | integer | 自然流量分享数。<br>通过非付费(自然)流量获得的总分享次数。<br><br>实时更新 |
##| shares_paid | integer | 付费分享数。<br>通过 Spark Ads 获得的总分享次数。<br><br>实时更新 |
##|favorites|integer|收藏数。<br>视频获得的总收藏数。<br><br>每日更新|
##|favorites_organic|integer|自然流量收藏数。<br>视频通过非付费(自然)流量获得的总收藏次数。<br><br>每日更新|
##|favorites_paid|integer|付费流量收藏数。<br>视频通过 Spark Ads 获得的总收藏次数。<br><br>每日更新|
##| total_play_time | integer | 总播放时间,以秒为单位。<br>用户观看视频时花费的总时间。<br><br>在帖子创建后 7 天内实时更新,7 天后每日更新 |
##| average_view_time | double | 平均播放时长,以秒为单位。<br>用户观看视频的平均时间,计算方法是总播放时间 (`total_play_time`) 除以播放次数 (`video_views`)。<br><br>在帖子创建后 7 天内实时更新,7 天后每日更新 |
##| two_seconds_views | double | 视频播放 2 秒次数。<br>至少播放 2 秒的播放次数占比,计算方法是播放时间超过 2 秒的播放次数除以总播放次数 (`video_views`)。<br><br>每日更新 |
##| six_seconds_views | double | 视频播放 6 秒次数。<br>至少播放 6 秒的播放次数占比,计算方法是播放时间超过 6 秒的播放次数除以总播放次数 (`video_views`)。<br><br>每日更新 |
##| video_view_retention | double[] | 数字列表,表示每一秒的视频留存率。<br><br>例如,值 `[1, 0.61, 0.27, 0.2, 0.16, 0.14, 0.11, 0.09, 0.08, 0.07, 0.07, 0.06, 0.05, 0.05, 0.05, 0.04, 0.04]` 表示在第 1 秒,视频留存率从 100% 降至 61%。<br><br>在帖子创建后 7 天内实时更新,7 天后每日更新 |
##| video_views_by_source | object | 播放来源。<br>按观众接触到视频的方式得到的细分数据。<br><br>在帖子创建后 7 天内实时更新,7 天后每日更新 |
###| for_you | integer | 来自推荐页的视频播放量。 |
###| hashtag | integer| 来自话题的视频播放量。 |
###| sound | integer| 来自音乐的视频播放量。 |
###| personal_profile | integer | 来自个人主页的视频播放量。 |
###| search | integer | 来自搜索的视频播放量。 |
###| following | integer | 来自关注用户的视频播放量。 |
###| other | integer | 来自其他渠道的视频播放量。 |
##| audience_genders_distribution | object[] | 观众中男性和女性用户的细分数据。<br><br>每日更新|
###| gender | string | 性别。<br><br>枚举值:<ul><li> `FEMALE`:女性。 </li><li> `MALE`:男性。 </li></ul><br><p><span style="color:darkred"><b>注意</b></span>:如果系统无法确定性别,此字段可能会返回 `null`。  |
###| percentage | double | 百分比。 |
##| audience_countries_distribution | object[] | 按受众所在国家/地区划分的视频播放量分布情况。<br><br>每日更新 |
###| country | string | 国家或地区代码。<br><br>示例:`US`。 |
###| percentage | double | 百分比。 |
##| audience_age_distribution | object[] | 按年龄组细分的观众数据。<br><br>每日更新 |
###| age | string | 年龄组。<br><br>枚举值:<ul><li>`1`:13-17 岁。 </li><li>`2`:18-24 岁。</li><li>`3`:25-34 岁。</li><li> `4`:35-44 岁。 </li><li>`5`:45-54 岁。</li><li>`6`:55 岁以上。 </li></ul>|
###| percentage | double | 百分比。 |
##| audience_device_distribution | object[] | 按操作系统细分的观众数据。<br><br>每日更新 |
###| device | string | 设备操作系统。<br><br>枚举值:<ul><li>`android`:Android。</li><li>`ios`:iOS。</li></ul>|
###| percentage | double | 百分比。 |
##| audience_locale_distribution | object[] | 按国家或地区州级区域细分的观众数据。<br><br>仅适用于美国。<br><br>每日更新 |
###| locale | string | 州级区域。<br><br>枚举值参见[地区 ID](1739311040498689.html)。 |
###| percentage | double | 百分比。<br>州 (`locale`) 的总观看人数除以该国家或地区的总观看人数。 |
##| audience_interest_distribution | object[] | 按兴趣类别细分的观众数据。<br><br>每日更新 |
###| interest_tag | string | 兴趣类别 ID。<br><br>如需了解每个兴趣类别 ID 对应的兴趣类别名称,参见<a href="#item-link-Mapping between interest category ID and name">兴趣类别 ID 与名称映射</a>。 |
###| percentage | double | 百分比。 |
##|anchor_id|string|与营销活动关联的锚点 ID。|
##|anchor_metrics|object|锚点指标。|
###|anchor_views|number|锚点浏览量。<br>锚点的总浏览次数。|
###|anchor_clicks|number|锚点点击量。<br>锚点的总点击次数。|
###|anchor_unique_views|number|去重锚点浏览量。<br>浏览过锚点的去重观众数量。|
###|anchor_unique_clicks|number|去重锚点点击量。<br>不同用户点击锚点的次数。|
##| daily_stats | object[] | 每日细分统计数据。<br><br><p><span style="color:darkred"><b>注意</b></span>: <ul><li>`daily_stats` 仅显示近 90 天的数据。如果传入的 `start_date` 和 `end_date` 不在近 90 天的时间范围内,`daily_stats` 将返回空值。</li><li>我们不会使用任何默认值(例如 0)来填充缺失的指标。因此,如果某一天缺少某一项指标,即代表相关数据不可用。</li></ul> |
###| date | string | 日期,格式为 `YYYY-MM-DD`(UTC+0 时间)。 |
###| views | integer | 总播放量。<br>在该日期,视频的总播放次数。 |
###| video_views_organic | integer | 自然流量视频播放量。<br>在该日期,通过自然流量而非 [Spark Ads](https://business-api.tiktok.com/portal/docs/create-spark-ads/v1.3) 获得的总播放次数。 |
###| video_views_paid | integer | 付费播放量。<br>在该日期,通过 [Spark Ads](https://business-api.tiktok.com/portal/docs/create-spark-ads/v1.3) 获得的总播放次数。 |
###| engagement_rate | double | 互动率,计算方法是该日期的点赞 (`likes`)、分享 (`shares`) 和评论 (`comments`) 的总次数除以总播放次数 (`views`)。 |
###|engagement_rate_organic|double|自然流量互动率。<br>在该日期,通过自然流量而非 [Spark Ads](https://business-api.tiktok.com/portal/docs/create-spark-ads/v1.3) 获得的互动率。|
###|engagement_rate_paid|double|付费流量互动率。<br>在该日期,通过 [Spark Ads](https://business-api.tiktok.com/portal/docs/create-spark-ads/v1.3) 获得的互动率。|
###| video_completion_rate | double | 视频完成率,计算方法是该日期的视频总完播次数除以视频总播放量 (`views`)。 |
###| likes | integer | 点赞数。<br>在该日期,与视频相关的点赞总数。 |
###|likes_organic|integer|自然流量点赞数。<br>在该日期,通过自然流量而非 [Spark Ads](https://business-api.tiktok.com/portal/docs/create-spark-ads/v1.3) 获得的总点赞次数。|
###|likes_paid|integer|付费点赞数。<br>在该日期,通过 [Spark Ads](https://business-api.tiktok.com/portal/docs/create-spark-ads/v1.3) 获得的总点赞次数。|
###| comments | integer | 评论数。<br>在该日期,与视频相关的评论总数。 |
###|comments_organic|integer|自然流量评论数。<br>在该日期,通过自然流量而非 [Spark Ads](https://business-api.tiktok.com/portal/docs/create-spark-ads/v1.3) 获得的总评论次数。|
###|comments_paid|integer|付费评论数。<br>在该日期,通过 [Spark Ads](https://business-api.tiktok.com/portal/docs/create-spark-ads/v1.3) 获得的总评论次数。|
###| shares | integer | 分享数。<br>在该日期,与视频相关的分享总数。 |
###|shares_organic|integer|自然流量分享数。<br>在该日期,通过自然流量而非 [Spark Ads](https://business-api.tiktok.com/portal/docs/create-spark-ads/v1.3) 获得的总分享次数。|
###|shares_paid|integer|付费分享数。<br>在该日期,通过 [Spark Ads](https://business-api.tiktok.com/portal/docs/create-spark-ads/v1.3) 获得的总分享次数。|
###|favorites|integer|收藏数。<br>在该日期,视频获得的总收藏次数。|
###|favorites_organic|integer|自然流量收藏数。<br>在该日期,视频通过自然流量而非 [Spark Ads](https://business-api.tiktok.com/portal/docs/create-spark-ads/v1.3) 获得的总收藏次数。|
###|favorites_paid|integer|付费流量收藏数。<br>在该日期,视频通过 [Spark Ads](https://business-api.tiktok.com/portal/docs/create-spark-ads/v1.3) 获得的总收藏次数。|

兴趣类别 ID 与名称映射

| 兴趣类别 ID<br>(<code>interest_id</code>){30%} | 兴趣类别名称{70%}  |
|---|---|
| 10 | 教育 |
| 11 | 车辆与运输 |
| 12 | 母婴儿童 |
| 13 | 金融服务 |
| 14 | 美妆个护 |
| 15 | 科技和电子产品 |
| 16 | 家电 |
| 17 | 旅行 |
| 18 | 家居用品 |
| 19 | 宠物 |
| 20 | 应用 |
| 21 | 家居装修 |
| 22 | 服装配饰 |
| 23 | 资讯娱乐 |
| 24 | 商务服务 |
| 25 | 游戏 |
| 26 | 生活服务 |
| 27 | 食品饮料 |
| 28 | 运动户外 |
| 29 | 医疗健康 |
| 30 | 电商(非应用) |

示例

(code Success-Response http)
HTTPS/1.1 200 OK
{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "campaign_channel_type": "API_LITE_CAMPAIGN",
        "campaign_id": "{{campaign_id}}",
        "campaign_type": "CAMPAIGN",
        "page_info": {
            "page": 1,
            "page_size": 25,
            "total_number": 1,
            "total_page": 1
        },
        "tto_tcm_account_id": "{{tto_tcm_account_id}}",
        "videos": [
            {
                "ad_cost": 0,
                "ad_cpa": 0,
                "ad_ctr": 0,
                "ad_cvr": 0,
                "ad_impressions": 0,
                "ad_roas": 0,
                "anchor_id": null,
                "anchor_metrics": null,
                "audience_age_distribution": [
                    {
                        "age": "4",
                        "percentage": 0.625
                    },
                    {
                        "age": "3",
                        "percentage": 0.375
                    }
                ],
                "audience_countries_distribution": [
                    {
                        "country": "US",
                        "percentage": 0.7142857142857143
                    },
                    {
                        "country": "GB",
                        "percentage": 0.14285714285714285
                    },
                    {
                        "country": "SA",
                        "percentage": 0.14285714285714285
                    }
                ],
                "audience_device_distribution": [
                    {
                        "device": "ios",
                        "percentage": 1
                    },
                    {
                        "device": "android",
                        "percentage": 0
                    }
                ],
                "audience_genders_distribution": [
                    {
                        "gender": "MALE",
                        "percentage": 0.875
                    },
                    {
                        "gender": "FEMALE",
                        "percentage": 0.125
                    }
                ],
                "audience_interest_distribution": [
                    {
                        "interest_tag": "14",
                        "percentage": 0.047619047619047616
                    },
                    {
                        "interest_tag": "18",
                        "percentage": 0.047619047619047616
                    },
                    {
                        "interest_tag": "11",
                        "percentage": 0.047619047619047616
                    },
                    {
                        "interest_tag": "10",
                        "percentage": 0.047619047619047616
                    },
                    {
                        "interest_tag": "17",
                        "percentage": 0.047619047619047616
                    },
                    {
                        "interest_tag": "20",
                        "percentage": 0.047619047619047616
                    },
                    {
                        "interest_tag": "21",
                        "percentage": 0.047619047619047616
                    },
                    {
                        "interest_tag": "22",
                        "percentage": 0.047619047619047616
                    },
                    {
                        "interest_tag": "26",
                        "percentage": 0.047619047619047616
                    },
                    {
                        "interest_tag": "30",
                        "percentage": 0.047619047619047616
                    }
                ],
                "audience_locale_distribution": null,
                "average_view_time": 3.63,
                "comments": 0,
                "comments_organic": null,
                "comments_paid": null,
                "creator_info": {
                    "display_name": "{{display_name}}",
                    "handle_name": "{{handle_name}}"
                },
                "daily_stats": null,
                "engagement_count": 0,
                "engagement_rate": 0,
                "engagement_rate_organic": null,
                "engagement_rate_paid": null,
                "likes": 0,
                "likes_organic": null,
                "likes_paid": null,
                "reach": 6,
                "shares": 0,
                "shares_organic": null,
                "shares_paid": null,
                "six_seconds_views": 0.2222222222222222,
                "total_play_time": 29,
                "two_seconds_views": 0.6666666666666666,
                "video_completion_rate": 0.5,
                "video_info": {
                    "create_time": "{{create_time}}",
                    "embed_url": "{{embed_url}}",
                    "thumbnail_url": "{{thumbnail_url}}",
                    "video_id": "{{video_id}}"
                },
                "video_view_retention": [
                    1,
                    1,
                    0.83,
                    0.67,
                    0.5
                ],
                "video_views": 6,
                "video_views_by_source": [
                    {
                        "source": "sound",
                        "video_views": 0
                    },
                    {
                        "source": "hashtag",
                        "video_views": 0
                    },
                    {
                        "source": "following",
                        "video_views": 0
                    },
                    {
                        "source": "for_you",
                        "video_views": 0
                    },
                    {
                        "source": "search",
                        "video_views": 3
                    },
                    {
                        "source": "personal_profile",
                        "video_views": 3
                    }
                ],
                "video_views_organic": 6,
                "video_views_paid": null
            }
        ]
    }
}
(/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 每日平台更新简报 →