TidyURLs
Go to Tools
BLOG
The TidyURLsJournal

Practical guides, tutorials, and insights about URLs, SEO, web development, and online marketing. Learn, troubleshoot, and get the most of the web.

Back to the Journal
TidyURLs Journal

A Practical UTM Naming Convention for Multi-Channel Campaigns

Practical insights, clear explanations, and useful ideas for understanding the web.

October 28, 20267 min read5 topics
A Practical UTM Naming Convention for Multi-Channel Campaigns
Explore the details
#UTM tracking#Campaign analytics#Digital marketing#Google Analytics#URL parameters
October 28, 20267 min read

UTM tags help you identify where campaign traffic comes from, but inconsistent values can make one campaign appear under several names in analytics reports. This practical UTM naming convention gives small teams a shared format for email, paid social, and partner links, plus a simple way to keep names consistent.

Key Takeaways

  • Use utm_source for the specific traffic source, utm_medium for its channel or marketing method, and utm_campaign for the initiative.
  • Keep values lowercase and agree on a small set of approved medium labels. Use hyphens to separate words inside campaign names.
  • UTM values are visible in the URL. Don’t put personal or confidential information in them.
  • A shared campaign registry helps people reuse approved names instead of inventing new variations.
  • Analytics platforms may have their own requirements. Check the current documentation for your platform before making a convention mandatory.

What the main UTM parameters mean

UTM parameters are query-string values added to a link. They label campaign traffic for analytics; they don’t change the destination page itself.

ParameterWhat it identifiesExample
utm_sourceThe specific source sending trafficlinkedin, monthly-newsletter, acme
utm_mediumThe channel or method usedpaid_social, email, partner
utm_campaignThe marketing initiativespring-launch-2025-na

The distinction between source and medium matters. linkedin can be a source, while paid_social describes the medium. If a campaign is sent to a newsletter list, monthly-newsletter can be the source and email the medium.

Required versus optional parameters

There is no universal rule that every analytics platform must treat the same UTM parameters as required. For Google Analytics campaign tagging, utm_source, utm_medium, and utm_campaign are the core fields to include for manual campaign attribution. Other platforms may parse a different set or use their own reporting rules, so verify the current guidance for the analytics tool you use.

utm_term and utm_content are optional. Use utm_term when you need to identify a paid search term or another targeting term. Use utm_content to distinguish creative versions or placements, such as hero-banner versus text-link. Add optional fields only when someone will use the data.

Because current platform documentation could not be retrieved while preparing this guide, treat the platform-specific requirement above as a starting point, not a current documentation check. Confirm your analytics provider’s latest instructions before rolling out a team-wide rule.

A reusable naming template

Start with a shared format for the three core fields:

utm_source={specific-source}
utm_medium={approved-medium}
utm_campaign={initiative}-{period}-{market}

For example:

utm_source=linkedin&utm_medium=paid_social&utm_campaign=spring-launch-2025-na

Adopt a few simple rules:

  1. Use lowercase. LinkedIn, linkedin, and LINKEDIN may be treated as different values in reports.
  2. Use hyphens between words in multiword values. Write spring-launch-2025-na, not Spring Launch 2025 NA or a mix of spaces and punctuation.
  3. Keep medium labels controlled. Choose approved values such as email, paid_social, and partner, then reuse them. Don’t alternate among paid-social, paid_social, and paid social for the same channel.
  4. Make campaign names describe the initiative. Include useful dimensions such as initiative, period, or market in a consistent order. Avoid adding details that people won’t use in reporting.
  5. Use one source label for each source. Decide whether a newsletter should be monthly-newsletter or newsletter, for example, and record that choice.

The underscore in paid_social is part of the approved medium label; it’s not a separator for campaign names. Consistency matters more than choosing one punctuation mark for every value.

Examples across three channels

Use the same campaign name for all links promoting the same initiative. Change utm_source and utm_medium to describe the actual placement or channel.

Email

https://example.com/spring?utm_source=monthly-newsletter&utm_medium=email&utm_campaign=spring-launch-2025-na

Here, monthly-newsletter identifies the source, email identifies the medium, and spring-launch-2025-na identifies the initiative.

Paid social

https://example.com/spring?utm_source=linkedin&utm_medium=paid_social&utm_campaign=spring-launch-2025-na&utm_content=video-a

utm_content=video-a can distinguish this creative from another ad in the same campaign. Use a consistent format if you add creative labels.

Partner campaign

https://example.com/spring?utm_source=acme&utm_medium=partner&utm_campaign=spring-launch-2025-na

Use the partner’s agreed source label and the same medium each time your team reports partner referrals. If your analytics setup has an established partner-medium label, follow that taxonomy instead.

You can create and check tagged links with the [UTM Builder](UTM Builder). Whatever method you use, verify that the finished link keeps the intended destination and contains the approved values.

Why inconsistent labels fragment reports

Analytics reports group traffic using the values they receive. If people use LinkedIn, linkedin, and linkedin-ads for the same source, those values can show up as separate rows. The same problem happens when a team alternates between paid_social and social-paid as a medium, or uses different campaign names for links promoting the same initiative.

The result is a less complete view of campaign activity: a person comparing sources may need to combine rows manually, and filters or dashboards built around one label may miss the others. The exact presentation depends on the analytics platform and its reporting configuration, but inconsistent tagging makes reliable comparison harder.

Preventing drift with a shared campaign registry

Keep a simple shared spreadsheet or database as the approved place to plan and look up UTM values. A useful registry can include:

FieldExample
Campaign namespring-launch-2025-na
Approved sourcelinkedin, monthly-newsletter, or acme
Approved mediumpaid_social, email, or partner
Destination URLThe intended landing page
OwnerThe person responsible for the link or campaign
Status or datesDraft, active, or complete; planned dates if useful
NotesCreative label, market, or other reporting context

Before publishing a link, search the registry for the campaign and source. Reuse an existing value when it describes the same thing. Add a new label only when there is a real reporting distinction, and update the shared list so other people can follow it.

For a small team, the registry can be a spreadsheet with dropdowns for approved mediums and a documented campaign-name pattern. If you have a larger volume of links, consider a workflow that generates URLs from those approved fields. A [UTM Builder](UTM Builder) can also help assemble a tagged URL, but a link-building tool alone doesn’t decide which names your team should standardize on.

Remember that UTM values are public

UTM parameters are part of the URL. Anyone who receives or can see the link can read them; they can also appear in browser history, referrer data, analytics records, and logs. Use campaign labels, not private information. Avoid names, email addresses, customer identifiers, access tokens, internal notes, or confidential offer details in UTM values.

Common Mistakes

  • Changing capitalization or spelling: Treat values as case-sensitive for reporting purposes and stick to the approved spelling.
  • Mixing source and medium: Use a publisher or placement for utm_source and a channel label for utm_medium.
  • Creating a new campaign name for every channel: Reuse the campaign value when the links promote the same initiative.
  • Adding optional parameters without a plan: Extra labels that aren’t used consistently make reports harder to interpret.
  • Putting sensitive details in the URL: UTM values are visible; don’t use them to carry private data.
  • Assuming a URL builder validates your analytics setup: Building a syntactically valid link does not guarantee that your platform will classify or report it as intended.

Best Practices

  • Document the meanings of each field and keep a short approved list of medium values.
  • Choose a campaign-name pattern your team can apply without guessing, such as initiative-period-market.
  • Check new values against the registry before publishing.
  • Test a tagged link by opening it and confirming that it reaches the intended page.
  • Review reports periodically for unexpected variations, then correct the source workflow where those variations were created.
  • Recheck your analytics provider’s current campaign-tagging documentation when setting or changing team rules.

Conclusion

A useful UTM naming convention is simple enough for everyone to follow and strict enough to keep reports comparable. Standardize source, medium, and campaign values, record them in a shared registry, and keep sensitive information out of URLs.