TikTok Ads · UTM tracking

UTM Parameters for TikTok Ads

Quick answer

For TikTok Ads, tag every destination URL with utm_source=tiktok, utm_medium=paid-social (or cpc), and a clear utm_campaign, then add TikTok's dynamic macros like __CAMPAIGN_NAME__ and __AID__ to utm_content for ad-level detail. Build and track these for free with Track Link's UTM builder at /tools/utm-builder.

TikTok Ads Manager reports clicks its own way, but the moment a user taps your ad, TikTok's in-app browser strips the referrer, so your site analytics often label that traffic as "direct." UTM parameters are how you fix attribution at the source. This page covers the exact conventions for TikTok Ads, dynamic macros for ad-level detail, and copy-paste examples.

Why TikTok Ads need UTM parameters

TikTok's in-app browser drops the Referer header on outbound taps, so GA4, Plausible, and most analytics tools bucket paid TikTok clicks as direct/none unless the source is encoded in the URL itself. UTM parameters solve this: they live in the destination URL and survive the redirect. They also separate paid TikTok from organic TikTok (bio links, Spark Ads boosting creator videos), which native reporting blends together. And because iOS ATT and strict-mode browsers undercount the TikTok Pixel, a UTM-tagged tracked link gives you a deterministic, first-party click count to reconcile against Ads Manager. Without UTMs you are trusting one undercounted number; with them you get two sources that cross-check.

The correct UTM convention for TikTok Ads

Use utm_source=tiktok (always lowercase, since warehouses key on casing and TikTok vs tiktok creates duplicate sources). For utm_medium, pick one convention and never mix it: paid-social is the most descriptive, though cpc keeps GA4's default channel grouping happy. Set utm_campaign to a stable campaign name that matches what you typed in Ads Manager, e.g. spring-launch-2026. Reserve utm_content for the variable that changes per ad or ad group, the creative or audience. Keep utm_term for keyword-style targeting only, which most TikTok campaigns can skip. Decide these rules once and document them so every campaign tags identically.

Use TikTok's dynamic macros for ad-level detail

Hardcoding utm_content per ad does not scale. In Ads Manager, open the ad's Destination Page settings and add a URL Parameter, or paste macros directly into your tracked URL. TikTok replaces them at click time: __CAMPAIGN_NAME__, __AID_NAME__ (ad name), __AID__ (ad ID), __CID_NAME__ (ad group), __PLACEMENT__, and __CAMPAIGN_ID__. A practical pattern: utm_content=__AID_NAME__ so every creative variant self-labels, plus a separate parameter like ttclid for the click ID. Track Link captures whatever TikTok fills in, so you see exact ad-level attribution without building a URL by hand for every creative. TikTok also appends its own tt_medium and tt_content params on some placements; these are separate from yours and do not conflict.

Build, track, and reconcile for free

Use the free UTM builder at /tools/utm-builder to generate consistent TikTok Ads URLs, then wrap them as Track Link tracked links so every click is logged with country, region, device, browser, and the full UTM set, on the free plan (10 links, 2,500 clicks/month, no credit card). Run Track Link alongside the TikTok Pixel and Events API: Track Link gives you the deterministic click count, the Pixel fills in conversion events. Use the same utm_campaign on both so the two sources reconcile cleanly. When Ads Manager and your tracked clicks disagree, the gap is usually iOS ATT or pixel blocking, and the first-party number is the one to trust for click volume.

TikTok Ads UTM examples

Copy-paste conventions for common TikTok Ads campaigns.

Scenario
utm_source
utm_medium
utm_campaign
Standard In-Feed conversion campaign
tiktok
paid-social
spring-launch-2026
Ad-level tracking with dynamic macros (utm_content)
tiktok
cpc
retargeting-q2
Spark Ad boosting a creator video (keep paid separate from organic)
tiktok
spark-ads
creator-collab-may
TikTok Shop ad driving to your owned site
tiktok
tiktok-shop
product-drop-2026

FAQ

Frequently asked questions

What is the correct utm_source and utm_medium for TikTok Ads?

Use utm_source=tiktok in lowercase, since analytics warehouses key on casing and a mix of TikTok and tiktok shows up as two separate sources. For utm_medium, use paid-social for the clearest reporting, or cpc if you want GA4's default channel grouping to file it under Paid Social automatically. Pick one and apply it to every TikTok ad so your data stays consistent.

How do I track clicks at the individual ad level on TikTok?

Hardcoding a unique utm_content per ad does not scale, so use TikTok's dynamic macros. In Ads Manager add a URL Parameter or paste macros like __AID_NAME__ (ad name), __AID__ (ad ID), __CID_NAME__ (ad group), and __PLACEMENT__ into your URL. TikTok substitutes the real values at click time. Put __AID_NAME__ in utm_content and Track Link captures the exact ad behind every click automatically.

Why does my TikTok Ads traffic show as direct in GA4?

TikTok's in-app browser strips the Referer header on outbound taps, so GA4 sees no referrer and labels the visit direct/none. This is intentional on TikTok's side and there is no browser-level fix. The solution is to encode the source in the URL with UTM parameters: utm_source=tiktok and utm_medium=paid-social survive the redirect, so the click is correctly attributed to TikTok regardless of the missing referrer.

Does TikTok strip UTM parameters from ad destination URLs?

No. TikTok preserves UTM parameters and other query strings on ad destination URLs; the full URL resolves intact when a user taps the ad. TikTok does append its own tt_medium and tt_content parameters on some placements for internal tracking, but those are separate from your UTMs and do not overwrite or conflict with them. Track Link records both without collision.

What is the easiest free way to build and track TikTok Ads UTM links?

Use Track Link's free UTM builder at /tools/utm-builder to generate consistent, correctly tagged TikTok Ads URLs, then save them as tracked links. Every click is logged with country, device, browser, and the full UTM set on the free plan: 10 links and 2,500 clicks per month with no credit card. Run it alongside the TikTok Pixel using the same utm_campaign on both so click counts and conversions reconcile.

Should I use cpc or paid-social as the medium for TikTok Ads?

Both are valid; the choice depends on your reporting. cpc maps to GA4's built-in Paid Social channel grouping with no extra configuration, so dashboards classify the traffic automatically. paid-social is more human-readable and explicit about the channel. The only rule that matters is consistency: choose one convention, document it, and use it on every TikTok campaign so you never split one source across two mediums.

Track every TikTok Ads link for free

Build tagged links with the free UTM builder, then track clicks, sources, and conversions in real time. 10 links and 2,500 clicks/month free — no credit card.

Start tracking free