Free tool

UTM builder: create a tagged campaign link

Enter the page you are linking to and name the traffic: source, medium and campaign. The tagged link updates as you type, the tags go before any #, and Copy link puts it on your clipboard.

The link is built in your browser. Nothing you type is sent to a server or stored, and the address is never opened. What this does not do: open or test the link, or judge whether your source and medium names suit your reports. It builds the tagged URL from what you typed. To check a link someone else built, use the UTM validator.

The page people land on, starting with https:// or http://. It is never opened.

Where it comes from, such as newsletter.

The kind of link, such as email.

The campaign name, such as spring-launch.

Tells two links in a campaign apart.

A keyword, mostly for paid search.

Your tagged link

Your link appears here once the URL, source, medium and campaign are filled in.

Next: check a link someone else built, or tag many links at once.

How it works

Three steps, all in your browser.

  1. Step 1: Enter the page

    Type the full address you want people to land on, starting with https:// or http://. If it already has a query or a #section, they are kept.

  2. Step 2: Name the traffic

    Fill in source, medium and campaign. Add content to tell two links in one campaign apart, and term for a keyword. Values are lowercased unless you untick the box.

  3. Step 3: Copy the link

    The tagged link appears under the form as you type. Copy link puts it on your clipboard. Need more than a few? The bulk generator tags up to 500.

The parameters

What each UTM parameter is for.

SourceTrack's tracker reads all six on your own traffic. The builder asks for the first three and offers the next two.

The six UTM parameters SourceTrack's tracker reads, and what this builder does with each
ParameterWhat it tells youExampleIn this builder
utm_sourceWhere the click comes from: a site, a platform or the name of a newsletter.newsletterRequired
utm_mediumThe kind of link it is, such as email, social or cpc.emailRequired
utm_campaignThe campaign the link belongs to. Every link in one campaign shares it.spring-launchRequired
utm_contentTells two links in the same campaign apart, such as two buttons or two ad versions.hero-buttonOptional
utm_termA keyword, mostly used for paid search.running-shoesOptional
utm_idAn identifier for the campaign, for example an ID from an ad platform.abc123Not set here; one already on the link is left as it was

Why UTMs break

Four ways a tagged link quietly stops working.

None of these shows an error when you click the link. They show up later as visits with no source, or one campaign split into two.

Tags placed after the #

A browser keeps everything after a # on the visitor's device and never sends it to a server, and SourceTrack's tracker reads only the part of the link before it. A link like page#plans?utm_source=news records no source.

The builder always writes the tags before any #.

The same tag twice

When utm_source appears twice, SourceTrack reads the first one and ignores the rest. The second one may be the one you meant.

The builder replaces a utm_ parameter that is already on the link, so a link never carries two.

Letter case

Parameter names must match exactly: UTM_Source is ignored, utm_source is read. Values are trimmed and lowercased when SourceTrack stores them, so Google and google are one value there. Some other tools keep them apart.

The builder lowercases the values unless you switch that off, and always writes the parameter names in lower case.

Spaces and special characters

In a link's query string + and %20 both mean a space, so a real plus sign has to be %2B. Raw spaces, a mix of + and %20, or characters such as & and # inside a value are easy to corrupt when a link is pasted from tool to tool.

The builder encodes every value once, with + for a space.

Naming

Six naming habits that keep links tidy.

These are habits, not rules SourceTrack enforces. Pick a convention, write it down and keep to it, so the same thing is always spelled the same way.

Naming habits for UTM values, with an example to copy and one to avoid
HabitDoAvoidWhy
Lowercase everythingspring-launchSpring-LaunchOne spelling means one name in every report. SourceTrack lowercases values when it stores them, and some other tools do not.
Hyphens, not spacesspring-launchspring launchA space becomes + or %20 in the link and is easy to corrupt when the link is pasted from tool to tool.
One name for each sourcelinkedinLinkedIn, li, linked-inPick one spelling per source and reuse it, so one source is not counted as three.
A short fixed list of mediumsemail, social, cpca new medium for every linkWrite the list down once. Mediums group links by kind, so a new word each time defeats the grouping.
Campaign names that still make sense laterspring-launchcampaign1, test2You will read the name in a report months from now, without the spreadsheet you built it in.
No personal data in a valuenewsletterjane@example.comLinks are copied, forwarded and logged by many systems. Keep names and email addresses out of them.

FAQ

Questions people ask about building UTM links.

What is a UTM builder?

A UTM builder is a form that adds UTM parameters to a link for you. You enter the page address and a source, a medium and a campaign name, and it returns one link with the tags added in the right place and encoded once, ready to paste into an email, an ad or a post. This one runs in your browser.

Which UTM parameters do I have to fill in?

This builder asks for utm_source, utm_medium and utm_campaign, so every link you make says where it came from, what kind of link it is and which campaign it belongs to. utm_content and utm_term are optional. SourceTrack's tracker reads those five and utm_id. If a link has no utm_medium, SourceTrack records its medium as none.

Does the builder lowercase my values?

Yes, unless you untick the box. SourceTrack trims and lowercases UTM values when it stores them, so Google and google are one source there, but some other tools keep them apart, so one lowercase spelling everywhere is the tidy choice. The address itself is never changed, and parameter names are always written in lower case because SourceTrack matches them exactly.

What happens if my link already has UTM parameters?

A utm_ parameter with the same name is replaced, whatever its letter case, so the link never ends up with two utm_source values. Other parameters keep their text and order. A utm_ parameter the builder is not setting, such as utm_id, is left as it was.

Why does the builder put the tags before the #?

A browser never sends the part of a link after a # to a server, and SourceTrack's tracker reads only the part before it. Tags placed after the # would be lost, so the query goes first and the #fragment stays last. If your address has a # already, it is kept at the end.

Is the address I type sent anywhere?

No. The link is built in your browser. The page does not open the address, does not send it to a server and does not keep it in cookies or local storage. Copy link puts the result on your clipboard only when you press the button.

A tagged link only helps if something reads it.

SourceTrack's tracker reads the UTM parameters on your own traffic and shows revenue by source. One script tag, 28 days free.

No credit card required. See how attribution splits revenue by source, or check your setup with the free tracking audit.

Which source earned it?Example
  • Google Ads
  • ChatGPT
  • LinkedIn
  • Google Search
  • Direct

Sources ranked by the revenue they brought in.