TikTok has become one of the largest paid acquisition channels for DTC brands, app marketers, and digital creators.
However, media buyers frequently run into a major measurement obstacle: TikTok ad clicks showing up as "Direct Traffic" or "Unattributed" in Google Analytics 4.
Because TikTok opens links inside its custom in-app browser, the default HTTP referrer header is frequently stripped or modified. If your destination URL does not include explicit UTM parameters, your analytics software has no way of knowing the visitor came from a paid TikTok ad.
Here is the exact UTM parameter structure you should use for TikTok Ads Manager campaigns.
Recommended TikTok Ads UTM Parameter Template
Copy and paste this standard query string template into the Website URL or URL Parameters field in TikTok Ads Manager:
?utm_source=tiktok&utm_medium=cpc&utm_campaign=__CAMPAIGN_NAME__&utm_term=__AID_NAME__&utm_content=__CID_NAME__
Parameter Breakdown:
utm_source=tiktok: Identifies the traffic platform. Keep this lowercase and consistent across all TikTok campaigns.utm_medium=cpc(orpaid_social): Identifies the channel type. Usingcpcorpaid_socialensures GA4 groups the session under Paid Social acquisition channels.utm_campaign=__CAMPAIGN_NAME__: Dynamically pulls your exact TikTok campaign name.utm_term=__AID_NAME__: Dynamically pulls your TikTok Ad Group name (targeting/audience).utm_content=__CID_NAME__: Dynamically pulls your specific Ad Creative name.
Build custom tracking URLs in seconds using our free UTM Builder.
Supported TikTok Dynamic Macro Tokens
TikTok Ads Manager supports several dynamic parameters (macros) enclosed in double underscores. When a user clicks your ad, TikTok automatically replaces these tokens with real values:
| Macro Token | Output Description |
|---|---|
__CAMPAIGN_NAME__ |
Name of the Campaign |
__CAMPAIGN_ID__ |
Unique ID of the Campaign |
__AID_NAME__ |
Name of the Ad Group |
__AID__ |
Unique ID of the Ad Group |
__CID_NAME__ |
Name of the individual Ad Creative |
__CID__ |
Unique ID of the individual Ad Creative |
__PLACEMENT__ |
Specific placement (e.g., TikTok, Pangle) |
Common TikTok Tracking Pitfalls to Avoid
1. Inconsistent Source Naming
Avoid mixing utm_source=TikTok, utm_source=tiktok_ads, and utm_source=tt. Pick utm_source=tiktok and stick with it across all campaigns to avoid fragmented GA4 reports.
2. Forgetting to Track In-App Browser Leaks
In-app browsers can silently drop sessions. Learn how to prevent attribution loss in our dedicated guide on how to track TikTok ad clicks and our analysis of in-app browser revenue leaks.
3. Spaces & Special Characters in Campaign Names
If your TikTok campaign name contains spaces (e.g., Summer Sale 2026), raw URLs can break. Most modern analytics platforms handle encoded spaces (%20), but keeping campaign names clean (summer_sale_2026) avoids redirection bugs.
Quick Setup Checklist
- Generate your clean destination URL using our UTM Builder.
- Append TikTok dynamic macros for campaign and ad group names.
- Test destination URLs in our Redirect Checker to verify that parameters survive any landing page redirects.
- Launch your TikTok campaign and verify incoming sessions in GA4 under
Acquisition -> Traffic Acquisition.