Urban Software
Free Tool

Free UTM Link Builder, campaign links your analytics can read

Build a tagged campaign URL that tells Google Analytics, and every other analytics tool, exactly where a visit came from. Fill in the source, medium and campaign, watch the link build live, and get plain-language warnings for the small mistakes that quietly split your reporting. You can also paste an existing UTM link to decode it and see what it is really tracking. Nothing is uploaded.

UTM parameters are how you find out which of your marketing actually worked, and almost everyone tags them inconsistently enough to make the answer unreliable. The parameters themselves are simple, a few labels bolted onto the end of a link, but analytics platforms treat every character literally, so tiny differences become different rows in your reports. Tag one link with a source of Facebook and another with facebook and your reports now show two sources that are really one, splitting the credit and hiding how much that channel drove. Leave the medium off a link and those visits fall into a vague uncategorised bucket that tells you nothing. Put a raw space in a campaign name and it arrives as a string of percent signs that is painful to read in a report. None of these break the link, which is exactly why they survive: the URL works, the visit is recorded, and the damage only shows up weeks later as reporting you cannot trust. This tool is built to stop that at the source. It assembles a correct, consistently ordered link, and it tells you in plain language what will hurt your reporting before you ever paste the link anywhere, so the data you get back is clean enough to actually make decisions from.

01

What a UTM parameter actually is

UTM stands for Urchin Tracking Module, named after the analytics company Google bought to build Google Analytics, and a UTM parameter is nothing more than a labelled value added to the end of a link. When someone clicks a link carrying these parameters, the analytics tool on the destination page reads them and files the visit under the campaign they describe, so instead of a vague lump of traffic you can see that a particular sale, a particular email or a particular ad brought a particular set of visitors. There are five standard parameters and one optional one. Source says where the traffic came from, like google or newsletter. Medium says the type of channel, like cpc for a paid click or email for a newsletter. Campaign names the promotion, like spring_sale. Term is for the paid keyword on a search ad, content distinguishes two links in the same email or page, and an optional id ties the link to a specific ad or record. Together they turn a single anonymous visit into an answerable question about which marketing is paying off.

02

Why consistency matters more than the tags themselves

The single most valuable habit in campaign tracking is not tagging every link, it is tagging every link the same way. Analytics platforms do not know that Google, google and Google Ads are the same thing; they compare the strings character by character, so each spelling becomes its own source and the traffic that should have been added together is scattered across several rows that each look small. The fix is a convention you apply every time and never deviate from: always lowercase, choose one word for each source and medium and stick to it, and separate words with hyphens or underscores rather than spaces or camelCase. A source is always google, never Google or google-ads; a medium is always email, never Email or newsletter. This tool nudges you toward that convention by lowercasing nothing for you but flagging when you have used a capital or a space, so the choice stays yours while the mistakes are visible. The payoff is reports where one channel is one line, and the numbers add up to something you can act on.

03

Static tags, and where they belong

UTM parameters are meant for links that live outside your own site: the link in an email newsletter, the destination of a paid ad, the URL in a social post, the address on a printed flyer or a partner's website. They are how external traffic announces where it came from as it arrives. What they are emphatically not for is linking between pages of your own site. Tagging an internal link overwrites the original campaign information that brought the visitor in, so a person who arrived from your newsletter and then clicked an internally tagged button is suddenly re-attributed to that internal medium, and the newsletter loses the credit it earned. The rule is simple: tag the links that bring people to your site from elsewhere, and never tag the links that move people around once they are already there. Because this tool also decodes an existing link, you can paste any URL you are unsure about and see immediately whether it carries UTM parameters it should not, which is a quick way to catch an internal link that was tagged by mistake.

How to use it

  1. 1

    Enter the destination URL

    Paste the address of the page the link should open, such as your landing page or a product page. If you leave the scheme off, the tool assumes https and tells you it did. Existing query parameters on the link are preserved.

  2. 2

    Fill in source, medium and campaign

    These three are the core of any tagged link: where the traffic comes from, the type of channel, and the name of the promotion. Add term and content as well for paid search keywords or to tell two links apart. Use the medium presets for the common values.

  3. 3

    Read the link and the warnings

    The tracking link builds live as you type, in a clean canonical order. Watch the warnings panel: it flags a missing core parameter, a stray capital that would split your reporting, or a raw space that will be encoded, so you fix small mistakes before the link goes out.

  4. 4

    Copy it, or decode one

    Copy the finished link to use in your email, ad or post. To audit a link you already have, switch to Decode a link, paste it in, and see each parameter broken out with what it means. Exporting asks you to sign in with a free account; building and decoding are always free.

Common mistakes

Inconsistent capitalisation and spelling

Google, google and Google Ads are three different sources to an analytics tool, and using more than one splits your reporting. Pick one lowercase spelling for each source and medium and use it on every link, forever. The tool warns you when a value contains a capital so the slip is easy to catch.

Tagging internal links

Adding UTM parameters to links between your own pages overwrites the campaign that originally brought the visitor in, so they are re-credited to the internal link and the real source loses its due. Only tag links that bring people to your site from outside it, like emails, ads and social posts.

Leaving out the medium

A link with a source but no medium lands in an uncategorised bucket that tells you almost nothing about how the traffic reached you. Always set the medium to the channel type, such as cpc, email or social, so the visit is grouped with the rest of that channel in your reports.

Putting raw spaces in the values

A space in a campaign name is encoded as %20 in the link, which is ugly to read in a report and easy to get wrong when copied by hand. Use hyphens or underscores instead, so spring-sale stays readable everywhere. The tool flags a value that contains a space so you can tidy it.

Questions

Is this UTM builder free, and is anything uploaded?
Yes, it is completely free with no limits. It also runs entirely in your browser: the link is assembled and decoded on your own machine and nothing you type is sent to a server. Signing in is only needed to copy your link, so your work can follow you across our other tools. Because nothing is uploaded, it is safe to use with unreleased campaign names and private landing pages.
What are the five UTM parameters?
They are utm_source, utm_medium, utm_campaign, utm_term and utm_content. Source is where the traffic comes from, medium is the type of channel, campaign is the name of the promotion, term is the paid search keyword, and content distinguishes two links that would otherwise look identical. Source, medium and campaign are the core three you should set on every link; term and content are for paid search and A/B distinctions. There is also an optional utm_id.
Should UTM values be uppercase or lowercase?
Lowercase, always, and consistently. Analytics platforms compare the values character by character, so Google and google are treated as two different sources and your traffic gets split between them. Choosing lowercase for everything and using the same spelling on every link keeps each channel as a single line in your reports. The tool warns you whenever a value contains a capital letter.
Can I decode a link that already has UTM tags?
Yes. Switch to the Decode a link tab and paste any URL, and the tool pulls out every UTM parameter it carries, shows the value alongside a plain explanation of what it means, and shows the clean destination with the tags removed. It is the fastest way to audit a link someone handed you, or to check whether a link has been tagged when it should not have been.
Do UTM parameters slow down my page or hurt SEO?
No. UTM parameters are just extra values on the query string; they do not affect page speed and they are not meant for links you use in your own site navigation, so they do not create SEO problems when used correctly. The one thing to avoid is tagging internal links, which confuses attribution rather than harming rankings. Use them only on links that bring external traffic to your site.
Where should I use the links I build?
Anywhere traffic arrives from outside your website: the links in an email newsletter, the destination URLs of paid ads, the links in social media posts, and even the addresses on printed material via a QR code. The point is to tag the moment a visitor crosses onto your site from elsewhere. Do not use them for links between your own pages, which would overwrite the original source of the visit.

Need this done properly, at scale?

The tool handles the one-off. When it's a system you're building, that's the paid version of the job, and we do that too.

SEO Services