🔗 UTM Link Builder

Last updated: June 15, 2026

🔗 UTM Link Builder

Generate trackable campaign URLs for Google Analytics, GA4, and any UTM-compatible platform.

Please enter a valid URL starting with http:// or https://

The full destination URL (landing page, product page, etc.)


Campaign Source is required

Where your traffic is coming from (referrer: search engine, newsletter name, social platform)

Campaign Medium is required

The marketing channel or medium (cpc, organic, email, referral)

Campaign Name is required

Identify the specific campaign (slogan, promo code, keyword group)

Paid keywords — used mainly for paid search to identify which keyword triggered the ad

Differentiate between similar content or links in the same ad — useful for A/B testing

Your Trackable URL

Why Your Campaign Links Are Flying Blind (And How UTM Parameters Fix That)

Picture this: you run a campaign across Google Ads, a weekly newsletter, and three Instagram posts — all pointing to the same landing page. Traffic spikes. Conversions go up. But when you open Google Analytics, you see a wall of "Direct / None" and "(other)" entries with zero explanation for where those buyers actually came from.

That's the problem UTM parameters were built to solve. And once you start using them consistently, you'll wonder how you ever made budget decisions without them.

What UTM Parameters Actually Are

UTM stands for Urchin Tracking Module — named after Urchin Software, the analytics company Google acquired in 2005 to build what became Google Analytics. The name is a relic, but the mechanism is alive and widely used across virtually every analytics platform on the planet.

At their core, UTM parameters are small pieces of text you append to a URL. When a visitor clicks that link, their browser passes those parameters to your analytics platform, which records exactly where they came from and what campaign sent them. No cookies required for this part. No extra tracking scripts. Just the URL itself, carrying the context.

A complete UTM URL looks something like this:

https://yoursite.com/offer?utm_source=instagram&utm_medium=social&utm_campaign=summer_sale&utm_content=story_cta

Every parameter after the ? is a piece of campaign intelligence baked directly into the link.

Breaking Down the Five Parameters

utm_source answers the question: where is this traffic coming from? It's the referrer — the platform, publication, or partner that's sending people to you. Think google, facebook, mailchimp, substack, or even a specific partner site's domain.

utm_medium describes the marketing channel — the type of traffic, not the specific origin. Common values include cpc (cost-per-click paid ads), email, social, organic, referral, or banner. If source is "who," medium is "how."

utm_campaign is your campaign identifier. This is where you name the specific initiative: black_friday_2024, spring_webinar_promo, influencer_collab_q2. Be deliberate here — this value becomes the pivot point for comparing campaigns against each other in your reports.

utm_term is mainly for paid search. It records the keyword that triggered your ad, so you can see which search queries are actually driving conversions, not just clicks. If you're running Meta or display ads and not touching Google Ads search campaigns, you might skip this one.

utm_content is your best friend for A/B testing. Running two different ad creatives pointing to the same page? Tag one hero_image_v1 and the other hero_image_v2. Sending two different CTA links in the same email? Use content to tell them apart. Without it, those variations collapse into a single row in your reports.

The Naming Convention Problem Nobody Warns You About

Here's where most teams quietly destroy their own data. UTM parameters are case-sensitive. utm_source=Facebook and utm_source=facebook appear as two completely separate traffic sources in Google Analytics. So does Email vs email vs EMAIL.

The fix is simple: pick a convention and enforce it ruthlessly. Lowercase everything. Use underscores instead of spaces (spaces get encoded as %20 or + and become ugly in reports). Decide upfront whether your medium is social or social-media and never deviate.

Create a living spreadsheet — or use a shared UTM builder that your whole team runs links through — so the naming stays consistent across campaigns, channels, and people. One rogue utm_source=LinkedIn (capital L) from a colleague can split your LinkedIn data into two separate rows and make your channel reports look half as effective as they actually are.

How to Build UTM Links Without Errors

The UTM Link Builder above handles the most error-prone part: URL encoding. When you type summer sale 2024 as a campaign name, the tool converts it to summer%20sale%202024 so the URL stays valid and your analytics platform reads the parameter correctly. Same with special characters — ampersands, slashes, and hash signs in raw text will break your URL structure if they aren't encoded.

Fill in the base URL first — the exact page you want people to land on, including any existing query parameters it might already have. The builder detects whether to append with ? or & automatically, so you won't accidentally create a malformed URL like page?existing=param?utm_source=google.

Source, medium, and campaign are the three required fields. Term and content are optional — add them when you have multiple ad variants or paid search keywords to track, skip them when they don't apply.

Where UTM Links Belong (And Where They Don't)

Use UTM parameters on external links — anything posted on social media, included in email newsletters, dropped in paid ads, or shared by partners and affiliates. These are situations where your analytics platform can't automatically determine the source, so you supply that context manually.

Don't use UTM parameters on internal links within your own website. If you tag a navigation link or a "related posts" widget with UTM parameters, any user who clicks it will appear to Analytics as a new session from whatever campaign you tagged — effectively resetting their session and misattributing the conversion. Internal link tracking belongs to event tracking and site search reports, not UTM parameters.

Also worth noting: UTM parameters don't play well with certain social platforms when it comes to link previews. Facebook and LinkedIn sometimes strip or truncate long URLs in organic posts. Use a URL shortener (Bitly, your own branded short domain) to wrap the full UTM URL when posting organically on social — just make sure the short link redirects to the full UTM URL, not a stripped version.

Reading the Data in GA4

In Google Analytics 4, your UTM data flows into the Acquisition reports. Navigate to Reports → Acquisition → Traffic Acquisition to see sessions broken down by session_source and session_medium. For campaign-level data, look at the "Session campaign" dimension or build a custom exploration using source, medium, campaign, and your chosen conversion events.

The "User acquisition" report (vs. "Traffic acquisition") shows the source of a user's very first visit, while traffic acquisition shows the source of each individual session. Both are useful — the first for understanding where new customers discover you, the second for understanding what drives return visits and eventual conversions.

Once you're tagging links consistently, you can build comparison views that show exactly which campaign drove the most revenue per click, which email subject line generated the highest conversion rate, or which social platform delivers buyers rather than just browsers. That's the whole point — not just knowing that traffic came from "social," but knowing it came from the third Tuesday newsletter, the blue CTA button variant, via the Instagram story about your return policy.

UTM parameters turn your analytics from a rough headcount into an actual decision-making tool. Start tagging every external link, stay consistent with your naming, and within a few months you'll have a dataset that can meaningfully shape where you spend your next marketing dollar.

FAQ

Are UTM parameters case-sensitive?
Yes, completely. Google Analytics and GA4 treat 'Facebook' and 'facebook' as two separate traffic sources, which splits your data and makes reports inaccurate. Always use lowercase for all UTM parameter values and stick to that convention across your entire team.
Will UTM parameters affect my SEO rankings?
UTM parameters don't directly harm SEO when used on external links pointing to your site. However, if UTM-tagged URLs get indexed by search engines (for example, if someone shares the raw link and it gets crawled), you could end up with duplicate content issues. Use canonical tags on your landing pages and configure Google Search Console to ignore URL parameters to prevent this.
What's the difference between utm_source and utm_medium?
Think of utm_source as 'who sent the traffic' and utm_medium as 'what kind of channel.' For example, if you send an email through Mailchimp, your source would be 'mailchimp' (the specific sender/platform) and your medium would be 'email' (the channel type). If you're running a Google paid search ad, source is 'google' and medium is 'cpc'.
Should I use UTM parameters on internal website links?
No — never add UTM parameters to links within your own website. Doing so resets the user's session in Google Analytics, which misattributes their traffic source and inflates your session count. UTM tags belong only on external links: ads, emails, social posts, partner referrals, and anywhere else outside your own domain.
What happens if my base URL already has query parameters?
If your destination URL already contains a query string (e.g., https://site.com/page?ref=nav), the UTM Link Builder automatically detects this and appends the UTM parameters with an '&' rather than a '?', so the final URL remains valid. Manually adding a second '?' would break the URL and prevent your analytics platform from reading the parameters correctly.
Do UTM parameters work with platforms other than Google Analytics?
Yes — UTM parameters are a widely adopted open standard. They work with GA4, Universal Analytics, Adobe Analytics, Mixpanel, Amplitude, HubSpot, Klaviyo, and most other analytics and marketing platforms. The five standard parameter names (utm_source, utm_medium, utm_campaign, utm_term, utm_content) are recognized by essentially every major analytics tool.