November 4, 2026 · 13 min read

UTM Parameters: Examples and Common Mistakes

Graphic title card for the article “UTM Parameters: Examples and Common Mistakes” with a stylised motif: dashboard with three gauges labelled “Active?”, “From where?” and “Who leaves?”, next to a notepad.
Graphic: HumanITy

UTM parameters are additions at the end of a link that tell your analytics tool where a visit came from. They follow a question mark and are called utm_source (the source, such as newsletter), utm_medium (the type of channel, such as email) and utm_campaign (the campaign), plus the optional utm_term (a paid keyword) and utm_content (which link or which creative). Google says the first three belong on every tagged link. The values are case sensitive, so Newsletter and newsletter count as two sources. Google Analytics 4, Umami, Matomo and many other tools read UTM parameters. They only belong on links that point to your website from outside, never on internal links.

On my website, every link into my community carries UTM parameters per placement, and Susi, my AI employee for ads, lists my website as a separate source in her analysis. Where your visitors from Google Search come from is a different question, answered by Search Console; that is covered in Setting Up Google Search Console.

What UTM parameters are for

A website normally learns the previous page from the referrer. That doesn't always work. A link with the noreferrer attribute tells the browser to leave the origin out, and clicks from email clients, apps or PDFs often don't carry one either. Those visits end up as “direct” in your stats. UTM parameters sit in the address itself, so they arrive with the visit. And they say more than a referrer: not just “Instagram” but “Instagram, bio link, autumn promotion”.

My own community links carried noreferrer for a long time, so the community platform Skool counted my website as direct traffic. The full story is in Skool Analytics: Reading Posts and Members.

UTM parameters at a glance

Parameter What it's for Example value Required per Google
utm_source source: who sends the visit newsletter, instagram, partner-blog yes
utm_medium type of channel email, social, cpc, referral yes
utm_campaign campaign or promotion autumn-sale-2026 yes
utm_term paid keyword accounting+software no
utm_content tells links or creatives apart button-top, creative-b no

Google Analytics also knows utm_id (a campaign ID, the same one you use when uploading campaign data), utm_source_platform (the platform sending the traffic, per Google for example Search Ads 360), utm_creative_format and utm_marketing_tactic. According to Google's help, each of the last two “isn't currently reported in Google Analytics properties” (as of November 2026). For most small businesses the five standard fields are enough; Umami only reports those five anyway.

How to build a UTM link, with examples

A UTM link is your normal address, followed by a ?, then the parameters joined with &. An example for a link in a newsletter issue:

https://example.com/offer?utm_source=newsletter&utm_medium=email&utm_campaign=issue-12

If the same email has two links, utm_content separates them. Google uses exactly this example:

https://example.com/offer?utm_source=newsletter&utm_medium=email&utm_campaign=issue-12&utm_content=button-top
https://example.com/offer?utm_source=newsletter&utm_medium=email&utm_campaign=issue-12&utm_content=ps

Two special cases trip people up. If the address already contains a ?, you add the UTM parameters with &; a second question mark is wrong. And if the address has a jump anchor with #, the parameters go before it. Under the URL standard RFC 3986, the query ends at the #; everything after it is the fragment and stays in the browser:

right: https://example.com/blog/article?utm_source=pdf&utm_medium=referral&utm_campaign=checklist#section-3
wrong: https://example.com/blog/article#section-3?utm_source=pdf&utm_medium=referral&utm_campaign=checklist

Google offers a free Campaign URL Builder; a spreadsheet with one formula does the same job.

Naming conventions: decide once, never guess

Useless UTM reports usually come from inconsistent values, not missing ones. Google recommends lowercase as the standard and a strict naming convention for source, medium and campaign; “SpringSale” and “Spring_Sale” count as two campaigns. An example of a list that fits on one page:

Field Rule Allowed values (example)
utm_source platform or sender, lowercase instagram, linkedin, newsletter, partner-name
utm_medium only values from a fixed list email, social, cpc, referral
utm_campaign promotion plus year or issue autumn-sale-2026, issue-12
utm_content placement or creative bio, button-top, creative-b

Three rules on top: hyphens instead of spaces, no special characters (a space becomes %20 in the address), and add new values instead of renaming old ones, or earlier reports stop matching the new ones.

For the utm_medium list, it pays to look at GA4's default channel groups. They assign visits to channels based on the medium: email (also e-mail, e_mail, e mail) goes to Email, social to Organic Social, referral to Referral. And GA4 assigns the medium organic to organic search unless the source already matches another rule, such as a known social platform. If you invent your own media such as mail and the source doesn't match any rule either, the visit ends up as “Unassigned”.

Common UTM mistakes

Mixed upper and lower case. According to Google, GA4's channel definitions aren't case sensitive, but the values themselves are. Email and email land in the same channel, but as two rows in the source and medium report.

UTM parameters on internal links. The parameters tell your analytics tool which outside source a visit came from. Put a campaign on a banner on your own home page and your label replaces the real origin: someone who came from Google and then clicked the banner shows up as campaign “banner”. For clicks within your own website, events are the right tool.

Redirects that drop the parameters. If your link goes through a redirect, say from http to https, from www to the address without www, or through a short link, the redirect has to carry the query along. You can check that with a command that only fetches the headers:

curl -I "https://www.kevinwelter.com/team/susi?utm_source=pruefung&utm_medium=test&utm_campaign=test"
HTTP/2 301
location: https://kevinwelter.com/team/susi?utm_source=pruefung&utm_medium=test&utm_campaign=test

When it works, the parameters appear unchanged in the target (location). If they're missing, measurement stops there.

Personal data in the link. Email addresses, names or customer numbers don't belong in UTM values. Google's Analytics rules say neither the path nor the parameters of a URL may contain personally identifiable information, naming the UTM fields.

Missing required fields. If a parameter is missing, GA4 shows “(not set)” in its place. With Google Ads auto-tagging, GA4 per Google generally uses the auto-tagged values even if UTM parameters are on the link, so you usually don't need them there.

Where to read UTM parameters

Tool Where the data is What it reports
Google Analytics 4 Acquisition, “Traffic acquisition” report all five standard fields, plus utm_id and utm_source_platform
Umami “UTM” view in the dashboard (since version 2.11.0) the five standard fields, as page views per value
Matomo campaign reports out of the box campaign name and keyword; source, medium, content and ID as separate fields with the free MarketingCampaignsReporting plugin

One GA4 detail: in the dimensions “Landing page + query string” and “Page path + query string”, GA4 strips the UTM parameters. If you look for them there, you won't find them. How tagged links fit into a whole path from first contact to purchase is shown in Marketing Funnel Examples: Stages in Practice.

Privacy: are UTM parameters personal data?

This isn't legal advice, it's the operator's perspective. A value like utm_campaign=autumn-sale-2026 describes a promotion, not a person. Under Art. 4(1) GDPR, personal data is information relating to an identified or identifiable person, for example via “an identification number” or “an online identifier”. Give every recipient their own value, say utm_content=customer-4711, and that's exactly what you've created. Using the same values for all recipients of a promotion keeps the parameters free of it. Whether you need consent for your analytics tool depends on the tool itself, for example on cookies, not on the parameters.

How I use UTM parameters, and where Susi comes in

On kevinwelter.com, every link into my community follows the same scheme. The button at the top of Susi's team page, for example, leads to:

https://www.skool.com/ai-employee-framework-9282/about?utm_source=website&utm_medium=organic&utm_campaign=community&utm_content=team-susi-hero

Only utm_content changes per placement: team-susi-hero, team-susi-offer, team-susi-end, social-footer. My website stats in Umami count the same word as a click event, so each placement has the same name in both systems. I run Umami myself, without cookies. Internal links on my site carry no parameters. And links in my newsletter carry UTM parameters, so my website stats show which issue a visit came from without identifying the person behind it.

To be honest about it: the medium organic in my scheme is a label for the community platform. In GA4 the same value would count as organic search. If you evaluate the same kind of links in GA4, use referral there instead.

My ad campaigns are evaluated by Susi, my AI employee for ads. She judges every campaign against a test window set in advance and fixed if-then rules, and her attribution runs on Hyros, not on Meta's own attribution. On September 19, 2026 she extended her analytics tool, because a change to the Skool links surfaced a new traffic source. She added it to the source list and left the existing table's column order untouched so old rows stay readable. That's the same rule as for any naming list: add, don't rebuild. How she sets up a campaign is covered in How to Run Ads on Meta: A Guide.

Frequently asked questions

Which UTM parameters are required?

Google says every tagged link should carry utm_source, utm_medium and utm_campaign. utm_term and utm_content are optional. If a required field is missing, GA4 shows “(not set)”.

Are UTM parameters bad for SEO?

On links you share outside your website, in emails, ads or profiles, they are common and unproblematic as long as each page points to its address without parameters via a canonical tag. Internal links with parameters are the tricky part: the same page then shows up under many addresses, and your measurement stops being accurate. That's why UTM parameters don't belong on internal links.

Do UTM parameters work without Google Analytics?

Yes. The parameters are just text in the address. Umami reports the five standard fields, and Matomo recognises them too.

Can I use UTM parameters in my Instagram bio?

Yes, it's one of the most useful places, because clicks from an app don't always carry an origin. An example: ?utm_source=instagram&utm_medium=social&utm_campaign=profile&utm_content=bio.

What to do next

Write down the five links you share most often: newsletter, bio, email signature, ad, partner page. Give each a row in your naming list, build the links with fixed values and check each once with curl -I. After a month, look in your tool to see which row brings visits and which doesn't. If purchases come in through ads, ROAS Formula: Calculation and Worked Examples shows whether they pay off. Where visitors get stuck on your site after that is the subject of conversion optimization.

Susi is available in my AI Employee Framework community as a ready-made template in Premium, with Ad Library research, the four-step copy structure and the rule that every campaign starts paused. Everything about it is under Community.

Kevin Welter

Kevin Welter

Developer, IT architect, author of technical books (Kubernetes, cloud infrastructures) and speaker. Runs his business with an AI workforce of fourteen AI employees and shows solo business owners in his community how to hire their first AI employee.

More about AI employees

Your first AI employee up and running within an hour

Join the community

$5/month founding price, first 50 members