Tutorial

How Do You Build a UTM Naming Convention Sheet Your Team Will Follow?

Written by
Pravin Kumar
Published on
Oct 23, 2026

How do you build a UTM naming convention sheet your whole team will follow?

Build one shared spreadsheet with a tab of allowed values for source, medium, and campaign, a builder tab that assembles links from dropdowns, and a log tab that records every link created. Lowercase everything, ban spaces, and give one person the right to add new values. The sheet works because nobody types UTMs freehand.

Messy UTMs are one of the most common reasons a B2B team cannot answer which campaign produced pipeline. One person writes LinkedIn, another writes linkedin, a third writes li, and your reports now show three sources for one channel. Nobody did anything wrong. There was just no shared list.

This tutorial is for a marketing team of two to ten people using Google Sheets and a CRM like HubSpot. By the end you will have a sheet that builds clean links and keeps a record of every one.

What are UTM parameters, and why do naming rules matter?

UTM parameters are tags added to a link that tell analytics tools where a visit came from. The standard five are utm_source, utm_medium, utm_campaign, utm_term, and utm_content. Analytics tools treat each different spelling as a separate value, so inconsistent naming splits one channel into many rows and hides what is working.

Source names the platform or sender, such as linkedin or newsletter. Medium names the type of traffic, such as paid_social or email. Campaign names the specific initiative. Term and content are optional and help you tell apart keywords or ad variations.

The rules matter because reports group by exact text. Analytics platforms also use source and medium values to place visits into channel groups. Google documents its own channel rules for GA4, so check its current documentation before you choose medium values, and pick values that match the channels you want to see.

How should you set up the allowed values tab?

Create a tab named Values with one column each for source, medium, and campaign type. List every allowed value in lowercase, using underscores instead of spaces. Add a short description next to each value so new teammates know when to use it. This tab becomes the only place where new values can be added.

Start with what you already use. Export your last few months of traffic by source and medium, and you will see the mess. Group the variations, pick one standard spelling for each, and write those into the Values tab. That way the new convention reflects reality instead of an ideal nobody follows.

Keep the medium list short. Most B2B teams need only a handful, such as email, paid_social, paid_search, organic_social, partner, and event. A long medium list recreates the problem you are trying to fix.

Protect the tab. In Google Sheets you can protect a range so only certain people can edit it. Give edit rights to one owner, usually whoever runs marketing operations, and let everyone else view.

How do you build the link builder tab?

Create a tab named Builder with columns for destination URL, source, medium, campaign, content, and the final link. Use data validation so source and medium are dropdowns pulling from the Values tab. Then write a formula that joins the URL and parameters into a finished link. People pick values instead of typing them.

Data validation is the key step. In Google Sheets, select the source column, open data validation, and choose a dropdown from a range. Point it at the source column on the Values tab. Repeat for medium. Now a typo is impossible, because only listed values can be chosen.

For campaign names, use a pattern rather than a dropdown, since campaigns change often. A pattern like year, quarter, and a short name, all lowercase with underscores, keeps campaigns sortable. Write the pattern at the top of the Builder tab so everyone sees it.

The final link formula joins the destination URL with a question mark, then each parameter as name equals value, separated by ampersands. Add a check that uses an ampersand instead of a question mark when the destination URL already has parameters. Test it on a few real links before sharing the sheet.

Why should every link be logged?

A log records who created each link, when, for which campaign, and where it was used. When a strange value shows up in your reports, the log tells you where it came from. It also lets you reuse links instead of creating near duplicates, which keeps campaign reporting clean over time.

Make the Builder tab feed the log automatically, or ask people to copy each finished link into a Log tab with the date and their name. Automatic is better, but a manual log that people actually use beats an automated one nobody trusts.

Review the log monthly. Look for campaigns with only a handful of links, which may be one-off experiments, and for links pointing to pages that no longer exist. Broken destinations waste paid clicks and confuse attribution.

How do you make sure UTMs reach your CRM?

Capture UTM values in hidden form fields when a visitor converts, then map those fields to CRM properties. Without this step, UTMs only live in your analytics tool, and you cannot connect a campaign to a contact, a deal, or revenue. Test by clicking a tagged link and submitting a form yourself.

The details depend on your site and form tool. If your site runs on Webflow, I walk through one approach in capturing first-touch UTMs in a Webflow form. The idea is to store the values when the visitor first lands, so they survive even if the person browses several pages before converting.

Watch out for redirects. Some redirects drop query parameters, which strips your UTMs before the page loads. I explain how to check for that in what happens to UTM parameters through a redirect.

How do you roll out the sheet to the team?

Hold a short session showing the three tabs, build two links together, and agree that untagged or freehand links are not allowed in campaigns. Pin the sheet where people work, such as a team channel or the campaign brief template. Then check the first month of reports and fix any stray values right away.

Make the sheet part of an existing habit. If every campaign brief has a line for the tracking link, people will open the sheet as part of normal work. A separate rule that lives in a wiki page tends to be forgotten.

Agencies and partners need the sheet too. External teams are a common source of rogue values. Share a view link and ask them to use the builder, or create their links for them.

What mistakes break a UTM convention?

The most common mistakes are mixing uppercase and lowercase, using spaces, adding UTMs to internal links on your own site, inventing new mediums for each campaign, and letting anyone edit the allowed values. Internal UTMs are especially harmful because they can overwrite the original source of a visit in some analytics setups.

Never tag links from one page of your site to another. UTMs are for traffic arriving from outside. Tagging an internal banner can make it look like a session started from that banner, which hides the real source.

Also avoid putting personal data in UTMs. Email addresses or names in a URL can end up in analytics tools and logs where they do not belong. Use IDs or campaign names only.

What should you do next?

Export your last three months of source and medium values, group the variations, and write a clean allowed values list. Build the three tab sheet, protect the Values tab, and add data validation dropdowns. Then capture UTMs in your forms and confirm a test submission shows them on the CRM contact record.

A naming convention feels like a small thing, but it decides whether your campaign reports can be trusted. Once the sheet is in place, questions like which channel produced last quarter's pipeline become a filter instead of a debate.

If you want help setting up campaign tracking that flows cleanly from your site into HubSpot or another CRM, reach out. I build websites and the automations behind them for lead generation. Let's chat.

Get found, cited and the back office automated

Let's make your site the source AI engines quote and wire up the systems behind it.

Contact

Let's get your website found and cited by AI

Tell me what you're working on, whether AI search is skipping your product, your back office is buried in manual work, or you need a build that does both.

Got it, thanks. I read every message personally and reply within 1-2 business days.
Oops! Something went wrong while submitting the form.