What Are UTM Parameters?
UTM parameters β short for Urchin Tracking Module β are small text snippets appended to the end of a URL as query string key-value pairs. Originally developed by Urchin Software (later acquired by Google), they were designed to give marketers precise, granular visibility into where website traffic originates and which campaigns are actually driving results.
There are five official UTM parameters recognized by Google Analytics 4: utm_source, utm_medium, utm_campaign, utm_term, and utm_content. When a visitor clicks a UTM-tagged link, GA4 automatically captures those values and attributes that session to the correct traffic source β no custom code or server configuration required.
A complete UTM-tagged URL looks like this:
Why Marketers Use UTM Tracking
Without UTM parameters, Google Analytics 4 can only make educated guesses about where your traffic comes from β and it frequently gets it wrong. Direct traffic, email clicks, and dark social (links shared in private messages) all tend to be misclassified when there's no explicit tagging.
UTM tracking gives you four key advantages:
Know exactly which campaign, channel, and creative drove each conversion β not just which broad source GA4 guessed.
Compare revenue and conversions across paid vs organic, email vs social, or different ad creatives in the same campaign.
Kill underperforming channels quickly. Double down on what's working. UTMs make the data undeniable.
Use utm_content to test different subject lines, CTA colors, or ad copy and see exactly which variant converts better.
UTM Parameter Reference Guide
| Parameter | Required? | Purpose | Example Values |
|---|---|---|---|
| utm_source | Yes | The referrer or platform sending traffic | google, facebook, newsletter, twitter |
| utm_medium | Yes | The marketing channel type | cpc, email, social, organic, banner |
| utm_campaign | Yes | The campaign or promotion name | summer_sale, product_launch_q3 |
| utm_term | No | Paid search keyword that triggered the ad | best+crm+software, email+marketing+tool |
| utm_content | No | Differentiates creatives for A/B testing | blue_btn, sidebar_cta, hero_image |
Common UTM Mistakes to Avoid
β Inconsistent casing (Newsletter vs newsletter)
β Always use lowercase for all UTM values. GA4 treats 'Newsletter' and 'newsletter' as two completely separate traffic sources, splitting your data.
β Tagging internal links
β Never put UTM parameters on links between your own pages. This overwrites the original traffic source in GA4 and destroys attribution accuracy.
β Using spaces instead of underscores
β Spaces get URL-encoded as %20, making your reports messy. Use underscores (summer_sale) or hyphens (summer-sale) instead.
β Missing utm_source or utm_medium
β GA4 requires both utm_source and utm_medium for proper campaign attribution. Omitting either causes the traffic to fall into 'Unassigned' in your reports.
β Tagging homepage URLs with UTMs permanently
β If you update your bio link with UTMs, only use them on specific landing pages. A permanently tagged homepage URL can confuse analytics when shared organically.
UTM Best Practices for GA4
UTM Use Cases by Channel
βοΈ Email Marketing
- Β·Set utm_source to your ESP name (mailchimp, klaviyo) or 'newsletter'
- Β·Use utm_medium=email always
- Β·Use utm_content to A/B test subject lines or CTA buttons
- Β·Tag every link in the email, not just the main CTA
π± Paid Social Ads
- Β·Set utm_medium=cpc for all paid social
- Β·Use utm_source=facebook, instagram, linkedin, twitter etc.
- Β·Use utm_content to distinguish ad creatives (video vs image)
- Β·Use utm_campaign to match your ad account campaign name
π― Paid Search (Google Ads)
- Β·Enable Google Ads auto-tagging for gclid import
- Β·Use utm_term for the keyword match you're bidding on
- Β·Set utm_medium=cpc, utm_source=google
- Β·Use ValueTrack parameters to dynamically insert keyword data
π£ Organic Social & Influencers
- Β·Tag bio links and post links with utm_medium=social
- Β·Use utm_source for the specific platform
- Β·Give influencers unique utm_campaign values to track their performance
- Β·Shorten UTM URLs with Bitly to avoid ugly links in posts
How UTMs Work with Google Analytics 4
GA4 reads UTM parameters automatically β no extra configuration is needed. When a visitor lands on your site via a UTM-tagged URL, GA4 fires a session_start event and stores the utm values as session-scoped parameters. These are then surfaced in several reports:
Traffic Acquisition
Reports β Acquisition β Traffic Acquisition
Shows sessions grouped by Session Source/Medium. Filters by utm_source and utm_medium.
User Acquisition
Reports β Acquisition β User Acquisition
Shows new users grouped by First User Source/Medium β the first UTM a user ever hit.
Campaigns
Reports β Acquisition β Traffic Acquisition β Group by Campaign
Groups data by utm_campaign to compare campaign performance side by side.