Launch offer: 20% off your first quarter on any plan, until November 11.

--d--h--m--s
Claim it

7/12/2026 · By The Comppound Gecko

A UTM Naming Convention Template

UTM parameters tell your analytics tools where traffic came from. Without a consistent naming convention, the same source shows up as "LinkedIn," "linkedin," "li" and "linkedin.com," and your reports split one channel into four rows. A UTM naming convention template fixes this by defining exactly how your team tags links, so data stays clean and comparable from one month to the next.

This guide walks through each parameter, the rules that keep values consistent, a set of approved values you can adapt, and the governance that stops the convention from decaying after a few months. It is written for small B2B SaaS teams where several people create links and nobody has time to clean up analytics data by hand.

The five UTM parameters

There are five standard UTM parameters, and each one answers a different question about a visit.

The utm_source parameter records where the traffic comes from. Typical values are platforms or publishers, such as linkedin, google or newsletter. The utm_medium parameter records the type of channel, such as social, cpc or email. The distinction matters: LinkedIn is a source, while organic social and paid social are mediums, and the same source can appear under different mediums.

The utm_campaign parameter identifies the specific campaign or initiative, such as a webinar or a product launch. The utm_content parameter differentiates variations within a campaign, such as two ad creatives or two links in the same email. The utm_term parameter is most often used for paid search keywords, and some teams repurpose it for audience details on other channels.

Source, medium and campaign are the three that matter most. If your team only reliably fills in those three, your reports will already be far more useful than most. Content and term add detail when you are comparing variations, but they are optional for most links.

General rules that keep data clean

The single most important rule is to use lowercase only. Most analytics tools treat "LinkedIn" and "linkedin" as different values, so one capital letter is enough to split a channel in your reports. Make lowercase the default everywhere and build it into whatever tool generates your links.

Choose either hyphens or underscores as your word separator and stick with it. Neither is better, but mixing them creates near-duplicate values such as "product-launch" and "product_launch" that someone has to merge later. Avoid spaces entirely. Spaces get encoded into characters like %20 or plus signs, which are hard to read in reports and easy to mistype.

Keep names short but clear. A value should be readable by someone who joins the team next year, without needing a decoder. Abbreviations that make sense to one person, such as "q3-ob-wbnr," become a puzzle to everyone else.

Never use UTM parameters on internal links, such as a banner on your blog pointing to your pricing page. When a visitor clicks a tagged internal link, many analytics setups start a new session or overwrite the original source, so a visitor who arrived from organic search suddenly looks like they came from your own banner. That corrupts exactly the attribution data UTMs are meant to protect. Use event tracking for internal clicks instead.

Finally, document every new value in a shared sheet before it is used. A convention that lives only in someone's head will be broken within weeks.

Approved source values

Define a short list of approved sources and add to it deliberately. For a typical B2B SaaS company, a starting list might include linkedin for both organic and paid LinkedIn activity, google for Google Ads, bing for Microsoft Ads, and facebook, instagram and x for those platforms. Use newsletter for your own email newsletter, and use the name of your email platform, such as hubspot, for automated emails sent from workflows if you want to distinguish them from the newsletter.

For partner referrals, use the partner's name as the source, written in lowercase with hyphens. Do the same for podcasts and sponsorships, using the show's name. This lets you compare partners and shows against each other, which is usually the question you want answered when deciding where to spend next quarter.

The point of an approved list is that people choose from it rather than inventing values. When someone needs a new source, they add it to the sheet first, and the owner of the convention checks that it does not duplicate an existing value under a different spelling.

Approved medium values

Align medium values with your analytics tool's default channel groupings wherever you can. Most analytics platforms use the medium to decide which channel a visit belongs to, so nonstandard values can land traffic in an "unassigned" or "other" bucket where nobody looks.

A reasonable starting set uses cpc for paid search and other paid clicks, paid-social for paid social ads, social for organic social posts, email for email campaigns, referral for partner and affiliate links, display for display ads, sponsorship for paid sponsorships, and event for links shared at or around events.

Before you finalize the list, check how your specific analytics tool groups mediums into channels, because the rules differ between tools and can change over time. If your tool expects "paid_social" or "paidsocial" for the paid social channel, use that exact value rather than your preferred spelling. Matching the tool's expectations is worth more than internal elegance.

Campaign naming structure

Campaign names benefit most from a fixed structure, because they are the values people invent most often. A simple pattern works well:

[year]-[quarter or month]-[campaign-name]

Following that pattern, a webinar about onboarding in the third quarter becomes 2026-q3-onboarding-webinar, and a July product launch becomes 2026-07-product-launch. Ongoing programs that do not belong to a time period can use a prefix like evergreen, as in evergreen-newsletter.

The date prefix does two useful things. It sorts campaigns chronologically in reports, and it stops a recurring campaign name such as "webinar" from merging several years of activity into one row. Include enough detail to identify the campaign later, but stop before names become sentences. If a campaign name needs to carry a lot of context, keep that context in your UTM log and leave the name itself short.

The same campaign name should be used across every channel that supports the campaign. If the onboarding webinar is promoted on LinkedIn, in the newsletter and through a partner, all three links share the campaign value 2026-q3-onboarding-webinar and differ only by source and medium. That is what makes it possible to see total campaign performance in one place.

Content and term values

Use utm_content to tell apart variations within the same source, medium and campaign. For ads, that might mean values like video-a and carousel-b. For web placements, it might mean header-link and footer-link. For emails, it often means cta-button versus text-link, which tells you whether readers click buttons or inline links.

The utm_term parameter often captures paid search keywords, and some ad platforms fill it automatically. On other channels, you can use it for audience segments, such as founders or marketers, when you run the same creative to different audiences. If you use term this way, add the allowed audience values to your shared sheet like any other parameter.

A LinkedIn organic post promoting a churn guide might end with this query string:

?utm_source=linkedin&utm_medium=social&utm_campaign=2026-q3-churn-guide

A link in the main call to action of a weekly newsletter might look like this:

?utm_source=newsletter&utm_medium=email&utm_campaign=2026-07-weekly&utm_content=main-cta

A paid LinkedIn video ad in a demo campaign might use this:

?utm_source=linkedin&utm_medium=paid-social&utm_campaign=2026-q3-demo-push&utm_content=video-a

Notice that the organic and paid LinkedIn links share a source and differ by medium. That is the pattern that lets you compare organic and paid performance on the same platform without confusion.

Build a UTM builder sheet

The easiest way to enforce a convention is to make following it easier than ignoring it. A shared spreadsheet does this well. Give the source and medium columns dropdown menus that only allow approved values. Add a campaign column with a formula or guidance that applies the date-prefix structure. Use a formula to assemble the full tagged URL from the base URL and the parameters, and force the result to lowercase.

Keep every generated link in the same sheet as a log, with the date, the person who created it and where it was used. The log becomes useful months later, when someone asks what a strange campaign value in a report refers to. It also lets you reuse links instead of creating near-duplicates for the same placement.

Govern the convention

Assign one owner, usually whoever handles marketing operations or analytics. On a very small team, that might be the founder or the first marketer. The owner approves new source and medium values, reviews reports for inconsistencies, keeps the documentation current and walks new team members and agencies through the rules.

Ownership matters because conventions decay quietly. A contractor tags a campaign with a capitalized source, a teammate invents a new medium for a one-off event, and within a quarter the channel report has a dozen stray rows. Someone needs both the authority and the responsibility to catch this early.

Audit regularly

Once a month, look through your analytics source and medium report for values that should not be there. Look for unexpected sources or mediums, capitalization inconsistencies and campaign names that do not follow the date structure. Check for internal links with UTMs by looking for sessions that begin on deep pages with your own campaign values attached.

Fix issues quickly before they accumulate. Most analytics tools do not let you rewrite past data, so the cost of a mistake is the reporting confusion it causes until it is corrected. You can often create channel rules or filters to group stray values, but correcting the links at the source is always better.

Common mistakes

The most frequent mistake is mixing cases, such as Email and email, which splits one channel in two. Close behind is using source and medium interchangeably, for example putting "email" as the source and "newsletter" as the medium on some links and the reverse on others. Tagging internal links is less common but more damaging, because it rewrites attribution for visitors who were already on your site.

Inconsistent campaign names across channels make it impossible to see total campaign results, and missing documentation means every new person creates their own version of the rules. All of these problems share a cause: the convention was agreed once in a meeting and never written down or enforced.

The takeaway

A UTM convention does not need to be complicated. Write down approved values for source and medium, use a dated structure for campaign names, keep everything lowercase, never tag internal links, and give one person ownership of the rules. Put the convention into a builder sheet so following it is the path of least resistance. A simple, documented system makes your attribution data trustworthy and saves hours of cleanup later.

Frequently Asked Questions

A documented set of rules defining how to name UTM parameters so tracking data stays consistent.

Yes. Lowercase avoids duplicate values caused by different capitalization.

No. Internal UTMs overwrite the original traffic source and distort attribution.

Still have questions? Talk to our team.

The Comppound Gecko

SEO and AI search for B2B SaaS

Comppound plans, produces and publishes search content for B2B SaaS companies. Every article is researched and drafted with AI, then reviewed by a member of the team for accuracy, clarity and usefulness before it is published.

How we workAbout Comppound

Was this article helpful?

Want your blog doing this every week?

This is what shows up once Comppound handles your content pipeline end to end. Book a call and we'll show you how it works for your site.