If you've ever looked at your Google Analytics traffic sources and seen a large percentage labeled "Direct" — even for campaigns you're actively running — UTM parameters are the solution. They are one of the most valuable and most underused tools in digital marketing analytics.
This guide explains exactly what UTM parameters are, how each one works, and how to build them correctly for every campaign you run.
What Are UTM Parameters?
UTM parameters (Urchin Tracking Module) are tags you add to the end of a URL that tell Google Analytics where your traffic came from. When a user clicks a link containing UTM parameters and lands on your website, Google Analytics reads those tags and records exactly which campaign, platform, and content drove that visit.
Without UTM parameters, traffic from email campaigns, social media posts, and paid ads often appears in Google Analytics as "Direct" traffic — making it impossible to measure the ROI of specific marketing efforts.
Example of a UTM-tagged URL:
https://www.utildash.com/?utm_source=newsletter&utm_medium=email&utm_campaign=may_launch
When someone clicks this link, Google Analytics records:
- Source: newsletter
- Medium: email
- Campaign: may_launch
The 5 UTM Parameters Explained
1. utm_source (Required)
Identifies the platform or website sending the traffic.
Examples: google, facebook, newsletter, twitter, linkedin, partner_site
Use the name of the specific platform or publisher — not a category. instagram is a source. social_media is not a useful source value.
2. utm_medium (Required)
Identifies the marketing channel or traffic type.
Examples: cpc, email, social, organic, referral, banner, affiliate
This should reflect the channel category, not the specific platform. All paid social ads use cpc or paid_social as the medium regardless of whether they're on Facebook, Instagram, or LinkedIn.
3. utm_campaign (Required)
Identifies the specific campaign name.
Examples: spring_sale_2026, product_launch, newsletter_weekly, retargeting_cart
Use consistent naming conventions — lowercase, underscores instead of spaces, date suffixes for recurring campaigns. spring_sale_2026 is better than Spring Sale because inconsistent capitalization creates duplicate entries in Analytics.
4. utm_term (Optional)
Used primarily for paid search campaigns to identify the keyword that triggered the ad.
Examples: free+json+formatter, image+compressor+online
In Google Ads, this can be set dynamically using {keyword} substitution. For other channels, this field is typically left blank.
5. utm_content (Optional)
Used to differentiate between multiple links in the same campaign — particularly useful for A/B testing ad creative or tracking specific links within an email.
Examples: blue_button, header_link, footer_cta, version_a
If you have two different ad images in the same campaign, assign them different utm_content values to see which performs better in Analytics.
How to Build UTM URLs Correctly
Building UTM URLs manually is error-prone — typos in parameter names, unencoded spaces, and inconsistent formatting all cause tracking failures or data fragmentation.
A UTM builder automates this correctly:
- Enter your destination URL
- Fill in source, medium, and campaign (required)
- Optionally add term and content
- Copy the generated URL — special characters are automatically encoded
Build a UTM URL for free on UtilDash →
UTM Best Practices
Always Use Lowercase
Google Analytics 4 is case-sensitive. utm_source=Facebook and utm_source=facebook appear as two separate sources in your reports. Standardize on lowercase across all campaigns and enforce it with a UTM builder that auto-lowercases inputs.
Use Underscores Instead of Spaces
Spaces in UTM values are encoded as %20 or + in URLs, which works technically but creates messy-looking URLs. Use underscores: spring_sale_2026 instead of spring sale 2026.
Create a UTM Naming Convention Document
The biggest tracking problem in growing teams is inconsistent UTM values from different team members. Create a shared document that defines your approved values for each parameter:
- Approved sources:
google,facebook,instagram,linkedin,newsletter_weekly,newsletter_promotional - Approved mediums:
cpc,email,social,organic_social,display,affiliate
Never Use UTM Parameters on Internal Links
UTM parameters are for tracking external traffic sources. If you add UTM parameters to links within your own website, you will overwrite the original traffic source in Analytics — causing your organic search traffic to appear as email traffic, for example. Internal links should never have UTM tags.
UTM Parameters Are Not for SEO
UTM parameters appear in the URL but do not affect how Google crawls or ranks your pages. However, if UTM-tagged URLs are indexed by Google (because someone shared them publicly), you may want to use a rel="canonical" tag pointing to the clean URL.
Common UTM Mistakes to Avoid
Mistake 1: Tagging only some campaigns Inconsistent tagging means your "Direct" traffic bucket contains a mix of genuinely direct visits and untagged campaigns — making both impossible to analyze accurately. Tag every external link you control.
Mistake 2: Using the same UTM values for different campaigns
Reusing utm_campaign=social for every social post makes it impossible to compare campaign performance. Each distinct campaign should have a unique campaign value.
Mistake 3: Tagging organic social posts
Some marketers add UTM parameters to every organic social post. This is generally fine, but recognize that you'll then see this traffic under utm_medium=social rather than the default social/organic bucket — which changes your channel comparison data. Be consistent.
Mistake 4: Forgetting mobile app tracking UTM parameters work for web traffic. For tracking within mobile apps, use Firebase Dynamic Links or your app's deep linking solution — standard UTM parameters don't carry through app store installs without additional setup.
Reading UTM Data in Google Analytics 4
In GA4, UTM data appears under:
Reports → Acquisition → Traffic Acquisition
Here you can see sessions, users, conversions, and revenue broken down by:
- Session source / medium
- Session campaign
- Session source
For deeper analysis, use Explorations to cross-reference UTM data with conversion events, user behavior, and revenue — giving you a complete picture of which campaigns are actually driving results, not just clicks.
Quick Reference: UTM Parameter Examples by Channel
| Channel | utm_source | utm_medium | utm_campaign | |---------|-----------|-----------|-------------| | Google Search Ad | google | cpc | brand_keywords_may26 | | Facebook Ad | facebook | paid_social | retargeting_cart | | Email Newsletter | newsletter | email | weekly_digest_may26 | | LinkedIn Post | linkedin | organic_social | product_launch | | Affiliate Partner | partner_name | affiliate | homepage_banner | | YouTube Video | youtube | video | tutorial_series |
Build Your First UTM URL
Try the free UTM Builder on UtilDash →
Paste your URL, fill in the fields, and copy a properly formatted tracking URL in under 30 seconds — no account required.