UTM best practices come down to one rule: everyone who tags a link uses the same values, written the same way, every time. When that rule slips, one campaign splits across several rows, traffic piles up in GA4's Unassigned channel and last quarter's numbers stop lining up with this quarter's.

Share post

UTM Best Practices and Naming Conventions for B2B Teams

utm-best-practices

60-Second Summary

This guide provides a compact UTM naming convention and rules to keep tagging consistent across B2B teams, illustrated with a single LinkedIn webinar campaign. Follow these principles to prevent fragmented GA4 reports and ensure campaign data is trustworthy and comparable.

  • Key takeaways: Use a single, written convention (lowercase, hyphen-separated) so GA4 records each source/medium consistently; tag only external links; keep campaign names short, readable and dated (type-topic-yyyy-mm).

  • Standout strategies & tactics: Provide short approved lists for utm_source and utm_medium aligned to GA4 default channels, use a link builder and checker to enforce values, appoint one approver for new tags, and add builder choices to make compliance easier than inventing values.

  • Real-world lessons & frameworks: Standardise campaign (type-topic-yyyy-mm) and content (format-variant or placement) patterns, align mediums with GA4 so channels map correctly, and use custom channel groups to unify old and new medium values when conventions change.

  • Operational checklist: Maintain a single spreadsheet of every tagged link with creator, launch and retirement dates; test links in GA4 Realtime before launch; review and prune the convention quarterly; and add new channels to the list before the first link is built.

*This summary was created with AI assistance, using our original content.

This guide gives you the rules that keep tagging consistent across a team, a naming convention you can copy and adapt, and example values for the channels B2B teams use most. Every example uses the same campaign, a LinkedIn campaign promoting a webinar, so you can see one set of rules applied across every channel. If you need a refresher on what each tag does first, start with our guide to UTM parameters.

Why UTM data gets messy

Take a LinkedIn campaign promoting a webinar. Three people on the team share links to it in the same week. One tags their link utm_source=LinkedIn, one uses utm_source=li, and one copies the address of the LinkedIn page and uses utm_source=linkedin.com.

GA4 now splits one campaign across separate rows:

Source

Sessions (illustrative)

LinkedIn

180

li

95

linkedin.com

40

None of these rows is right on its own. Anyone who filters the report for linkedin finds nothing, and anyone who looks only at the top row underestimates the campaign by almost half. Multiply that by every campaign and every person who builds links, and the report stops being something the team trusts.

It also happens slowly. Nobody sets out to break the report. Each person makes a reasonable choice on the day, and the damage only shows weeks later, when someone tries to compare campaigns and the numbers do not add up.

Once you run several campaigns across channels and people, tags get messy fast. We ran into this ourselves, so we built an internal UTM link builder and UTM checker to keep our own tagging consistent. We figured plenty of other marketing teams had the same problem, so we made both free to use.

UTM best practices for B2B teams

Use lowercase for every value

UTM values are case sensitive in GA4, so LinkedIn and linkedin are recorded as two different sources. The fix is a single rule with no exceptions: every value is lowercase, including campaign names and content labels. It removes a whole category of errors, because nobody has to remember how a platform name was capitalised last time. Our guide to case-sensitive UTM parameters covers how to repair data that is already split.

Use hyphens between words and never spaces

A space in a link becomes %20 or a plus sign when the browser encodes it, so "webinar b2b" arrives in your report as webinar%20b2b or webinar+b2b, depending on where the link was built. Neither reads well and both break filters. Use a hyphen between words in campaign and content values instead. Medium values are the exception: write them exactly as your medium list has them, such as paid_social. Whatever separators you settle on, write them down and use them the same way every time, because webinar-b2b and webinar_b2b are two different values.

Use source for the platform and medium for the type of channel

Source answers "which site or platform sent this visit?" and medium answers "what kind of channel was it?". For a LinkedIn ad, the source is linkedin and the medium is paid_social. For an organic LinkedIn post, the source stays linkedin and the medium becomes social. Keeping the two questions apart lets you report on LinkedIn as a whole, or on paid social across every network, from the same data.

Choose medium values GA4 recognises

GA4 sorts visits into its default channels using mainly the medium value. paid_social lands in Paid Social, social in Organic Social, cpc in Paid Search when the source is a search engine, and email in Email, according to Google's default channel group rules. Values GA4 does not recognise, such as qr, event or partner, end up in Unassigned. If you need one of those, plan a custom channel group for it before the campaign starts.

Every link you control on another platform gets tags: ads, posts, emails, partner placements and printed QR codes. Links between pages on your own site never do. An internal link with UTM tags overwrites the original source of the visit, so someone who came from organic search and clicked a tagged homepage banner is recorded as coming from the banner, and your organic numbers shrink.

Keep campaign names short, readable and dated

A campaign name should tell a colleague what the campaign was without opening a brief. Use the pattern type, topic, year and month: webinar-b2b-analytics-2026-11. The type groups similar campaigns together in a sorted report, the topic says what it was about and the date stops this year's webinar colliding with last year's. Avoid internal codes that only one person understands.

Paste each link into a checker or click it yourself, confirm the page loads and look for the visit in GA4's Realtime report. Check that every value follows the convention, that nothing is misspelled and that the page address itself is right. A broken link caught before launch takes a minute to fix. One caught after a week of ad spend costs you the week's data.

Keep a single spreadsheet, owned by one person, with a row for every tagged link: the campaign, the full link, who created it and the launch date. It gives the team one place to copy existing links from instead of rebuilding them, and it makes "where did this traffic come from?" a quick lookup when an unfamiliar value appears in a report. Add a column for the date a link was retired, so old links stay on record after the campaign ends.

How to build a UTM naming convention

A naming convention is a short written document that settles every tagging decision in advance. To build one:

  1. List every platform you send traffic from and fix one utm_source value for each, such as linkedin, google and newsletter.

  2. Fix your utm_medium values against GA4's default channels, so each one lands in the channel you expect.

  3. Agree a campaign naming pattern, such as type-topic-yyyy-mm, and write two or three examples next to it.

  4. Agree a pattern for utm_content, usually the ad format and a variant letter, or the placement for organic links.

  5. Write the convention down in one shared place that everyone who builds links can open, and link to it from your campaign brief template.

  6. Name one person who approves any new value. When someone needs a source that is not on the list, they ask that person instead of inventing one.

  7. Review the list every quarter, remove values nobody uses and add the ones the team has asked for.

The convention only works if it is easier to follow than to ignore. Short lists, clear examples and a builder that offers the approved values as choices do more than a long policy document.

For a small team, the whole convention fits on one page: a list of approved sources, a list of approved mediums with the GA4 channel each one lands in, and the patterns for campaign and content. Larger teams and agencies add a column for who owns each channel, so requests for new values go to the right person.

A UTM naming convention you can copy

Here is a convention built for a B2B team. Adjust the platform list to match the channels you use.

Platform

utm_source

LinkedIn

linkedin

Google

google

Microsoft Bing

bing

Meta (Facebook)

facebook

Instagram

instagram

YouTube

youtube

X

x

Your newsletter

newsletter

A partner's newsletter or site

the partner's name, in lowercase

Channel type

utm_medium

GA4 default channel

Paid social

paid_social

Paid Social

Organic social

social

Organic Social

Paid search

cpc

Paid Search

Email

email

Email

Display ads

display

Display

Partner and co-marketing links

referral

Referral

Affiliate links

affiliate

Affiliates

Paid Social and Paid Search depend on the source as well as the medium. GA4 puts paid_social in Paid Social only when the source is a social network it recognises, such as linkedin, and cpc in Paid Search only when the source is a search engine, such as google.

Field

Pattern

Example

utm_campaign

type-topic-yyyy-mm

webinar-b2b-analytics-2026-11

utm_content

format-variant, or placement

video-ad-a, company-page-post

We use the same pattern for our own campaigns. Every link goes through our builder, so the values come from a list instead of someone's memory.

To adapt it, add a row to the source table for every platform you use and remove the ones you do not, so the list stays short. Keep the medium table close to GA4's default channels: if you add a medium of your own, create the custom channel group that catches it at the same time. Agencies running links for several clients can use the same convention for each one and keep campaign names unique by adding the client's short name at the front.

UTM examples for common B2B channels

Here is the convention applied to the channels most B2B teams use, with the webinar campaign as the example wherever it fits.

Channel

utm_source

utm_medium

utm_campaign

utm_content

LinkedIn paid ad

linkedin

paid_social

webinar-b2b-analytics-2026-11

video-ad-a

LinkedIn company page post

linkedin

social

webinar-b2b-analytics-2026-11

company-page-post

Webinar reminder email

newsletter

email

webinar-b2b-analytics-2026-11

reminder-1

Google Ads search ad

google

cpc

webinar-b2b-analytics-2026-11

text-ad-a

Partner co-marketing newsletter

partner name

referral

webinar-b2b-analytics-2026-11

partner-newsletter

Review-site profile link

review site name

referral

review-profile-2026

profile-link

Event QR code

event name

print

event-name-2026-11

booth-qr

Google Ads usually tags clicks itself with auto-tagging, so check your setup before adding manual tags to Google Ads links, or you may end up with conflicting data. And print is not a medium GA4 recognises, so QR code visits land in Unassigned unless you create a custom channel group that catches them.

LinkedIn has more options than the two rows above, including tags that Campaign Manager adds to ads automatically. Our guide to LinkedIn UTM parameters covers the full setup for ads, posts and messages.

Use the table as a starting point for your own list. When a new channel comes up, add a row here before anyone builds the first link for it, so the convention covers the channel from its first click.

What to do when your naming convention changes

Conventions change. A new channel arrives, a team merges or someone realises paid-social and paid_social have both been in use for a year. Handle the change so that past reports still make sense.

Do not rename tags on campaigns that are already live. The visits before and after the change would split across two values, which is the problem you are trying to fix. Apply the new values to new campaigns only.

Keep a record of every old value next to its replacement, with the date of the change, in the same document as the convention. When someone compares this year with last year, they can see why the values differ.

In GA4, a custom channel group can put old and new medium values into the same channel, and custom channel groups apply to past data as well as new data. A standard GA4 property allows two custom channel groups, so plan them carefully. Our guide to UTM data in Google Analytics shows where to find the results once the grouping is in place.

Frequently asked questions

What are common UTM mistakes?

The most common UTM mistakes are mixed capitals, spaces in values, tagging internal links and inventing a new medium for every campaign. Each one splits or misfiles your data. A written naming convention, a builder and a check before launch prevent most of them. They also belong on any list of web analytics best practices.

How do you write a UTM?

Start with the page address, add a question mark, then add each tag as a name and a value joined by an equals sign, with an ampersand between tags. For example: utm_source=linkedin&utm_medium=paid_social&utm_campaign=webinar-b2b-analytics-2026-11. Use a builder so the values match your naming convention every time.

What are the 5 UTM parameters?

The five UTM parameters are utm_source, utm_medium, utm_campaign, utm_content and utm_term. Source is the platform, medium is the type of channel and campaign is the campaign name. Content tells apart ads or placements in the same campaign, and term records the paid search keyword. Use source, medium and campaign on every tagged link.

Should UTM parameters be lowercase?

Yes. UTM values are case sensitive in GA4, so LinkedIn and linkedin become two separate rows in your reports. Google recommends lowercase as standard practice. Writing every value in lowercase, including campaign names, removes a whole category of errors and means nobody has to remember how a value was capitalised the last time.

Why is my UTM traffic showing as Unassigned in GA4?

Traffic shows as Unassigned when GA4 cannot match the medium value to one of its default channels. Values such as qr, event, partner or print are common causes. Switch to a medium GA4 recognises, such as email, social or referral, or create a custom channel group that tells GA4 where those values belong.

Who should own a UTM naming convention?

One named person, usually in marketing operations or whoever owns analytics, should own the convention. They approve new values, keep the shared list up to date and review it every quarter. Without a single owner, people add values when they need them, and the convention drifts back into the same inconsistency it was meant to stop.

Check your live campaign links with the free UTM checker and fix anything that breaks the convention before it reaches your reports.

Generate quality leads from website traffic

serban giurgi leadfeeder teamweek

SEO Manager @ Leadfeeder

Serban Giurgi is SEO Manager at Leadfeeder, where he leads end-to-end SEO strategy across technical, content, on-page, off-page, and international markets. His work focuses on connecting search visibility with pipeline by combining intent signals, search behaviour data, and content performance insights.

With experience scaling SEO programmes for B2B SaaS, marketplaces, and large publishers, Serban brings a practical perspective on how organic search drives qualified demand. His background in technical SEO, content quality, and visitor identification informs his approach to turning anonymous traffic into measurable revenue opportunities.

Related articles