UTM Campaign URL Builder
Build trackable campaign URLs with UTM parameters (source, medium, campaign, term, content) for analytics.
What the builder adds to your link
Enter the page address, fill in the campaign fields, and the builder appends them as query parameters. The parameters always come in the same order (source, medium, campaign, term, content), and any field you leave blank is left out. The example values produce:
https://example.com?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale
Use the copy button rather than selecting the text by hand, so nothing gets cut off. If you clear every field, the result is your address with a lone ? on the end, which does no harm but tracks nothing.
The builder doesn't check or tidy your values. It won't lowercase "Facebook" or correct a typo in "newsleter", so type each value exactly as your team's naming list says. The UTM naming guide on this site covers what those values should be.
Spaces and symbols are encoded for you
Values are URL-encoded, so you can type spaces and punctuation without breaking the link. Here is a LinkedIn video ad pointing at a pricing page:
| Field | You type | In the link |
|---|---|---|
| Source | utm_source=linkedin | |
| Medium | paid_social | utm_medium=paid_social |
| Campaign | q4 launch | utm_campaign=q4+launch |
| Content | video ad | utm_content=video+ad |
A space becomes +, and an ampersand becomes %26, so "black-friday & cyber monday" turns into black-friday+%26+cyber+monday. The link works, but encoded values are hard to read in a spreadsheet of links and easy to mistype. Underscores or hyphens in place of spaces avoid the problem.
Pages that already have a ? or a #
If your address already has a query string, the builder joins the tags on with & instead of starting a second ?. https://example.com/pricing?plan=pro becomes https://example.com/pricing?plan=pro&utm_source=linkedin&…, and the existing plan=pro keeps working.
A fragment, the part starting with #, is a problem. The builder adds the tags to the very end of what you entered, so https://example.com/docs#setup becomes https://example.com/docs#setup?utm_source=newsletter&…. Everything after the # stays in the browser and is never part of the query string, so analytics won't see the campaign.
To link to a section, enter the address without the fragment, copy the result, and add #setup to the very end: https://example.com/docs?utm_source=newsletter&utm_medium=email&utm_campaign=onboarding#setup.
Test the link before it goes out
Paste the finished link into a private browser window and check three things:
- The page loads, and it's the page you meant, not a home page you were redirected to.
- The address bar still shows the
utm_parameters after the page loads. Some redirects drop the query string on the way, and the campaign is lost with it. - Your analytics real-time report shows a visit with the source and medium you set.
It takes a minute, and it's much easier than finding out from an empty report after the email has gone to everyone.
Frequently asked questions
Which fields do I have to fill in?+
The builder accepts any combination. In practice, fill in source, medium and campaign on every link, because most reports group traffic by those three. Leave term and content blank unless you are comparing keywords or versions of an ad.
Can I use one tagged link in the newsletter and on social media?+
Build a separate link for each placement. If one link with utm_source=newsletter is also posted on social media, every click from that post is credited to the newsletter.
Does the builder shorten the link?+
No. It gives you the full address. If you need something shorter for print or a text message, run the finished link through a link shortener and test that the shortened version still lands with its parameters.
Guides & deep dives
UTM Parameters: Naming Conventions That Keep Analytics Clean
Stop fragmenting your campaign data. Learn the UTM naming conventions that keep Google Analytics consistent, reportable, and free of duplicate sources.
Meta Tags That Matter in 2026: Title, Description and Beyond
Learn which meta tags still drive SEO in 2026 — title and description limits, OG tags, robots directives, and which tags to stop wasting time on.
Schema Markup for Beginners: Types That Win Rich Results
Learn how to add schema markup to your site with real JSON-LD examples for FAQ, Article, Product, and LocalBusiness — and avoid the errors that kill rich results.
robots.txt: What to Block, What Never to Block
Learn robots.txt syntax, the right patterns to block crawlers, what you must never disallow, and how to avoid the noindex vs robots.txt mistake.
Embed this tool on your website
Free to use on blogs, school sites and intranets. Paste this code into your page's HTML; please keep the credit line.
<iframe src="https://utilityapp.lat/embed/seo/utm-builder" title="UTM Campaign URL Builder" width="100%" height="600" style="border:0;max-width:760px" loading="lazy"></iframe> <p style="font-size:13px"><a href="https://utilityapp.lat/seo/utm-builder">UTM Campaign URL Builder</a> by UtilityApp</p>