BV
All tools
seo

UTM Campaign URL Builder

Build tagged campaign URLs with consistent UTM parameters, generate them in bulk from a list, and enforce a lower-case naming convention so your analytics reports do not split one campaign across five spellings.

Muhammad Bilal
Muhammad Bilal Virk
4 min read
UTM link builder
Tagged URL
https://bilalvirk.com/tools?utm_source=newsletter&utm_medium=email&utm_campaign=august-tools-launch&utm_content=header-button
UTM values are case sensitive in most analytics platforms, so Newsletter and newsletter become two separate rows in your report. Lowercase everything and keep a shared spreadsheet of approved source and medium values — the reason campaign reporting turns to mush is almost always that three people invented three spellings of the same channel.

Analytics reports fall apart when the same campaign is tagged Email, email and E-Mail. This builder produces correctly encoded UTM URLs, enforces one casing convention, and generates a whole campaign's worth of links in bulk from a pasted list.

What this tool does

Enter a destination URL and the campaign parameters, and you get a tagged link with everything URL-encoded properly. Switch to bulk mode and paste a list of sources — one per line — to generate the whole set at once, ready to copy into a spreadsheet.

The tool lower-cases and hyphenates parameter values by default. This is not cosmetic. UTM values are case-sensitive in every major analytics platform, so Email and email become two separate rows in your source report and your channel numbers are wrong from day one.

A worked example

You are launching one piece of content across five channels. Enter the destination once, then paste:

text
newsletter
linkedin
x
facebook
partner-site

You get five URLs sharing utm_medium=social (except the newsletter, which you set to email) and utm_campaign=q3-automation-guide, differing only in utm_source. Every link reports into one campaign with a clean source breakdown, which is the whole point of the exercise.

The five parameters

Parameter Required Answers Example
utm_source Yes Where did they come from? newsletter
utm_medium Yes What kind of channel? email
utm_campaign Yes Which campaign? q3-automation-guide
utm_term No Which paid keyword? workflow-automation
utm_content No Which variant or placement? header-cta

Google's campaign tagging reference documents how each parameter maps into reporting, and the background on the convention explains why the names look the way they do.

Where people go wrong

Tagging internal links. This is the big one. Put UTM parameters on a link between two pages of your own site and you start a brand new session, attributing that visitor to the campaign rather than to whatever brought them originally. Your organic and referral numbers quietly deflate. Never tag internal navigation.

Inconsistent casing and spelling. Facebook, facebook and FB are three sources. Agree one convention, write it down, and let the tool enforce it.

Using medium as a second source. utm_medium is the channel type — email, cpc, social, referral, affiliate. It is not the platform name. Put the platform in utm_source.

Leaving parameters on canonical URLs. A tagged URL that gets shared, linked to and indexed produces a duplicate of your page in search results. Your canonical tag must point at the clean version — build it with the canonical tag generator.

Tagging paid links twice. Google Ads auto-tagging adds gclid on its own. Adding UTMs as well can override it and lose the richer Ads data.

FAQ

Does a UTM parameter hurt SEO?

Not directly, but an indexed tagged URL splits signals between two versions of the same page. Self-referencing canonicals on the clean URL solve it, and Google's URL structure guidance explains why parameter sprawl is worth controlling.

Are the values case-sensitive?

Yes, in Google Analytics and in almost every other platform. This is the single most common cause of fragmented campaign reporting.

Can I shorten the URL afterwards?

Yes. A link shortener preserves the parameters through the redirect. Just make sure the shortener is not stripping the query string, which a few cheap ones do.

Should I tag QR codes and print?

Absolutely, and it is one of the few places UTMs genuinely earn their keep. Use utm_medium=print or qr with a source identifying the specific placement.

What about the newer utm_id?

It exists for tying a click back to a specific campaign record when you import cost data. If you are not importing cost data, you do not need it.

Next steps

Once the links exist, the work is distributing them consistently — How to Automate Social Media Posting covers building that pipeline, and How to Automate Lead Generation covers what happens after the click. To keep the tagged URLs out of the index, pair them with the canonical tag generator and check the head with the SEO Meta Tag Analyzer.

Campaign data landing in three systems that disagree? Book a discovery call.

Muhammad Bilal
Muhammad Bilal Virk
AI automation engineer — building agents, workflows, and RPA that remove repetitive work.
Share
Newsletter

One email, when I ship something worth reading.

No cadence, no filler. Unsubscribe any time.

Free consultation

Want this built against your real numbers?

A 30-minute call to scope the workflow, agent, or automation you actually need.

Book a free consultation

More seo tools

All tools
Next step

Have a workflow that's burning hours every week?

Bring me one real bottleneck. I'll tell you whether it's worth automating, and what it would take.

Book 30 Minutes Call