top of page

UTM Parameters: How to Track Your Marketing Campaigns Correctly

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.

bottom of page