UTM builder
Compose a campaign URL with the five Google Analytics UTM parameters. Everything runs locally — your URLs never leave the browser.
Tip: keep your campaign names lowercase and dash-separated for clean analytics rollups.
UTM cheat sheet
- utm_source
- Where the click came from. Examples: newsletter, twitter, partner_blog.
- utm_medium
- Marketing channel: email, cpc, social, referral, affiliate.
- utm_campaign
- The campaign name — keep it consistent across creatives. Example: spring_launch_2026.
- utm_term
- Optional. Paid-keyword identifier for SEM campaigns.
- utm_content
- Optional. A/B variant or creative slot, e.g. hero_button_a.
How to build a campaign URL that survives your analytics
- 01
Start from a clean destination URL
Use the page you actually want people to land on, without tracking parameters already attached. If the URL has its own query string that matters - a product variant, a language switch - the builder keeps it and appends the UTM keys after it.
- 02
Fill source, medium and campaign first
Those three are the ones every analytics tool reads. Source is where the click came from, medium is the channel type, campaign is the thing you are running. Term and content are for paid keywords and creative variants, and are safe to leave empty.
- 03
Keep spelling and case consistent
Values are case-sensitive downstream: Email and email become two separate channels in the same report, and facebook, Facebook and fb become three. Pick one form per value and write it down somewhere the whole team can see.
- 04
Shorten the result before you publish it
A tagged URL is often 150 characters of parameters that nobody wants in a bio, a print ad or an SMS. Shortening it keeps the tags intact while the visible link stays readable - and gives you click counts the destination's analytics will never see.
Four mistakes that quietly break campaign reporting
Synonyms for the same channel
newsletter and email, social and social-media, cpc and ppc: each pair splits one channel into two rows that never add up. Decide the vocabulary once and treat it as a schema, not a preference.
UTMs on your own internal links
Tagging a link between two of your own pages restarts the session and overwrites the original source, so the visitor who arrived from a newsletter is recorded as arriving from your own site. Only tag links that cross into your site from outside.
Assuming the parameters arrive
Query strings get dropped by in-app browsers, pasted-link sanitisers and privacy features, and some platforms rewrite them entirely. If a channel reports far fewer sessions than it sent clicks, the parameters are usually the reason.
Using utm_content as a notes field
It is a dimension, not a comment. Free-text values produce hundreds of one-visit rows, which makes the report unreadable and buries the variant comparison you added it for.
Questions people ask about UTM tagging
Do UTM parameters hurt SEO?
Not if the page declares a canonical URL without the parameters, which is the normal setup. Search engines then treat the tagged and untagged URLs as the same page. The risk is not ranking, it is analytics noise and ugly links people are reluctant to share.
Are UTM values case-sensitive?
The keys are conventional and lowercase; the values are passed through as typed and compared literally in most analytics tools. Email, email and EMAIL will appear as three distinct mediums, so use lowercase everywhere by default.
What is the difference between utm_term and utm_content?
utm_term carries the paid keyword that triggered the ad. utm_content distinguishes two creatives pointing at the same destination - the hero button against the footer link, variant A against variant B.
Can I use UTM parameters with a short link?
Yes, and there are two patterns. Put the parameters on the destination and shorten the whole thing, or keep them on the short link and let the redirect forward them. The first is simpler; the second lets you change tags later without reprinting the link.
Does this tool store the URLs I build?
No. The builder runs in your browser, nothing is submitted, and there is no account. Close the tab and it is gone.