Quick answer: A UTM link is a normal URL with extra query parameters, such as utm_source and utm_medium, that tell your analytics tool where a visitor came from. You add them after a question mark at the end of the address. Consistent names matter more than anything else, because analytics reports group visits by the exact values you use.
Try the free UTM Builder
Free, no sign-up, and built by the author of this guide.
Open the UTM BuilderWhat UTM parameters are
When someone clicks a tagged link, the analytics script on the landing page reads the parameters from the URL and records them with the session. Google Analytics documents the parameters in Collect campaign data with custom URLs. The five most widely used are:
| Parameter | Purpose | Example |
|---|---|---|
utm_source | Where the traffic comes from | newsletter, linkedin |
utm_medium | The type of channel | email, social, cpc |
utm_campaign | The campaign or promotion | spring-sale |
utm_term | Paid search keyword | running-shoes |
utm_content | Which link or ad variation was clicked | header-link |
Google Analytics also supports further parameters such as utm_id, but source, medium and campaign are the ones most reports rely on. Google Analytics uses the medium to sort traffic into default channel groups, so use standard mediums such as email, social, cpc or referral where they fit.
How to use the free UTM Builder
- Paste the landing page into Website URL, including
https://. - Fill in Campaign source, Campaign medium and Campaign name.
- Optionally fill in Campaign term (optional) and Campaign content (optional).
- Click Build campaign URL.
- Click Copy result and use the link in your email, ad or post.
The builder adds only the fields you fill in, so it will not stop you from leaving source, medium or campaign empty; fill all three yourself. It keeps any query parameters already on the URL, places the UTM parameters before a # fragment, and encodes special characters, turning spaces into +. If the URL is not complete, it shows Enter a complete URL beginning with http:// or https://. The builder supports these five parameters only.
Worked example
You are sending a newsletter that links to a pricing page, and you want to know how many readers clicked the link in the header. Enter:
- Website URL:
https://example.com/pricing?plan=pro#faq - Campaign source:
newsletter - Campaign medium:
email - Campaign name:
spring sale 2026 - Campaign content (optional):
header-link
The tool returns:
https://example.com/pricing?plan=pro&utm_source=newsletter&utm_medium=email&utm_campaign=spring+sale+2026&utm_content=header-link#faq
The existing plan=pro parameter is kept, the space in the campaign name becomes +, and the #faq fragment stays at the end. Using spring-sale-2026 instead would give a cleaner URL. For a second link in the footer, change only the content value to footer-link.
Naming rules that keep reports clean
- Use lowercase. UTM values are case-sensitive, so
LinkedInandlinkedinappear as two sources. - Use hyphens instead of spaces. Hyphens are easy to read and need no encoding.
- Keep a shared list. Record the agreed sources, mediums and campaign names in a spreadsheet so everyone on the team uses the same values.
- Be specific with content, general with source. The source names the site or list; use
utm_contentto tell links, buttons or ad versions apart. - Avoid personal data. Do not put email addresses, names or other personal information in UTM values. Google Analytics policies prohibit sending personally identifiable information.
Common mistakes
- Tagging internal links. UTM parameters on links between pages of your own site start a new campaign attribution and overwrite the real source. Use them only on links from outside your site.
- Inconsistent capitalization or spelling.
email,Emailande-mailsplit one channel into three rows. - Leaving out source or medium. Without them, the visit may not appear under the campaign or channel you expect.
- Testing only the URL, not the page. Open the final link to confirm the landing page loads and that redirects keep the parameters.
- Adding a second question mark. If the URL already has a query string, extra parameters must follow an
&. The builder handles this for you.
Checking the results
After the campaign goes live, open your Google Analytics property and look at the traffic acquisition report, which groups sessions by source, medium and campaign. If you see your campaign under an unexpected channel such as Unassigned, review the medium value against the default channel group rules in Google's documentation. Shorter links from a link shortener still work, as long as the shortener redirects to the full tagged URL.
Frequently asked questions
Which UTM parameters should I always fill in?+
Fill in source, medium and campaign on every tagged link, because Google Analytics reports and channel groups rely on them. Term and content are optional.
Are UTM parameters case-sensitive?+
Yes. Values such as Email and email are recorded separately, so use one consistent case, usually lowercase.
Do UTM parameters affect SEO?+
They are meant for links from outside your site and do not change the page content. Avoid using them on internal links, and use a canonical tag so tagged URLs point to the clean page.
Can I add UTM parameters to a URL that already has a query string?+
Yes. The builder keeps existing parameters and adds the UTM parameters after them with an ampersand.
Does the builder support utm_id or other parameters?+
No. It builds source, medium, campaign, term and content. Add other parameters manually if you need them.