Growth marketer operator · San Jose, CA | ZuAI: 10K → 2M users at $0.02 CAC | $300k/mo ad spend managed
Ar.Bhavesh Pro
free tool · campaigns

UTM link builder that catches your mistakes.

build tagged campaign links that stay separate in your reporting. it flags the spaces, the capital letters and the double question marks that quietly split one campaign into three. free, nothing is uploaded, and there is a bulk mode for when you need forty links.

start from a channel
your tagged link fill in the URL and the three required fields
bulk mode: one campaign name per line

keeps the URL, source and medium above, and swaps the campaign name for each line. useful when one launch goes out across a dozen placements.

Why case and spaces quietly break a campaign

analytics platforms treat utm_source=Google and utm_source=google as two different sources. so do Facebook and facebook. when half your links are tagged by you and half by whoever ran the last campaign, one channel arrives in the report as three rows and none of them look like they worked.

spaces are the other one. a space in a campaign name gets encoded as %20, and a lot of tools render that literally, so utm_campaign=spring launch comes back as spring%20launch in your reporting and sorts nowhere near spring_launch. use underscores.

this builder lowercases everything by default and warns on spaces before the link exists, which is the only point at which fixing it is free. once a link is in an ad, an email and three creator posts, you are stuck with it.

What actually goes in each field

source is the specific place: google, reddit, newsletter, a creator name. medium is the type of traffic: cpc, paid_social, email, referral, organic. those two do all the real work, and getting medium consistent is what keeps paid and organic separable later.

campaign is the thing you are running, and it is worth agreeing a shape once: launch_sept, blackfriday_2026. term is for a paid keyword. content is which creative or which link in the same email, which is what lets you tell the header button from the footer link.

do not tag internal links between your own pages. it overwrites the original source, so a visitor who arrived from a reddit thread and then clicked an internal tagged link is recorded as arriving from wherever that link says. use it on inbound links only.

The pattern worth stealing

pick one convention and write it down somewhere the whole team can see. lowercase, underscores not spaces, medium from a fixed list of five or six values, campaign name that starts with what it is and ends with when. it does not matter much which convention you choose, it matters enormously that there is only one.

if you are tagging a lot of links at once, the bulk box below takes one campaign name per line and returns a tagged link for each. and if you inherit links from someone else, the UTM checker will tell you what is wrong with them before you rely on the numbers.

Tagging is the easy half. Reading the numbers is the other one.

if the links are clean and the report still does not tell you which channel is working, that is the conversation. bring one account to the breakdown call.

Let's talk Growth
FAQ

Common questions

What are UTM parameters?

they are the utm_source, utm_medium and utm_campaign tags on the end of a link. when someone clicks it, your analytics reads those tags and records where the visit came from. without them almost everything lands in "direct" or "referral" and you cannot tell which campaign did anything.

Is this the same as the Google campaign URL builder?

it builds the same links, and they work anywhere Google's do. the difference is that this one checks as you type: it lowercases by default, warns about spaces and existing query strings, and handles a URL that already has an anchor. those are the three ways a hand-built link usually breaks.

Should UTM parameters be lowercase?

yes. GA4 and most other platforms are case-sensitive on these values, so Google and google become separate sources and split one campaign across two rows. the lowercase toggle is on by default for that reason, and turning it off is only sensible if your existing links are already capitalised and you need to match them.

Can I add UTMs to a URL that already has a question mark in it?

yes, and this is the part people get wrong by hand. if the URL already has a query string, the tags have to be joined with & rather than a second ?. paste the full URL and the builder works out which joiner to use and keeps any #anchor at the very end where it belongs.

Do UTM links hurt SEO?

not if they are only used on inbound links from campaigns. the risk is a tagged URL getting indexed as a separate page, which is what canonical tags exist to prevent. never use UTMs on internal links between your own pages, and never in your sitemap.

Is anything I type here sent anywhere?

no. the whole thing runs in your browser with javascript, there is no account and nothing is uploaded. you can go offline after the page loads and it still builds links.

next

Other free tools