Build tracked campaign links with the UTM builder
UTM parameters are tags added to a URL's query string that analytics tools read to attribute visits. Without them, traffic from a newsletter or a PDF often shows up as "direct" and you cannot tell which campaign worked. This UTM builder assembles the link and normalises the values so your reports stay tidy.
The parameters
| Parameter | Answers | Examples |
|---|---|---|
| utm_source | Who sent the visitor? | google, newsletter, linkedin |
| utm_medium | What kind of channel? | cpc, email, social, referral |
| utm_campaign | Which campaign? | autumn-sale, product-launch |
| utm_term | Which keyword (paid search)? | running-shoes |
| utm_content | Which link or creative? | header-button, banner-b |
| utm_id | Campaign ID for data import | spring_2026_01 |
Example
https://www.example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=autumn-sale&utm_content=header-button
Consistency is everything
Analytics treats Email, email and e-mail as three different mediums. The builder lowercases values by default and replaces spaces with dashes (or underscores or plus signs), so the same campaign never splits into several rows. Existing query parameters on your URL are preserved, and old UTM values are replaced rather than duplicated.
For GA4, use medium values that match its default channel definitions — email, cpc, social, affiliate, display — otherwise traffic lands in "Unassigned".
Worked example: one campaign, several links
Keep the campaign name identical everywhere and let the other parameters describe where each click came from:
| Link placed in | utm_source | utm_medium | utm_content |
|---|---|---|---|
| Newsletter header button | newsletter | header-button | |
| Newsletter footer link | newsletter | footer-link | |
| LinkedIn post | social | launch-post | |
| Printed flyer QR code | flyer | qr |
All four use utm_campaign=autumn-sale. In Google Analytics 4 you can then compare them under Reports → Acquisition → Traffic acquisition, switching the primary dimension to Session campaign or Session source / medium, and add Session manual ad content to see which button or post performed best.
When not to use UTM tags
Never add UTM parameters to internal links on your own site: they overwrite the original source and start a new session. Google Ads adds its own gclid through auto-tagging, so manual tags are only needed for other platforms. Long tagged URLs are easier to share as a QR code — generate one with the QR code generator — and you can inspect any tagged link with the URL parser.
A naming convention for your team
Agree on a short list of allowed sources and mediums and write it down, for example newsletter/email for your mailing list, linkedin/social for organic posts and linkedin/cpc for paid ones. Use the campaign name for the initiative (black-friday-2026) and utm_content to tell apart links inside the same message (hero-button, footer-link). With a consistent scheme you can compare campaigns over months without cleaning data, and the builder's normalisation options keep everyone's links in the same format.
Privacy
The tool runs entirely in your browser. Nothing you type or paste is sent to our servers.