UTM Parameters: How to Track Your Marketing Campaigns Correctly
- Sezer DEMİR

- Mar 11
- 5 min read
UTM parameters are tags added to the end of a URL that tell Google Analytics where a visitor came from and which campaign brought them to your site. When a user clicks a UTM-tagged link, the parameter values appear in your analytics data, allowing you to attribute traffic and conversions to specific campaigns, channels, and content pieces.
Without UTM parameters, most traffic from email campaigns, social media posts, and paid partnerships appears as "Direct" or gets misattributed in Google Analytics — making it impossible to measure which marketing activities actually drive results.
⠀
The Five UTM Parameters
⠀
UTM parameters follow a standard structure. Each parameter adds a specific dimension to your analytics data:
Parameter | Required | What It Captures
Parameter: utm_source | Required: Yes | What It Captures: Where the traffic comes from (google, newsletter, facebook)
Parameter: utm_medium | Required: Yes | What It Captures: The marketing channel type (cpc, email, social, affiliate)
Parameter: utm_campaign | Required: Yes | What It Captures: The specific campaign name (spring-sale-2026, product-launch)
Parameter: utm_content | Required: No | What It Captures: Ad or link variant for A/B testing (banner-blue, text-link)
Parameter: utm_term | Required: No | What It Captures: Paid search keyword (used in manual Google Ads tagging)
⠀
A complete UTM URL looks like this:
https://example.com/landing-page?utm_source=newsletter&utm_medium=email&utm_campaign=april-promo&utm_content=cta-button
⠀
⠀
Building a UTM Naming Convention
⠀
The biggest mistake in UTM parameters implementation is inconsistent naming. Analytics data groups traffic by exact parameter values — Email, email, and e-mail appear as three different sources. Without a documented naming convention enforced across the team, UTM data becomes fragmented and unreliable.
Rules for UTM naming:
Always use lowercase (never capitalize)
Use hyphens as separators (not underscores or spaces)
Keep values concise and descriptive
Be consistent — the same channel should always use the same value
⠀
Standard medium values to standardize:
email — all email campaigns
cpc — paid search (Google Ads, Microsoft Ads)
paid-social — paid social media ads
social — organic social media posts
affiliate — affiliate or partner links
referral — already set automatically by GA4, but use for PR coverage or directory links you control
display — display and banner advertising
⠀
Standard source naming examples:
Email: newsletter, promotional, transactional
Social: facebook, instagram, linkedin, twitter
Paid: google, microsoft, meta
Other: podcast-name, partner-site-name
⠀
⠀
Creating and Managing UTM URLs
⠀
⠀
⠀
Google's Campaign URL Builder (available at ga-dev-tools.google.com/campaign-url-builder) is the standard tool for generating correctly formatted UTM URLs. Enter your destination URL and parameter values; it generates the tagged URL.
For teams managing multiple campaigns, a UTM tracking spreadsheet is more efficient. Create a shared spreadsheet with columns for the destination URL, each UTM parameter, the generated URL, the campaign date, and the team member who created it. This becomes the single source of truth for all campaign URLs and prevents duplicate or conflicting naming.
URL shorteners: Long UTM-tagged URLs are unwieldy in social media posts. Use a URL shortener (Bitly, or a branded shortener) to create clean shareable links that redirect to the full UTM URL. Verify the redirect preserves UTM parameters — most do, but test before deploying at scale.
⠀
Where to Use UTM Parameters
⠀
Email marketing: Tag every link in every email campaign. Use consistent source naming (newsletter, promo-email, automated-sequence) and campaign names that match your email calendar. This allows you to compare traffic and conversions by specific email campaigns in GA4.
Social media posts: Tag all links in social media posts, especially promotional content. Organic social often appears as Direct in GA4 without UTM tagging because many users click links from mobile apps that don't pass referrer data.
Paid advertising: Google Ads can use auto-tagging (which adds gclid parameter automatically) instead of manual UTM parameters. Use manual UTM tagging for Google Ads only if auto-tagging is disabled. For all other paid platforms (Meta, LinkedIn, TikTok), use manual UTM tagging.
Offline-to-online campaigns: QR codes in print materials, URLs in podcast descriptions, and custom URLs in TV or radio ads can all carry UTM parameters. This allows you to measure the traffic from offline marketing that drives website visits.
⠀
Reading UTM Data in Google Analytics 4
⠀
⠀
⠀
In GA4, navigate to Reports → Acquisition → Traffic acquisition. The default channel grouping (Organic Search, Direct, Paid Search, Email, etc.) is GA4's interpretation. To see raw UTM parameters data:
Source/medium view: Add a secondary dimension of "Session source / medium" to see the exact utm_source and utm_medium combinations
Campaign view: Filter or segment by "Session campaign" to see individual campaign performance
Custom reports: Build Explorations with source, medium, campaign, and content dimensions to analyze multi-dimensional campaign performance
⠀
UTM data in GA4 flows through the session attribution — the source/medium credited for a session is determined by the UTM parameters present when the session began.
⠀
Common UTM Parameter Mistakes
⠀
Tagging internal links: Never add UTM parameters to links between pages on your own website. Internal UTM tags reset the session source for every internal click, breaking attribution data and making all traffic appear as a new session from a different source.
Inconsistent campaign names: Using spring-sale in one email, Spring Sale in another, and spring_sale_2026 in a third creates three separate campaign entries in analytics. A UTM tracking spreadsheet with a mandatory approval step prevents this.
Not tagging social media posts: Many marketers tag paid social ads but not organic posts. Organic social traffic from mobile apps frequently appears as Direct without UTM tagging, making social performance look worse than it is in analytics.
Over-tagging with utm_term: The utm_term parameter was designed for paid search keyword tracking (mostly automated through Google Ads auto-tagging now). Using it to track non-search content creates noise rather than insight.
Blakfy implements UTM parameters systems for clients — building the naming conventions, URL management workflows, and analytics reporting that accurately attribute marketing performance across all channels.
⠀
⠀
Frequently Asked Questions
⠀
Do UTM parameters affect SEO?
No — UTM parameters do not affect search engine rankings. Google ignores UTM parameters when crawling and indexing pages. The only SEO-related concern is that UTM-tagged URLs that are indexed by Google can create duplicate content issues — use canonical tags pointing to the clean URL to prevent this, or disallow UTM parameters in your robots.txt.
What is the difference between utm_source and utm_medium?
utm_source identifies the specific origin (which website, publication, or channel) — e.g., google, newsletter, facebook. utm_medium identifies the broader channel type — e.g., cpc, email, social. Together they create the "source / medium" attribution (e.g., google / cpc, newsletter / email) that appears in GA4 acquisition reports.
Should I use UTM parameters for Google Ads?
Google Ads has auto-tagging enabled by default, which adds a gclid parameter to ad URLs automatically. This provides more accurate attribution than manual UTM parameters for Google Ads campaigns. Use manual UTM parameters for Google Ads only if you've disabled auto-tagging — which is not recommended unless you have a specific reason.
How do I track UTM parameters in non-Google analytics tools?
Most analytics platforms (Mixpanel, HubSpot, Segment, Plausible) read UTM parameters from the URL and attribute traffic accordingly. The parameter names and values are standardized across tools — the same UTM URL works across all analytics platforms that support campaign tracking.



