How to Set Up UTM Parameters for Consistent Campaign Tracking

Set up UTM parameters with a simple naming convention, a shared sheet that builds every link, and a quick check that the tags reach your analytics tool.

Share

By the end of this playbook you will have a written UTM naming convention, a shared sheet that builds every tagged link, and a simple check that the tags reach your analytics tool. Each campaign will then appear under one name in your reports, not five spellings.

What you need

  • Access to your web analytics tool, for example Google Analytics or Umami.
  • A shared spreadsheet that marketing and sales can both open.
  • A list of the channels you run: ads, newsletter, outbound email, partners.
  • One owner who approves new source and medium values.

Step 1: Learn what each parameter does

A UTM parameter is a key and value added to the end of a link. Umami's UTM documentation lists the five standard parameters:

  • utm_source: the site or platform that sent the traffic, such as linkedin or newsletter.
  • utm_medium: the marketing medium or channel, such as email or cpc.
  • utm_campaign: the specific campaign or promotion.
  • utm_term: the paid search keyword.
  • utm_content: tells apart similar links or creatives within the same campaign.

Google's help page on collecting campaign data with custom URLs says you should always use utm_source, utm_medium and utm_campaign. It also warns that missing UTM parameters show up as (not set) in reports. Google Analytics also accepts extras such as utm_id. Leave utm_term empty unless you are tagging paid search keywords.

Step 2: Write your naming convention

Keep the rules short enough to fit on one screen:

  • Lowercase only. Google says parameter values are case sensitive, so utm_source=LinkedIn and utm_source=linkedin are different values.
  • Hyphens between words, no spaces. Write ops-leaders-demo, not Ops Leaders Demo.
  • Fixed source and medium lists. Nobody invents a new value. They ask the owner to add it to the list first.
  • Campaign names start with the year and month. For example 2026-10-ops-leaders-demo, so campaigns sort by date.

Choose mediums that your analytics tool already recognises. Google's default channel group page shows that a medium of email maps to the Email channel and referral maps to Referral. A medium that starts with paid, combined with a source on Google's list of social sites, maps to Paid Social. Google links a downloadable list of these source categories from that page, so check that your social sources, such as linkedin, appear on it before you rely on the Paid Social channel. Traffic that matches no rule is labelled Unassigned. A starter list:

Mediums: paid-social, cpc, email, social, referral
Sources: linkedin, google, newsletter, outbound, [partner-name]

Step 3: Build a shared UTM sheet

One sheet stops people from typing links by hand. Use one row per link with these columns:

  • Date created and owner
  • Landing page URL
  • Source and medium, as drop-down lists from Step 2
  • Campaign, content and term
  • Final URL, built by a formula
  • Where the link is used

Add drop-down validation to the source and medium columns so only approved values can be picked. Then join the parts with a formula and force lowercase on the free-text fields. With the landing page in column B, this works in most spreadsheet tools:

=B2&"?utm_source="&C2&"&utm_medium="&D2&"&utm_campaign="&LOWER(E2)&"&utm_content="&LOWER(F2)

Before launching, search the sheet for an existing campaign name and reuse it. For a one-off link you can also use Google's Campaign URL Builder. Log the result in the sheet too.

Step 4: Check that the tags arrive

  1. Open the final URL in a private browser window. Check that the address bar still shows the parameters. If they are gone, a redirect may be dropping them.
  2. In Google Analytics, go to Reports, then Acquisition, then Traffic acquisition. Google's campaign URL help says Session source/medium, Session medium, Session source and Session campaign appear there.
  3. Do not judge the test by the Realtime report alone. Google's Realtime report help says the first user source card only shows users that have already been processed, and it recommends the Acquisition reports for the most accurate attribution.
  4. In Umami, open the UTM insight. It breaks views down by each of the five parameters.
  5. Look for (not set) and Unassigned rows. The first means a parameter was missing. The second means the values matched no channel rule.

LinkedIn ads

https://www.example.com/demo?utm_source=linkedin&utm_medium=paid-social&utm_campaign=2026-10-ops-leaders-demo&utm_content=carousel-a

Monthly newsletter

https://www.example.com/blog/pipeline-report?utm_source=newsletter&utm_medium=email&utm_campaign=2026-10-monthly-newsletter&utm_content=top-link

Cold email sequence

https://www.example.com/case-studies?utm_source=outbound&utm_medium=email&utm_campaign=2026-10-cfo-sequence&utm_content=step-2

Using utm_content for the step number shows which email in the sequence drove the visit.

Partner webinar

https://www.example.com/webinar?utm_source=northwind&utm_medium=referral&utm_campaign=2026-11-partner-webinar&utm_content=partner-blog

Here northwind stands in for the partner's name. If the partner sends the link in its own email, keep the same source and campaign and change the medium to email.

Common mistakes

  • Mixed case. LinkedIn and linkedin become two rows in source and campaign reports. Google notes its channel definitions are not case sensitive, so the channel may still look right while the detail reports split.
  • UTMs on internal links. Tags belong on links that bring people to your site from outside. Google's page on scopes of traffic-source dimensions gives an example: a visitor arrives from a paid search ad and clicks a UTM-tagged link mid-visit. That tagged link then appears as a separate touchpoint in the key event path, and the visitor's next direct visit is credited to those UTM values, not to paid search. Leave internal banners and navigation links untagged.
  • Made-up mediums. As mediums, partner and webinar match none of Google's default channel rules. Unless the source is on one of Google's lists, that traffic lands in Unassigned.
  • Skipping the campaign. A link with only source and medium leaves (not set) in your campaign report.
  • Looking in the wrong dimension. Google omits UTM parameters from the Landing page + query string and Page path + query string dimensions. The UTM information appears in the Page location dimension instead.

Sources