UTM Link Builder

Add campaign tracking tags to any link — source, medium and campaign — so Google Analytics can tell you where your clicks came from. Built live in your browser.

SEO ToolsPopular Free No upload Instant

Loading UTM Link Builder…

Your browser is preparing the tool. It runs 100% locally.

Quick Answer

Enter a URL plus a source, medium and campaign, and the tool appends the matching utm_ parameters so Google Analytics can attribute the visit to that campaign. It URL-encodes each value, adds a question mark or ampersand as needed, and leaves out any field you skip. It tags the three core UTM parameters GA4 relies on; the two optional ones, utm_term and utm_content, are not included. It runs entirely in your browser.

What the UTM Link Builder Does

Fill in your destination URL and the campaign details, and you get a tagged link to drop into an email, a social post or an ad. The three tags — utm_source, utm_medium and utm_campaign — tell Google Analytics which platform, channel and campaign sent each click, so traffic does not all collapse into a vague 'direct' or 'referral' bucket.

Values are URL-encoded as they are added, so a medium like paid social becomes paid%20social and the link stays valid. Any field you leave blank is omitted rather than written as an empty tag.

How It Works

The tool reads your URL and the three fields, encodes each non-empty value with the browser's own URL encoder, and joins them as utm_source then utm_medium then utm_campaign. It checks whether your URL already has a query string: if there is no question mark it adds one, otherwise it appends with an ampersand, so the parameters attach correctly either way.

The three parameters map to the campaign dimensions in Google Analytics: source is where the click came from (newsletter, google, linkedin), medium is the channel type (email, cpc, social), and campaign is the initiative's name (spring-launch). GA4 reads these automatically — no extra setup in the property is needed.

Generation algorithm

  1. Read the URL and fields. Take your destination URL and the source, medium and campaign values.
  2. Encode each value. URL-encode every non-empty value so spaces and symbols cannot break the link.
  3. Choose the joiner. Add a question mark if the URL has no query string yet, otherwise an ampersand.
  4. Append the tags. Join the parameters and attach them to the URL, live as you type.

Tagged URL pattern

https://example.com/page ?utm_source=newsletter &utm_medium=email &utm_campaign=launch
Worked example
https://example.com/page?utm_source=newsletter&utm_medium=email&utm_campaign=launch

Empty fields are dropped; the first parameter uses a question mark and the rest use an ampersand. If the URL already has a query string, every parameter uses an ampersand.

Technical Details

Parameters writtenutm_source, utm_medium, utm_campaign
Not includedutm_term, utm_content (optional)
Encodingvalues URL-encoded (a space becomes %20)
Joinerquestion mark for a clean URL, ampersand if it already has a query
Empty fieldsomitted
Casekept as typed — values are case-sensitive in GA4
Where it runsIn your browser — nothing uploaded

Standards & references

  • UTM parameters — Urchin Tracking Module tags — utm_source, utm_medium, utm_campaign, plus optional utm_term and utm_content — are the standard way to label campaign traffic; this tool writes the three core ones.
  • Originated with Urchin — the tags come from Urchin, a web-analytics company Google bought in 2005 to build Google Analytics, which is why GA reads them out of the box.
  • Case-sensitive values — Google Analytics treats Email and email as different mediums, splitting them into separate rows; keep your values lowercase and consistent.

Accuracy & Limitations

It writes the three core parameters — source, medium and campaign. The two optional ones, utm_term (a paid keyword) and utm_content (to tell apart two links in the same message), are not generated; add them by hand if a campaign needs them.

UTM values are case-sensitive in Google Analytics: Facebook and facebook show up as two separate sources. The tool keeps your text exactly as typed, so settle on a lowercase convention and stick to it to avoid split reports.

It encodes values but does not validate them. It will happily tag a malformed URL; check that your destination is correct and loads before sharing the tagged link.

If your URL contains a fragment (a # and an anchor), the parameters are appended after it, which is not where they belong. Tag URLs without a fragment, or move the fragment to the end yourself.

Tags are visible in the address bar and can be copied or stripped by anyone. Do not put anything private in a campaign value, and avoid tagging internal links on your own site, which can overwrite the original source in your reports.

Real-World Use Cases

Email campaigns

Tag newsletter links so opens and clicks show up as their own source and medium.

Social posts

Label links per platform to compare traffic from each network.

Paid ads

Mark campaign URLs so paid clicks are attributed to the right initiative.

Comparing channels

Use consistent source and medium values to see which channels drive visits.

When to use it — and when not to

Good for

  • Tagging links for Google Analytics campaigns
  • Email, social and ad links
  • Keeping channels out of the 'direct' bucket
  • Quick, correctly-encoded campaign URLs

Not the best choice for

  • utm_term or utm_content parameters
  • Tagging internal links on your own site
  • Shortening or cloaking the long tagged URL
  • Checking that the destination URL works

Need all five parameters or Google's reference behaviour? Google's own Campaign URL Builder adds utm_term and utm_content too. Want a shorter link to share? Run the tagged URL through a link shortener afterwards.

Frequently Asked Questions

What does UTM stand for?
Urchin Tracking Module. The tags come from Urchin, an analytics company Google acquired in 2005 to create Google Analytics, which is why GA recognises them automatically.
Which parameters does this tool add?
The three core ones: utm_source (where the click came from), utm_medium (the channel type) and utm_campaign (the campaign name). It does not add the optional utm_term or utm_content.
What is the difference between source and medium?
Source is the specific origin — newsletter, google, linkedin. Medium is the broad channel type — email, cpc, social. Source is the who, medium is the how.
Do capital letters matter?
Yes. Google Analytics is case-sensitive, so Email and email become two different mediums and split your numbers. Pick lowercase and use it every time.
Why are spaces changed to %20?
The tool URL-encodes each value so the link cannot break. A space becomes %20; Analytics decodes it back to a space in your reports.
Where does the tagged data show up in GA4?
In the traffic-acquisition and campaign reports, which read utm_source, utm_medium and utm_campaign to group the sessions. It can take a little while to appear.
Should I tag links between pages of my own site?
No. Tagging internal links restarts the session and overwrites the original source, so a visitor from Google can show up under your internal campaign. Only tag links that point to your site from outside.
Can I add utm_term and utm_content?
Not with this tool — it writes the three core tags. Append utm_term or utm_content by hand, or use Google's Campaign URL Builder, which includes them.
Do UTM tags hurt SEO?
Tagged URLs can look like duplicate pages, so use them for shared campaign links rather than for pages you want indexed, and keep a canonical tag on the page itself.
What if my URL already has a question mark?
The tool detects it and joins with an ampersand instead, so the parameters attach correctly to a URL that already has a query string.
Is the link tracked or sent anywhere?
No. The URL is assembled in your browser. Tracking only happens later, in your analytics, when someone clicks the link you share.
Can I shorten the tagged link?
Yes. UTM links are long; run the finished URL through any link shortener to make it tidier for social posts or print.

References

Writes the three core UTM parameters and URL-encodes each value; it is upfront that utm_term and utm_content are not included and that GA4 treats values as case-sensitive, so Email and email split into separate rows.

PopularHot

Meta Tag Generator

Meta Tag Generator that outputs clean, copy-ready code for better rankings.

SEOOpen Tool
Popular

Keyword Density Checker

Keyword Density Checker online — accurate, standards-compliant and free for SEO work.

SEOOpen Tool
Trending

Open Graph Generator

Open Graph Generator that outputs clean, copy-ready code for better rankings.

SEOOpen Tool
Trending

SERP Snippet Preview

SERP Snippet Preview online — accurate, standards-compliant and free for SEO work.

SEOOpen Tool
Editor's Pick

Schema Markup Generator

Schema Markup Generator online — accurate, standards-compliant and free for SEO work.

SEOOpen Tool

Robots.txt Generator

Robots.txt Generator online — accurate, standards-compliant and free for SEO work.

SEOOpen Tool

Ready to try the UTM Link Builder?

It is free, private and runs entirely in your browser — no sign-up, no uploads, no limits.