TikTok Ads: Tips and best practices#
Supported dimensions for different report types#
Each TikTok Ads report type supports different dimensions and combinations of dimensions. The links below will take you to the TikTok Ads documentation, where you can see the supported dimensions and dimension grouping for each report type.
Click the name of a report type to find out more:
Which metrics are available depends on the report type rather than on the data level. Engagement metrics such as Clicks (All), Anchor Clicks, and Paid Likes are only available in the Basic report type, and are not offered in the Audience, Playable Ads, or Dynamic Product Ads report types at any level.
Dimensions, by contrast, are restricted by data level. Ad-level dimensions are only available when the data level is Ad.
Finding a metric by its TikTok Ads Manager name#
Field names in Adverity are the names used by the TikTok Business API, which often differ from the labels shown in TikTok Ads Manager. Some frequently requested equivalents are:
Video Views in TikTok Ads Manager is
video_play_actions. There is no field namedvideo_views, and thevideo_views_p25tovideo_views_p100fields measure how far through a video was watched, not how many times it started.The Account name dimension is
advertiser_name.Purchase and conversion metrics are split by where the event was measured. Website conversions measured by the TikTok Pixel use the
complete_paymentfamily. Conversions sent through the Events API use theoffline_shopping_eventsfamily. In-app purchases usepurchaseandtotal_purchase.
Important
These families do not overlap and Adverity does not combine them. If you
move from the TikTok Pixel to the Events API, metrics based on
complete_payment return 0 from that point onwards, and you must
change your datastream to collect the offline_shopping_events family
instead.
Note
There is no metric for the total value of website purchases. The
complete_payment family provides a count, a cost per purchase, a rate, a
return on ad spend, and an average value per purchase, but not a summed
value. The offline family does provide a total.
Collecting reach and frequency#
TikTok calculates reach using a statistical model rather than by counting, and describes the resulting metrics as estimated. Reach, frequency, cost per 1,000 people reached, and average watch time per person are all produced this way.
Reach values cannot be added together. TikTok’s own example is that three ad groups that each reach two people give a campaign reach of four, not six, because the same person was reached by more than one of them.
The model runs separately for each breakdown you request, so the sum of a dimensional breakdown does not match the unsegmented total.
Understanding attribution settings#
TikTok records each conversion against exactly one touch point, so click, view, and engaged-view attributed conversions do not overlap.
The attribution settings of an ad group cannot be changed after the ad group is published. Ad groups created at different times can therefore use different attribution windows, which is a common reason for metrics being inconsistent across a long-running account.
Reporting on Smart+ campaigns#
TikTok returns creative information rather than ad information for Smart+ ads through its standard endpoint. Adverity collects Smart+ ad details separately so that ad names and identifiers are correct.
Select ad_id_v2 rather than ad_id to report on upgraded Smart+ ads. The
two cannot be used together, and ad-level attributes are not returned alongside
ad_id_v2.
Identifying the currency and time zone of your data#
Adverity collects monetary values in the currency of each advertiser and does
not convert them. Add the currency metric, or the advertiser_currency
field, so that each row identifies its own currency.
By default, TikTok reports metrics in the time zone of each advertiser, so
stat_time_day values are not comparable across advertisers in different
regions. Select Report metrics in UTC to collect all metrics in UTC+0
instead.