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 Builder

What 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:

ParameterPurposeExample
utm_sourceWhere the traffic comes fromnewsletter, linkedin
utm_mediumThe type of channelemail, social, cpc
utm_campaignThe campaign or promotionspring-sale
utm_termPaid search keywordrunning-shoes
utm_contentWhich link or ad variation was clickedheader-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

  1. Paste the landing page into Website URL, including https://.
  2. Fill in Campaign source, Campaign medium and Campaign name.
  3. Optionally fill in Campaign term (optional) and Campaign content (optional).
  4. Click Build campaign URL.
  5. 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 LinkedIn and linkedin appear 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_content to 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, Email and e-mail split 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.

Try the free UTM Builder

Put this guide into practice in your browser.

Open the UTM Builder