Skip to content

Business Tools

UTM Builder

Create trackable campaign links with utm_source, utm_medium and utm_campaign parameters. Presets for common sources and mediums, automatic validation, and warnings for casing and spacing mistakes that break analytics reports. Everything runs in your browser — your URLs are never uploaded or logged.

Business Tools · UTM BuilderRuns in your browser

How to build a campaign URL

  1. Paste the page URL. A bare domain such as example.com/pricing is accepted; https:// is added for you.
  2. Fill in the three required tags: source, medium and campaign. The chips under the first two insert common values with one click.
  3. Add utm_term for a paid keyword or utm_content to tell two links in the same campaign apart, if you need them.
  4. Press Copy URL. The link goes to your clipboard and to a list of your five most recent links, kept only in this browser.

The five UTM parameters

The preset chips are exactly these: sources newsletter, google, facebook, instagram, linkedin and x; mediums email, social, cpc, referral, banner and qr. Clicking a chip replaces the field's current value.

ParameterRequired hereWhat it recordsExample
utm_sourceYesThe site, platform or list the click came fromnewsletter, google, linkedin
utm_mediumYesThe kind of channelemail, social, cpc, referral, banner, qr
utm_campaignYesThe promotion or initiativespring_launch, black_friday_2026
utm_termNoThe paid keyword that triggered the adrunning_shoes
utm_contentNoWhich link or creative within the campaigncta_top, hero_image_b

A worked example, including an existing query string

Start with https://example.com/pricing?ref=abc#plans, source newsletter, medium email, campaign spring_launch, no term, and content cta_top. The builder parses the address with the browser's URL parser, keeps the ref parameter, appends the UTM tags in a fixed order (source, medium, campaign, term, content, with empty ones left out) and puts the #plans fragment back on the end:

https://example.com/pricing?ref=abc&utm_source=newsletter&utm_medium=email&utm_campaign=spring_launch&utm_content=cta_top#plans

If the pasted address already carried utm_ parameters, they are overwritten rather than duplicated, and a warning tells you so. Characters with a meaning inside URLs are encoded: an ampersand in a campaign name becomes %26, and a space is written as a plus sign.

What the validation checks

  • The result only appears when the URL, source, medium and campaign fields all contain something other than spaces.
  • A URL fails if it cannot be parsed after https:// is prepended, or if its host has no dot (so https://intranet is rejected as a probable typo). localhost is the one exception, which is handy for testing tracking locally.
  • A capital letter in any tag triggers a warning, because analytics reports treat Email and email as different values.
  • A space inside a tag triggers a second warning suggesting dashes or underscores.
  • Existing UTM tags on the pasted URL trigger the replacement warning.
  • Warnings never block the link; they appear in amber under the Copy button so you can decide.

Recent links

Pressing Copy URL saves the link to a list of up to five recent links, newest first and without duplicates, stored in this browser's local storage. Simply building a link without copying does not add it. Clear removes the list. Because the list is local, it is not shared across devices and disappears if you clear site data.

Naming rules that keep reports readable

RuleWhyExample
Lowercase everythingValues are case-sensitive in reportsfacebook, not Facebook
Underscores or dashes, no spacesReadable and stable in exportssummer_sale
Medium describes the channel typeLets you compare email against social as a wholeemail, social, cpc
Source names the specific senderSeparates one newsletter from anotherweekly_digest, partner_acme
Reuse the same campaign name across channelsSums the campaign across sourcesspring_launch on email and social
Keep a shared spreadsheet of tagsPrevents a team inventing five spellingsone row per link

Frequently asked questions

What is the difference between utm_source and utm_medium?

utm_source is where the traffic comes from — a specific site, newsletter or platform (google, newsletter, facebook). utm_medium is the type of channel it travels through (email, social, cpc, referral). For example, a paid Google ad is source=google, medium=cpc.

Should UTM values be lowercase?

Yes. Analytics tools treat UTM values as case-sensitive, so "Email" and "email" appear as two separate rows in your reports. Sticking to lowercase with dashes or underscores keeps your data clean.

Do UTM parameters affect SEO?

Not when used correctly — UTM parameters are for tagging links you share in campaigns, and Google generally consolidates them via canonical URLs. Avoid using UTM tags on internal links within your own site, though: they reset analytics sessions and pollute your data.

Which UTM parameters are required?

utm_source, utm_medium and utm_campaign are the standard trio that analytics tools expect. utm_term (paid search keywords) and utm_content (to tell two links or ad variants apart) are optional refinements.

What happens to a URL that already has a query string?

Existing parameters such as ref=abc or a product id are kept, and the UTM tags are added after them. Only utm_ parameters already present are replaced.

Does the builder shorten the link?

No. It outputs the full tagged URL. Run it through a shortener afterwards if you need something compact for print or a QR code; the tags survive the redirect.

Why does my campaign name show a plus sign?

You typed a space. The URL encoder writes spaces as plus signs in the query string, which is why the tool warns and suggests an underscore instead.

Can I use the same campaign name on email and social links?

Yes, and you should. Keep utm_campaign identical and vary utm_source and utm_medium, so the report can total the campaign and still break it down by channel.

Explore

113 tools. Zero uploads. One place.

Every tool opens instantly, works on your phone and keeps your files on your device.