Build a clean, trackable campaign URL in one step. Paste your destination link, add your campaign source, medium, and name, and the tagged URL is assembled instantly below - ready to paste into an email, ad, social post, or QR code. Each value is correctly URL-encoded, existing query strings and fragments are preserved, and everything runs privately in your browser.
UTM parameters - short for Urchin Tracking Module - are small tags you add to the end of a link so your analytics tool knows exactly where a visitor came from. When someone clicks a tagged URL, tools like Google Analytics read the tags and group the visit under the right source and campaign. Instead of a vague "direct" or "referral" entry, you see precisely which email, ad, or social post earned the click. There are five standard parameters:
| Parameter | Required | What it records | Example |
|---|---|---|---|
utm_source | Yes | Where the traffic originates | newsletter |
utm_medium | Yes | The marketing channel | |
utm_campaign | Yes | The specific campaign name | spring_sale |
utm_term | No | Paid search keywords | running+shoes |
utm_content | No | Distinguishes similar links | header_link |
Paste your destination link into the Website URL field, then fill in Campaign Source, Campaign Medium, and Campaign Name - these three are required for clean reporting. Add Campaign Term and Campaign Content only if you need them. The tagged URL appears in the output box and updates with every keystroke, so there is nothing to submit. When it looks right, press Copy URL to send it to your clipboard, or Clear to start over.
The builder does the fiddly work for you. Each value is URL-encoded, so spaces and special characters never break the link. If your destination already has a query string - for example a product or referral ID - the UTM tags are added with an ampersand rather than a second question mark. Any fragment, the part after a #, is kept and moved to the very end of the URL where browsers expect it.
Consistent tagging is what turns raw clicks into reports you can actually trust. A few simple rules keep your data clean across your whole team.
UTM values are case sensitive, so Email, email, and EMAIL count as three different sources and split your numbers. Keep every value lowercase to keep each channel grouped together.
Agree on one vocabulary - for example always cpc for paid search, never sometimes ppc or paid - and write it down. A shared naming convention means your reports compare like with like, month after month.
Replace spaces with hyphens or underscores, such as spring-sale or spring_sale instead of Spring Sale. This tool encodes spaces safely either way, but clean values are far easier to read in your reports.
Use source for the origin (newsletter, google), medium for the channel (email, cpc, social), and campaign for the specific promotion (spring_sale). Reserve term for paid keywords and content for telling apart two links to the same page, such as a header button versus a footer link.
Add UTM tags to inbound links you control - ads, emails, social posts. Never tag internal links between pages on your own site, as that fragments analytics sessions and creates duplicate URLs.
Everything runs locally. Your URLs and campaign values never leave your device. All processing happens in your browser with JavaScript, so you can build links for confidential launches without anything being uploaded, logged, or tracked.