A Campaign URL Builder alternative that stops your tags drifting

Google publishes the reference builder for UTM parameters, and as a definition of what each parameter means it is the source worth trusting. The thing it does not do is protect you from the way campaign tagging actually fails, which is almost never a misunderstanding of what utm_medium is for.

Open the UTM Builder →

Google Campaign URL Builder and Softland, side by side

 Google Campaign URL BuilderSoftland
Casing and spacesUsed exactly as typedLowercased and hyphenated by default, switchable off
Missing source, medium or campaignMarked on the formNamed again beside the finished URL you are about to copy
Destination that already has a query stringParameters are appendedThe URL is parsed, so a repeated parameter is replaced not duplicated
App install campaignsPlay Store and iOS builders includedWeb URLs only
Shortening the resultA separate jobOne link away, on the same site

Tagging does not fail because someone picked the wrong parameter

It fails because one person typed Facebook, another typed facebook, a third typed FaceBook, and the report now has three rows where there should be one. Analytics tools match campaign values as literal strings. Nothing in them knows those are the same channel, and by the time anyone notices, the quarter being reported on is over and the data cannot be repaired without rewriting history.

Softland lowercases values and turns runs of whitespace into hyphens before the URL is assembled. It is a small transformation and it is the whole point: two people building a link for the same campaign on different days get the same string out, without having agreed on a convention first. The checkbox turns it off for the rare case where a downstream system genuinely wants mixed case.

Appending parameters to a URL that already has some

Plenty of destination URLs already carry a query string - a product filter, a language selector, a referral code from somewhere else. Glueing more parameters onto the end of one with a question mark produces a URL with two question marks in it, and glueing them with an ampersand when there was no query string at all produces one with none.

This builder parses the destination with the URL parser the browser already ships and sets each parameter on it, so the existing query survives, the separators are correct, and building the same link twice does not leave you with utm_source appearing in it twice. That last case is the one that bites people re-tagging a link somebody else already tagged.

What this tool does not cover

It builds the five standard web parameters - source, medium, campaign, term and content - and nothing else. There is no field for a campaign ID, no Play Store referrer builder and no iOS equivalent, because those are a different job with different rules, and a form that pretends otherwise gets them subtly wrong.

If your tagging involves app installs, or manual campaign import that needs an ID column to join on, Google covers that and this does not. Use the builder that matches the surface you are tagging rather than the one that is closest to hand.

When Google Campaign URL Builder is the better choice

  • You are tagging a Play Store or iOS app install campaign, which needs a differently shaped referrer string rather than a query parameter.
  • You need a campaign ID parameter for manual campaign import in GA4.
  • You want the definition of each parameter from the people who define them, rather than a restatement of it.
  • Your team has already standardised on it, and a second builder in the mix is a second set of conventions waiting to diverge.

Frequently asked questions

Does lowercasing the values actually matter?
Yes, more than any other setting here. Analytics tools compare campaign values as exact strings, so Spring Sale and spring-sale are two campaigns in the report. Normalising before the link is built is the only reliable way to keep them one.
Can I keep my capitals if I need them?
Yes. Untick the lowercase and hyphenate option and values are passed through with only the surrounding whitespace trimmed.
What happens if my landing page URL already has parameters?
They are kept. The URL is parsed rather than concatenated, so existing parameters survive, the separators come out right, and tagging an already-tagged link replaces the old values instead of appending a second copy.
Does it support utm_id?
No. It builds source, medium, campaign, term and content. If you need a campaign ID for manual import, use the Google builder for that link.

Try it yourself

Build tagged campaign URLs without typos.

Open the UTM Builder

Google Campaign URL Builder is a trademark of its respective owner. Softland is not affiliated with, endorsed by or sponsored by Google Campaign URL Builder. This comparison reflects how each product works rather than what either costs, because pricing and plan limits change; check Google Campaign URL Builder’s own site for its current terms.