Your TikTok dashboard says 47 conversions. Google Analytics reports 52 form submissions. Your CRM tracking your TikTok ads? Just 3 leads.

One campaign. Three different numbers. None of them match.

Somewhere between the ad platform, your website, and your CRM, your tracking broke.

A recent study published in PNAS highlights that while TikTok has become a critical channel for visibility, the actual financial return remains obscured by platform fragmentation and data silos.

The problem isn’t TikTok. It’s your tracking links. Disorganized UTMs fail to pass data past the first click, leaving you to make $15,000 advertising decisions based on vanity metrics, not revenue.

But we’re going to fix that for you here. This step-by-step guide shows how to set up TikTok UTM parameters correctly so you can track ad clicks, website forms, and CRM revenue.

What Are TikTok UTM Parameters?

Close-up of smartphone screen displaying tiktok utm parameters in pink and white against dark background with blue ambient lighting, showing blurred digital interface content

TikTok UTM parameters are extra codes you add to URLs to track clicks.

Without UTMs:

yoursite.com/demo

With UTMs:

yoursite.com/demo?utm_source=tiktok&utm_medium=paid&utm_campaign=spring-promo

Think of them as breadcrumbs. Each one tells your analytics where the visitor came from, from the platform, to the campaign, ad, and audience segment, so you can connect clicks to conversions in your CRM.

Five Keys to Perfect TikTok UTM Parameters

UTM parameters come in five main flavors:

utm_source

This identifies the platform sending traffic to your site. This distinguishes TikTok traffic from Facebook, LinkedIn, Google Ads, or any other channel. When you run reports by source, you'll see exactly how much traffic and revenue TikTok drives compared to other platforms.

For TikTok ads, always use: utm_source=tiktok

utm_medium

This describes the marketing channel type. Medium separates paid advertising from organic content. If you're also posting organic TikTok content with links, you might use utm_medium=social for those posts versus utm_medium=paid for ads. This lets you compare paid versus organic performance.

For TikTok ads, use: utm_medium=paid or utm_medium=cpc

utm_campaign

This names your specific campaign. Campaign is how you group related ads together. All the ads in your spring sale campaign should use the same utm_campaign value. This lets you see total performance across all ads, audiences, and creatives within that campaign.

Examples: utm_campaign=spring-sale-2025 or utm_campaign=competitor-comparison or utm_campaign=product-launch

Critical rule Keep campaign names identical across all ads in the campaign. If three ads use "spring-sale-2025" and two use "springsale2025," your data splits into two separate campaigns in your analytics. Consistency matters.

utm_term

This tracks specific targeting or ad group details. Term helps you compare performance across different audience segments within the same campaign. Did your retargeting ads convert better than cold prospecting? Did lookalike audiences outperform interest-based targeting? The utm_term parameter answers these questions.

utm_content

This differentiates creative variations within the same campaign and audience. Content is perfect for A/B testing creatives. You're running the same campaign to the same audience, but testing three different video styles. Use utm_content to see which creative variation drives better conversion rates and revenue.

Examples: utm_content=video-testimonial, utm_content=product-demo, utm_content=founder-story

How They Combine

Here's what a complete TikTok URL looks like with all five parameters:

yoursite.com/landing-page?utm_source=tiktok&utm_medium=paid&utm_campaign=spring-sale-2025&utm_term=lookalike-audience&utm_content=product-demo

Each parameter connects with an ampersand (&).

Your analytics tool reads all five and stores them with that website visit. When the visitor converts, all five parameters flow into your CRM, giving you complete context about where they came from and what they engaged with.

How to Build UTM Parameters for TikTok Ads

Building UTMs isn't as complicated as it looks, but there's a right way and several wrong ways that break your attribution. Let's walk through the correct process and the tools to use.

Step 1: Decide Your Naming Convention BEFORE You Start

This is the step most teams skip. They launch campaigns with whatever naming feels right in the moment. Three months later, their data is fragmented across dozens of inconsistent variations.

Your naming convention rules:

Always use lowercase. tiktok not TikTok or TIKTOK. Google Analytics treats these as three different sources.

Use hyphens instead of spaces. spring-sale not spring sale or spring_sale. Spaces can break URLs. Hyphens are clean and URL-safe.

Keep campaign names consistent. If you name a campaign q1-product-launch in TikTok Ads Manager, use that exact name in your utm_campaign parameter. Don't abbreviate it to q1-launch in some ads and spell it out fully in others.

Document your standards. Create a simple naming guide that everyone on your team follows. Include examples for campaigns, audience targeting terms, and content variations. Share it before people start building campaigns.

Inconsistent naming is the number one reason attribution breaks at scale.

Step 2: Use a TikTok UTM Builder

TikTok Ads Manager includes a built-in URL parameter builder. When you're setting up an ad, look for the "URL Parameters" or "Tracking" section. The builder lets you add parameters at the ad level without manually typing complicated URLs.

TikTok also offers an auto-attach feature that automatically adds utm_source=tiktok and utm_medium=paid to all your ads. We strongly recommend enabling this feature in your account settings. It ensures you never accidentally launch an ad without basic source tracking.

For better attribution, CRM-sync, and integration, then specialist tools like Trakt’s UTM Builder provide more power. It builds TikTok UTMs in seconds and even injects the data into website forms and your CRM automatically.

Step 3: Add TikTok's Dynamic Macros for Scale

You can use dynamic settings to automatically insert campaign names, ad group names, and creative names into your UTM parameters. Instead of manually building unique URLs for every single ad, you use placeholders that TikTok fills in automatically when the ad runs.

TikTok provides these dynamic macros:

  • CAMPAIGN_NAME inserts the campaign name from Ads Manager
  • CAMPAIGN_ID inserts the unique campaign ID
  • AID_NAME inserts the ad group name
  • AID inserts the ad group ID
  • CID_NAME inserts the creative/ad name
  • CID inserts the creative ID

Example usage:

yoursite.com/demo?utm_source=tiktok&utm_medium=paid&utm_campaign=__CAMPAIGN_NAME__&utm_content=__CID_NAME

When someone clicks your ad, TikTok replaces those macros with actual values:

yoursite.com/demo?utm_source=tiktok&utm_medium=paid&utm_campaign=spring-sale-2025&utm_content=product-demo-video

If you're running 10 campaigns with 5 ad groups each and 3 creatives per ad group. That's 150 unique ads. Building 150 unique UTM strings manually is miserable and error-prone. Dynamic macros handle it automatically while maintaining perfect consistency.

Step 4: Connect UTM Data to Your Forms and CRM

This is where most TikTok attribution is skipped or broken.

You've built perfect UTM parameters. Someone clicks your TikTok ad. They land on your page with the full tracking URL:

yoursite.com/demo?utm_source=tiktok&utm_medium=paid&utm_campaign=spring-sale-2025

Three minutes later, they fill out your contact form.

The form submission hits your CRM showing "Website" as the source.

The UTM parameters evaporated. They were in the URL, but they never made it into the form submission. They disappeared into the void between browser and CRM.

Forms don't automatically capture URL parameters. You need hidden form fields that grab utm_source, utm_medium, and utm_campaign values from the URL and include them in the submission. This requires JavaScript that reads URL parameters on page load, stores them in hidden fields, and passes them to your CRM with the form data.

The good news is that Trakt automatically does all of this.

Just add Trakt's tracking snippet to your website. After that, Trakt reads URL parameters and populates hidden fields in real-time when forms load.

New landing page? The snippet works there too. New tracking parameter? Already captured. Website update breaks something? Doesn't matter.

Without this connection, your perfect TikTok UTMs are worthless. With it, attribution flows cleanly from ad click through to closed deal.

Step 5: Test Before Launching

Never launch a campaign without testing your UTM tracking first.

Here's the testing process:

  1. Preview your ad inside TikTok Ads Manager
  2. Click through to your landing page
  3. Look at the URL in your browser's address bar
  4. Verify all UTM parameters appear correctly
  5. Open Google Analytics and your CRM to check the real-time report
  6. Confirm your test visit shows up with the correct source, medium, and campaign

This takes five minutes. It prevents launching campaigns with broken tracking that costs you weeks of lost attribution data.

Common TikTok UTM Parameter Mistakes That Kill Attribution

Even experienced marketers make these mistakes. Learn from them instead of repeating them.

Mistake #1: Mixing Up Source and Medium Source is WHERE the traffic came from. TikTok is the platform, so TikTok is your source. Medium is HOW they arrived. Paid advertising is the mechanism, so paid is your medium. Getting this backwards fragments your data. All your TikTok traffic gets incorrectly categorized. Your reports show "paid" as a traffic source competing with "Google" and "Facebook," which makes no sense.

Wrong:

utm_source=paid&utm_medium=tiktok

Right:

utm_source=tiktok&utm_medium=paid

Mistake #2: Inconsistent Capitalization Pick one format (we recommend all lowercase) and never deviate. Enforce it through your UTM builder tool, not by hoping everyone remembers.

utm_source=TikTok and utm_source=tiktok are different sources in Google Analytics.

Mistake #3: Duplicate Parameters in URLs This happens when you manually edit a URL that already has UTM parameters, accidentally creating duplicate keys. The result is unreliable data. Avoid this by building UTMs once correctly rather than editing and appending multiple times.

Example:

yoursite.com?utm_source=tiktok&utm_campaign=spring&utm_source=tiktok-ads

Mistake #4: Using Spaces or Special Characters Special characters like #, &, ?, = have special meaning in URLs. Using them in your parameter values creates parsing errors. Stick to lowercase letters, numbers, and hyphens. That's it. Everything else risks breaking your tracking.

Good:

utm_campaign=spring-sale-2025

Bad:

utm_campaign=Spring Sale 2025!

Terrible:

utm_campaign=spring&summer sale #1

Mistake #5: Not Testing Before Spending Money Launching a $5,000 campaign with broken UTM tracking means $5,000 in ad spend with zero attribution. By the time you notice the problem, the damage is done. Those clicks are gone forever with no attribution data.The fix takes five minutes: Preview the ad, click through, verify UTMs appear in the URL, check your analytics tool. Do this before launch, not after.

Making TikTok Attribution Automatic

With perfect UTMs in place, the last step is ensuring your form submissions capture them and flow into your CRM. Tools like Trakt automate this, capturing clicks in real-time, preserving data across forms and pages, and syncing with your CRM, so every TikTok conversion counts, from first click to closed deal.

Your TikTok ad budget deserves better than guesswork. Give it proper UTM tracking with Trakt.

Build Your Next Campaign

Start Tracking