TikTok UTM Parameters
Everything you need to know about UTM tracking for TikTok Ads — dynamic macros, setup methods, copy-paste templates, and how to actually see the data in GA4.
Updated April 2026 · 11 min read
Why TikTok Ads Need UTM Parameters
TikTok Ads Manager tells you how many people saw your ad, how many clicked, and how much you spent. But it can't tell you the full story of what happened after someone clicked through to your website.
Did they buy something? Did they browse three pages and leave? Did they sign up for your newsletter? TikTok's pixel tries to track some of this, but thanks to iOS privacy restrictions, it misses a lot — sometimes 60-80% of conversions never get reported back to TikTok.
UTM parameters give you a second, independent tracking system. They work by adding small tags to the links in your ads. When someone clicks, those tags travel with them to your website and get picked up by Google Analytics. No cookies required, no pixel needed. GA4 records exactly which TikTok campaign, ad group, and creative brought that visitor.
This means you can see the real performance of your TikTok ads in GA4 — even the conversions that TikTok's own dashboard can't see. For most advertisers, this is the difference between guessing and knowing where their money is going.
Never used UTM parameters before? Start with our plain-English guide to UTM codes.
What Are TikTok Dynamic UTM Parameters?
There are two ways to set up UTM parameters for TikTok Ads: static and dynamic.
Static UTMs are values you type yourself. You write utm_campaign=spring_sale and that exact text shows up in Google Analytics. Simple, but you'd have to manually type the right campaign name into every single ad. With dozens of campaigns running, that's a recipe for typos.
Dynamic UTMs (also called macros) are placeholders that TikTok fills in automatically. Instead of typing a campaign name, you write utm_campaign=__CAMPAIGN_NAME__ and TikTok replaces that placeholder with the actual campaign name when someone clicks the ad.
Think of it this way: a static UTM is like writing someone's name on a letter by hand. A dynamic UTM is like using a mail merge — TikTok fills in the right name every time, automatically.
Dynamic UTMs are better for almost every situation because they eliminate human error, work across all your campaigns with a single template, and automatically adjust when you rename campaigns or ad groups.
All TikTok UTM Macros Explained
TikTok supports seven dynamic macros. Each one is a placeholder that gets replaced with real data when someone clicks your ad. All TikTok macros use double underscores at the start and end: __LIKE_THIS__.
Here's every macro, what it does, and which UTM parameter it works best with:
__CAMPAIGN_NAME__
Returns the name of the campaign the ad belongs to. This is the name you set when creating the campaign in Ads Manager.
__CAMPAIGN_ID__
Returns the numeric ID of the campaign. Useful for matching GA4 data with TikTok Ads Manager exports or third-party tools like Triple Whale.
__AID_NAME__
Returns the ad group name. In TikTok, targeting and budget are set at the ad group level, so this tells you which audience or targeting strategy drove the click.
__AID__
Returns the numeric ID of the ad group. Like the campaign ID, useful for data matching between platforms.
__CID_NAME__
Returns the ad creative name. This is the name of the individual ad — usually describing the video or creative. Tells you which specific video or image drove the click.
__CID__
Returns the numeric ID of the ad creative. Every ad has a unique ID, making this the most precise way to identify which exact ad was clicked.
__PLACEMENT__
Returns where the ad was shown — TikTok, Pangle (TikTok's ad network), or other placements. Useful for knowing if conversions come from the TikTok app itself or from partner apps.
Smart+ campaigns note: If you're running TikTok's upgraded Smart+ campaigns, some macros may behave differently or have limited availability. Check TikTok's documentation for the latest Smart+ macro support.
Copy-Paste TikTok UTM Templates
Instead of building UTM strings from scratch every time, pick the template that fits your situation and paste it directly into TikTok Ads Manager. We've organized them from simplest to most advanced.
Basic dynamic — good for most advertisers
Tracks which campaign, ad group, and creative drove each click. This covers 90% of what you need.
utm_source=tiktok&utm_medium=cpc&utm_campaign=__CAMPAIGN_NAME__&utm_term=__AID_NAME__&utm_content=__CID_NAME__
Full dynamic with IDs — for advanced attribution
Includes campaign ID and creative ID for exact matching with TikTok exports, Triple Whale, Northbeam, or your own database.
utm_source=tiktok&utm_medium=cpc&utm_campaign=__CAMPAIGN_NAME__&utm_id=__CAMPAIGN_ID__&utm_term=__AID_NAME__&utm_content=__CID_NAME__&ad_id=__CID__&ad_group_id=__AID__
E-commerce with placement — for Shopify / DTC brands
Adds the placement macro so you can see if sales come from the TikTok app itself or from Pangle network apps.
utm_source=tiktok&utm_medium=cpc&utm_campaign=__CAMPAIGN_NAME__&utm_content=__CID_NAME__&placement=__PLACEMENT__&campaign_id=__CAMPAIGN_ID__&ad_id=__CID__
Organic TikTok — bio link, comments, video descriptions
For links shared on your TikTok profile, not paid ads. Replace "your_campaign_name" with something descriptive.
utm_source=tiktok&utm_medium=social&utm_campaign=your_campaign_name&utm_content=bio_link
Build it faster: Use our free TikTok UTM generator to create static UTM links for organic posts and landing pages. For dynamic templates, copy the strings above and paste them into Ads Manager.
How to Set Up UTMs in TikTok Ads Manager
TikTok gives you three ways to add UTM parameters to your ads. Here's how each one works, and when to use it.
Method 1: URL Auto-attach (easiest)
This is the fastest way to start. When creating an ad, go to the Ad details section. Enter your destination URL. Below the preview, you'll see an "Auto-attach" toggle. Turn it on.
TikTok will automatically add utm_source=tiktok and utm_medium=paid to your URL. It also adds the campaign ID and name.
This is fine for basic tracking, but it doesn't give you ad group or creative-level detail. For most advertisers, Method 2 is better.
Method 2: Build URL Parameters (recommended)
This is the best approach for serious advertisers. Here's the step-by-step:
Create your campaign and navigate to the Ad level
UTM parameters are set at the individual ad level, not the campaign or ad group level.
Enter your destination URL
Just your clean landing page URL — no UTM parameters here yet.
Click "Build URL parameters"
This opens a form where you can set each UTM parameter. For each key (like utm_campaign), you can either type a static value or select a dynamic macro from the dropdown.
Select the macros you want
Set utm_source to "tiktok" (static), utm_medium to "cpc" (static), utm_campaign to __CAMPAIGN_NAME__ (dynamic), utm_term to __AID_NAME__ (dynamic), and utm_content to __CID_NAME__ (dynamic).
Preview and apply
TikTok shows a preview of the full URL with parameters. Check that everything looks right. Click "Apply" to save.
Method 3: Paste the full URL manually
You can also build your full UTM string elsewhere and paste it directly into the destination URL field. TikTok will detect the parameters automatically.
Just make sure you don't also enable Auto-attach — having UTM parameters in your URL and Auto-attach on will create duplicate parameters, and GA4 may only read one of them (usually the last one).
Heads up: Editing the destination URL on a running ad will trigger a review and restart TikTok's learning phase. Plan your UTM setup before launching, or make changes during a low-traffic period.
UTM Tracking for Organic TikTok
Dynamic macros only work for paid ads. For organic TikTok — your bio link, links in video descriptions, and links in comments — you need to build static UTM links manually.
This is important because TikTok doesn't pass clean referral data. Without UTM tags, your organic TikTok traffic often shows up as "direct" in GA4, mixed in with people who typed your URL directly. You'd never know TikTok was sending you traffic at all.
Here are the common organic TikTok scenarios:
Bio link
?utm_source=tiktok&utm_medium=social&utm_campaign=bio_link
Link in video description
?utm_source=tiktok&utm_medium=social&utm_campaign=product_review&utm_content=video_description
Link in comments
?utm_source=tiktok&utm_medium=social&utm_campaign=product_launch&utm_content=comment_link
TikTok Shop or Linktree redirect
?utm_source=tiktok&utm_medium=social&utm_campaign=linktree_shop&utm_content=spring_collection
Use our TikTok UTM generator to build these links in seconds. It pre-fills "tiktok" as the source and lets you customize everything else.
How to See TikTok Data in Google Analytics 4
Once your TikTok ads and organic posts are sending UTM-tagged traffic, the data appears in GA4 automatically. Here's exactly where to look.
Quick test first
Before launching a campaign, click your UTM link yourself. Go to GA4's Reports → Realtime and you should see your visit appear with "tiktok" as the source within seconds. If it doesn't show up, something's wrong with your URL.
Find TikTok traffic
Go to Reports → Acquisition → Traffic acquisition. Change the primary dimension to Session source/medium. Look for "tiktok / cpc" (paid ads) or "tiktok / social" (organic).
See campaign performance
Add Session campaign as a secondary dimension. If you used the __CAMPAIGN_NAME__ macro, you'll see your actual campaign names here. Compare sessions, engaged sessions, conversions, and revenue across campaigns.
See which video creatives make money
This is the real power move. Go to Explore → Blank. Add these dimensions: Session source, Session campaign, Session manual ad content (this is utm_content — your creative names). Add Sessions, Engaged Sessions, Conversions, and Revenue as metrics. Now you can see exactly which TikTok video is driving real revenue.
Check engagement quality
An ad might get 1,000 clicks but only 10 engaged sessions (people who stayed longer than 10 seconds). That means the ad is clickbait — the traffic is low quality. Look at the ratio between Sessions and Engaged Sessions per creative to find your highest-quality videos.
For more on GA4 UTM reports, read our UTM parameters guide.
Fix "Unassigned" TikTok Traffic in GA4
You've set up your UTMs correctly, you can see "tiktok / cpc" in the source/medium report — but when you look at the default channel grouping, your TikTok traffic shows up as "Unassigned". What's going on?
GA4's default channel groupings don't always recognize TikTok traffic correctly. The default rules expect specific combinations of source and medium that were designed for Google, Facebook, and a few other platforms. TikTok isn't automatically mapped.
The fix is simple: create a custom channel group.
Go to GA4 Admin
Click the gear icon → Data display → Channel groups.
Create a new channel group or edit the default
You can create a custom group called "My Channel Groups" or modify the default. We recommend creating a custom one so you don't break existing reports.
Add a "Paid Social — TikTok" channel
Create a new channel with these rules: Source contains "tiktok" AND Medium matches "cpc" or "paid" or "paid_social". Save it.
Optionally add "Organic Social — TikTok"
If you're also tracking organic TikTok traffic, add another channel: Source contains "tiktok" AND Medium matches "social". This separates your paid and organic TikTok traffic in channel reports.
After this, your TikTok traffic will show up in the correct channel group in all your GA4 reports. This change applies going forward — it won't fix historical data that was already classified as "Unassigned".
iOS Privacy and Why UTMs Matter Even More
Since Apple's iOS 14.5 update, users can opt out of app tracking. Most people do. This means TikTok's pixel can't follow many visitors from the app to your website. The result: TikTok's conversion numbers are often incomplete.
Some estimates suggest 60-80% of conversion data gets lost on iOS. That's a massive blind spot when you're spending money on ads.
UTM parameters help because they don't rely on cookies or pixels. When someone clicks your ad, the UTM tags are embedded in the URL itself. They travel from TikTok to your website inside the link — no tracking pixel needed, no cookie needed, no iOS opt-in needed. GA4 reads the tags directly from the URL.
This doesn't give you a perfect picture — UTMs only track click-through traffic, not view-through conversions (people who saw your ad but didn't click). But they give you a reliable baseline that you can trust even when TikTok's own dashboard seems too high or too low.
For the most complete tracking setup, pair UTM parameters with TikTok's Events API (CAPI). CAPI sends conversion data server-side, bypassing browser restrictions. UTMs give you the GA4 side; CAPI gives TikTok the data it needs to optimize your campaigns.
Common TikTok UTM Mistakes
1. Using Auto-attach AND manual UTMs at the same time
This creates duplicate parameters in your URL. For example, you might end up with utm_source=tiktok twice. GA4 usually reads the last one, which can cause misattribution. Pick one method and turn the other off.
2. Typing campaign names manually instead of using macros
With dozens of campaigns, manual typing leads to typos and inconsistencies. "Spring_sale", "spring-sale", and "SpringSale" become three separate rows in GA4. Use __CAMPAIGN_NAME__ and let TikTok fill it in correctly every time.
3. Using mixed case in static values
GA4 is case-sensitive. "TikTok" and "tiktok" are different sources. Always use lowercase for your static UTM values: "tiktok" not "TikTok", "cpc" not "CPC". Dynamic macros return whatever you named things in Ads Manager, so name your campaigns in lowercase there too.
4. Forgetting to tag organic TikTok links
Your bio link, video description links, and comment links all need UTM parameters. TikTok doesn't pass clean referral data, so without UTMs, this traffic appears as "direct" in GA4 — you'd never know it came from TikTok.
5. Not setting up a GA4 custom channel group
Without a custom channel group for TikTok, your paid traffic shows up as "Unassigned" in channel reports. It takes two minutes to fix — go to GA4 Admin → Data display → Channel groups and add a "Paid Social — TikTok" channel.
6. Editing UTMs on live ads without considering the learning phase
Changing the destination URL on a running ad restarts TikTok's learning phase. Your ad goes back through review, and performance may drop temporarily. Set up your UTMs before launching, or batch your URL changes during low-traffic hours.
For general UTM naming rules that apply across all platforms, see our UTM best practices guide.
Frequently Asked Questions
What are TikTok dynamic UTM parameters?
Dynamic UTM parameters (also called macros) are placeholders like __CAMPAIGN_NAME__ that TikTok automatically replaces with real data when someone clicks your ad. Instead of typing campaign names manually, you set up the macro once and TikTok fills in the correct value for every campaign, ad group, and creative.
Does TikTok add UTM parameters automatically?
TikTok has a "URL Auto-attach" feature that adds utm_source and utm_medium automatically. But for granular tracking with campaign names and creative IDs, you should use the "Build URL parameters" tool in Ads Manager or paste your own dynamic template.
What utm_medium should I use for TikTok ads?
Use "cpc" for most paid campaigns. Some advertisers use "paid" or "paid_social" — but make sure your GA4 channel groupings recognize whatever value you choose. For organic TikTok posts, use "social".
Do UTM parameters track view-through conversions on TikTok?
No. UTMs only track people who actually clicked your ad. View-through conversions (people who saw your ad but didn't click, then later visited your site) can only be tracked using TikTok's Pixel and Events API (CAPI). For complete attribution, use both.
Why is my TikTok traffic showing as "Unassigned" in GA4?
GA4's default channel groupings don't automatically categorize TikTok. Create a custom channel group: go to Admin → Data display → Channel groups. Add a rule where source contains "tiktok" and medium matches your chosen value. This puts TikTok into the right channel.
Do TikTok UTM macros work with Smart+ campaigns?
Smart+ campaigns may have changes to which macros are available. TikTok's upgraded Smart+ experience uses a different reporting structure, so some dynamic parameters may not work the same way. Check TikTok's official docs for Smart+ macro support before setting up your tracking.
Can I use UTM parameters on organic TikTok posts?
Yes, and you should. Add static UTM parameters to any link in your TikTok bio, video descriptions, or comments. Use utm_source=tiktok and utm_medium=social. Without UTMs, organic TikTok traffic usually appears as "direct" in GA4.
Will editing UTM parameters restart TikTok's learning phase?
Yes. Changing the destination URL on a live ad triggers re-review and restarts the learning phase. Performance may dip temporarily. Set up UTMs before launching ads, or schedule changes during low-traffic periods.
Related Guides
Build UTM links for your TikTok campaigns
Free TikTok UTM generator with pre-filled values, QR codes, and instant copy. No signup.
Generate TikTok UTM Links Free