GA4 Channel Matching Requirements for TikTok Ads
GA4 recognizes 'tiktok' as an official social platform. To ensure traffic maps directly to Paid Social, use utm_source=tiktok and utm_medium=paid_social (or paid-social). Avoid using 'tik-tok' or 'TikTok_Ads' which will break default channel grouping rules.
Dynamic URL Macro Tokens for TikTok Ads
Supported dynamic placeholders and ValueTrack tokens for automated ad level reporting
| Macro Token | Target UTM Parameter | Dynamic Value Injected |
|---|---|---|
| __CAMPAIGN_NAME__ | utm_campaign | Dynamically populates the campaign name configured in TikTok Ads Manager. |
| __AID_NAME__ | utm_term | Inserts the targeting Ad Group name from TikTok. |
| __CID_NAME__ | utm_content | Captures the specific video creative name or Spark Ad asset ID. |
| __PLACEMENT__ | utm_content | Identifies the TikTok app placement (e.g. TikTok, Pangle, Global App Bundle). |
| __CAMPAIGN_ID__ | utm_id | Injects the numeric TikTok campaign identifier. |
Step-by-Step Implementation Guide
How to deploy and verify your tracking links in TikTok Ads
- 1
Input Landing Page
Enter your mobile-optimized landing page URL into the builder.
- 2
Insert TikTok Double-Underscore Macros
Click the dynamic buttons (__CAMPAIGN_NAME__, __CID_NAME__) to attach dynamic TikTok variables.
- 3
Copy Sanitized Tracking Link
Copy the full generated URL with all-lowercase and whitespace-to-hyphen rules applied.
- 4
Paste into TikTok Ads Manager
In TikTok Ads Manager, create or edit an Ad and paste the URL into the Destination URL field.
- 5
Verify Webhook & GA4 Capture
Confirm in GA4 Realtime reports that incoming sessions are classified as tiktok / paid_social under Paid Social.
Frequently Asked Questions: TikTok Ads UTMs
Detailed technical answers regarding TikTok Ads tracking, link configuration, and attribution
How does the TikTok in-app browser handle URL redirects and query retention?
TikTok opens links inside its embedded WebKit/Android in-app browser. If your landing page executes a server-side redirect (e.g. HTTP 301 from HTTP to HTTPS or adding a trailing slash), ensure your web server preserves query strings across the redirect hop so GA4 does not lose UTM parameters.
Why must TikTok dynamic macros use double underscores (__MACRO__)?
TikTok's ad auction server specifically searches for the double-underscore syntax (e.g. __CAMPAIGN_NAME__, __AID_NAME__). Using single underscores or curly brackets will prevent TikTok from substituting live values, passing raw placeholder text to your analytics.
What is the best utm_source value for TikTok campaigns in GA4?
Always use all-lowercase 'tiktok'. Do not use 'TikTok_Ads' or 'tik-tok', as GA4's default channel grouping rule engine uses strict string matching and will fail to classify misspelled source values under Paid Social.
Need tracking for another platform?
Switch to dedicated tracking generators for other major advertising networks