If you're running paid campaigns, sending marketing emails, or posting on social media without UTM parameters, you're flying blind. Google Analytics 4 can tell you how many people visited your site โ but without UTM tags, it often can't tell you why they came, or which campaign sent them. UTM parameters are the fix.
What are UTM parameters?
UTM parameters (Urchin Tracking Module โ a legacy name from before Google acquired the original analytics company) are small snippets of text you append to any URL. When a visitor clicks a link containing UTMs, Google Analytics reads those parameters and records exactly where that session came from.
A tagged URL looks like this:
https://example.com/landing-page?utm_source=newsletter&utm_medium=email&utm_campaign=summer_sale
GA4 works with UTM parameters the same way Universal Analytics did โ the parameter names haven't changed, which means any tagging system you set up today is forward-compatible.
The five UTM parameters
There are five standard UTM parameters. The first two are required for GA4 to attribute traffic correctly; the remaining three are optional but strongly recommended.
| Parameter | What it tracks | Examples |
|---|---|---|
utm_source |
Where the traffic came from | google, newsletter, facebook |
utm_medium |
The marketing channel type | cpc, email, social, organic |
utm_campaign |
The name of the campaign | summer_sale, product_launch, q2_retargeting |
utm_term |
The keyword that triggered the ad | running+shoes, crm+software |
utm_content |
Differentiates ads or links within a campaign | banner_top, text_link, hero_cta |
utm_source and utm_medium are required. Without both, GA4 may classify the session as "direct" or dump it into the "(other)" channel grouping โ making your reports useless for that traffic. The other three are optional, but utm_campaign is almost always worth including. utm_term is mainly useful for paid search, and utm_content shines when you're A/B testing ad creatives or have multiple links pointing to the same destination in one email.
Naming conventions that matter
GA4 is case-sensitive. Facebook and facebook will appear as two separate sources in your reports, splitting your data down the middle. Getting naming conventions right from day one prevents months of fragmented reports.
- Always use lowercase. No exceptions. Set this as a team policy.
- Use underscores, not spaces. Spaces become
%20in URLs and make links look messy. Hyphens work too, but pick one and stick to it. - Pick a term and commit to it. Decide whether your email medium is
emailornewsletterโ not both. Document it somewhere your team can reference. - Keep values short and readable.
summer_sale_2026is better thanSummer%20Sale%202026%20Email%20Campaign. - Use a consistent campaign naming structure. Many teams use a format like
[quarter]_[product]_[goal], e.g.q2_pro_signups.
Common UTM mistakes to avoid
Even marketers who understand UTM parameters make these errors regularly:
- Tagging internal links. If you add UTM parameters to links between pages on your own site, GA4 will count each click as a new session โ artificially inflating session counts and breaking attribution for the original source. UTMs are for external links only.
- Inconsistent capitalization. As mentioned above, this splits your data.
EmailvsemailvsEMAILare three separate sources to GA4. - Tagging organic social posts. Adding UTMs to your regular (non-paid) social posts overrides GA4's organic social detection. Your reports will show everything as a UTM-tagged source, masking your true organic reach. Save UTMs for paid or specifically tracked links.
- Forgetting utm_medium. Sessions without a medium often get lumped into the "(other)" channel grouping in GA4, making it impossible to understand channel-level performance.
- Using the same campaign name across channels. If your summer sale runs on Google Ads, Facebook, and email, give each a distinct campaign tag โ or use
utm_contentto differentiate โ so you can compare channel performance for the same campaign.
GA4-specific things to know
If you're migrating from Universal Analytics, the UTM parameters themselves haven't changed โ but where you find the data in GA4 has:
- Navigate to Reports โ Acquisition โ Traffic acquisition to see sessions broken down by source/medium.
- GA4 uses Default Channel Groups to categorize traffic โ a rule-based system that maps source/medium combinations to channels like Paid Search, Email, Organic Social. If your UTM values don't match expected patterns (e.g.,
utm_medium=emailfor email), traffic may land in "Unassigned." - GA4 also supports
utm_id(a campaign ID for linking to Google Ads or other platforms) andutm_source_platform(e.g.,Search Ads 360) โ less common but worth knowing for larger teams.
A complete example
Here's what a fully tagged URL looks like for a paid Facebook ad promoting a summer sale landing page:
https://example.com/summer-sale?utm_source=facebook&utm_medium=cpc&utm_campaign=summer_sale_2026&utm_content=carousel_ad_variant_b
Breaking it down: the traffic came from facebook, via a cpc (cost-per-click) placement, for the summer_sale_2026 campaign, and specifically the carousel_ad_variant_b creative. In GA4, you'd be able to filter by any of these dimensions independently.
Free UTM Builder
Use the free Utively UTM Builder to build and copy tagged links instantly โ no login required. Paste in your URL, fill in the fields, and get a clean tagged link in seconds.
Build trackable UTM links instantly โ