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.

https://bilalvirk.com/tools?utm_source=newsletter&utm_medium=email&utm_campaign=august-tools-launch&utm_content=header-button
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:
newsletter
linkedin
x
facebook
partner-siteYou 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.

Want this built against your real numbers?
A 30-minute call to scope the workflow, agent, or automation you actually need.
More seo tools
All tools301 Redirect Rule Generator
Turn a list of old and new URLs into redirect rules for Apache htaccess, Nginx, Cloudflare or Netlify. Detects redirect chains and loops before you deploy them, and handles bulk migrations from a pasted list.
Canonical Tag Generator
Generate a correct rel=canonical tag from any URL. Normalises the scheme, strips tracking parameters, resolves trailing slash and case issues, and warns about the canonical mistakes that quietly deindex pages.
Content Brief Generator
Generate a complete SEO content brief from any keyword — ready to hand to a writer
Google SERP Preview Tool
See how your page will look in Google results on desktop and mobile before you publish. Renders the title link, breadcrumb URL and snippet with realistic truncation, and highlights query terms the way Google bolds them.
Hreflang Tag Generator
Build a complete, reciprocal hreflang set for a multilingual page and export it as link tags, an HTTP header block or XML sitemap entries. Validates language and region codes and adds x-default automatically.
Keyword Clustering Tool
Group any keyword list by search intent and topic — ready for content planning
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.