Skip to main content

Description

The Platform - TikTok dataset contains TikTok ad platform performance metrics at the hourly, ad-level granularity.

Partition Keys

  • identifier
  • date
💡 Note: Leverage partition keys when querying the table to improve query efficiency.

Primary Key

The concatenation of the following fields can be used as a primary key:
  • identifier
  • date
  • utc_hour
  • ad_id

Field Reference

OrderNameDescriptionType
1advertiserRockerbox Account IDstr
2typeThe dataset type (e.g., platform_data)str
3platformThe name of the ad platform (e.g., Adwords)str
4reportThe name of the dataset (e.g., platform_performance_adwords)str
5identifierThe unique identifier of the account in the advertising platformstr
6dateThe date that the action occureddate
7utc_hourThe UTC hour that the action occuredint
8tier_1Marketing channel categorization level 1str
9tier_2Marketing channel categorization level 2str
10tier_3Marketing channel categorization level 3str
11tier_4Marketing channel categorization level 4str
12tier_5Marketing channel categorization level 5str
13mta_tiers_join_keyThe unique identifier used to pull spend from an advertisting platform. This is typically the ad_id, but may differ based on your account setupstr
14campaign_nameThe name of the campaign. A campaign is made up of a series of ad groups, each with its own unique targeting settings, optimization goals, budgets, and adsstr
15campaign_idThe unique identifier of the campaignstr
16adgroup_nameThe name of the ad group. An ad group relates to one campaign and contains a set of similar adsstr
17adgroup_idThe unique identifier of the ad groupstr
18ad_nameThe name of the adstr
19ad_idThe unique identifier of the adstr
20spendThe estimated total amount of money you’ve spent on your campaign, ad set or ad during its schedule in the ad platform account’s local currencyfloat
21currency_codeThe local currency of your account in the ad platform (e.g., EUR, USD)str
22spend_usdThe estimated total amount of money you’ve spent on your campaign, ad set or ad during its schedule in USD.float
23clicksClicks recorded to CTA button, ad caption, nickname, profile picture, and swipe-leftint
24impressionsThe number of times your ads were on screenint
25followsThe number of new followers that were gained within 1 day of a user seeing a paid adint
26likesThe number of likes the video creative received within 1 day of a user seeing a paid adint
27commentsThe number of comments your video creative received within 1 day of a user seeing a paid adint
28reachThe number of unique users who saw your ads at least once. This metric is estimatedint
29frequencyThe average number of times each person saw your adfloat
30sharesThe number of times your video creative was shared within 1 day of a user seeing a paid adint
31profile_visitsThe number of profile visits the paid ad drove during the campaignint
32secondary_goal_resultThe number of times your ad achieved an outcome, based on the secondary goal you selected.int
33video_play_actionsThe number of times your video starts to play. Replays will not be countedint
34average_video_playThe average time your video was played per single video view, including any time spent replaying the videofloat
35average_video_play_per_userThe average amount of time your video ads played per person. Including anytime spent replaying the videofloat
36video_watched_2sNumber of times your video was played for at least 2 seconds. Replays will not be countedint
37video_watched_6sNumber of times your video was played for at least 6 seconds. Replays will not be countedint
38video_views_p25The number of times your video was played at 25% of its length. Replays will not be countedint
39video_views_p50The number of times your video was played at 50% of its length. Replays will not be countedint
40video_views_p75The number of times your video was played at 75% of its length. Replays will not be countedint
41video_views_p100The number of times your video was played at 100% of its length. Replays will not be countedint
42clicks_on_music_discThe number of clicks recorded to Music Disc icon and Music titleint
43conversionsThe number of times your ad achieved an outcome based on the objective and settings you selecteddict
44rb_sync_idIdentifier used by Rockerbox to sync dataset to your warehousestr
45updated_attimestamp

Nested Fields

The following fields are nested JSON objects keyed by Facebook conversion event name:
  • conversions

Example Stored Object

{
  "conversion": 5,
  "real_time_conversion": 3,
  "real_time_result": 13,
  "result": 20
}

Nested Field Definitions

  • conversion — attributed conversion events based on the ad group’s configured attribution window (finalized reporting metric).
  • real_time_conversion — near real-time conversion events reported before the full attribution window has matured; primarily used for in-flight pacing, rapid performance checks, and short-term bid/budget adjustments.
  • result — Attributed events tied specifically to the campaign’s selected optimization objective (the primary KPI metric).
  • real_time_result — near real-time version of the objective-based result metric; used by marketers to monitor live optimization performance and make same-day creative or budget decisions.

Snowflake - Querying Nested Fields

Extract a Single Event

select
  date,
  ad_id,
  click_1d:"purchase"::number as purchase_click_1d,
  click_1d_value:"purchase"::float as purchase_value_click_1d
from <database>.<schema>.<table_name>;

Flatten All Events Into Rows

select
  t.date,
  t.ad_id,
  f.key as conversion_event,
  f.value::number as conversions_click_1d
from <database>.<schema>.<table_name> t,
  lateral flatten(input => t.click_1d) f;

Redshift - Querying Nested Fields (SUPER type)

Extract a Single Event

select
  date,
  ad_id,
  click_1d['purchase']::int as purchase_click_1d,
  click_1d_value['purchase']::decimal(18,4) as purchase_value_click_1d
from <database>.<schema>.<table_name>;

Flatten All Events Into Rows

select
select
  t.date,
  t.ad_id,
  kv.key as conversion_event,
  kv.value::int as conversions_click_1d
from <database>.<schema>.<table_name> t,
  t.click_1d as kv;

BigQuery - Querying Nested Fields (JSON type)

Extract a Single Event

select
  date,
  ad_id,
  cast(json_value(click_1d, '$.purchase') as int64) as purchase_click_1d,
  cast(json_value(click_1d_value, '$.purchase') as float64) as purchase_value_click_1d
from <project_id>.<dataset>.<table_name>;

Flatten All Events Into Rows

select
  t.date,
  t.ad_id,
  k as conversion_event,
  cast(json_value(t.click_1d, concat('$.', k)) as int64) as conversions_click_1d
from <project_id>.<dataset>.<table_name> t,
unnest(json_keys(t.click_1d)) as k;