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 Marketing Teams

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

October 28, 20268 min read5 topics
A Practical UTM Naming Convention for Marketing Teams
Explore the details
#UTM tracking#campaign tracking#Google Analytics#marketing analytics#URL parameters
October 28, 20268 min read

When several people build campaign links, small differences in UTM tags can split otherwise similar traffic into separate report values. A shared UTM naming convention gives everyone a repeatable way to label campaigns across paid search, social, email, and partner channels.

This guide provides a reusable template, examples, and a lightweight review process. It also distinguishes team conventions from Google Analytics requirements; the current Google Analytics documentation could not be consulted while preparing this article, so verify platform-specific behavior against its latest guidance before relying on it.

Key Takeaways

  • Agree on what utm_source, utm_medium, and utm_campaign mean before creating links.
  • Use lowercase values and one consistent separator to avoid near-duplicate labels.
  • Keep source and medium stable; use campaign to identify the specific initiative.
  • Record approved values in one shared naming guide and review links before launch.
  • Treat this naming system as a team recommendation, not a set of Google Analytics-required values.

A reusable UTM naming convention

Use this template for the three core parameters:

utm_source=<platform_or_publisher>
utm_medium=<channel_type>
utm_campaign=<year>_<initiative>_<offer_or_audience>

For example:

utm_source=google&utm_medium=cpc&utm_campaign=2025q2_spring_sale_new_customers

Define each field in your team guide:

ParameterMeaningExample values
utm_sourceThe platform, publisher, or sender that referred the visitgoogle, linkedin, company_newsletter
utm_mediumThe broad marketing channel or traffic typecpc, paid_social, email
utm_campaignThe specific promotion or initiative2025q2_spring_sale_new_customers

Keep the fields distinct. For instance, use linkedin as the source and paid_social as the medium rather than putting linkedin_paid in both fields. A campaign value should identify the initiative, not repeat the source and medium.

The exact vocabulary is a team choice. Before adopting values such as paid_social or cpc, check how your analytics setup uses campaign parameters and channel groupings. Do not assume that a naming convention automatically controls how a platform classifies traffic.

Examples across channels

These examples use lowercase values and underscores in campaign names. Adapt the source and medium values to your channel mix, then document the choices so everyone uses them consistently.

Campaign activityExample parameters
Paid Google search for a spring promotionutm_source=google&utm_medium=cpc&utm_campaign=2025q2_spring_sale
Paid LinkedIn campaign for a product launchutm_source=linkedin&utm_medium=paid_social&utm_campaign=2025q2_product_launch
A company newsletter promoting a webinarutm_source=company_newsletter&utm_medium=email&utm_campaign=2025q2_webinar_registration
A publisher’s email placement for a seasonal offerutm_source=publisher_name&utm_medium=email&utm_campaign=2025q2_spring_sale

Replace publisher_name with the actual publisher identifier from your approved source list. If you need to distinguish individual creative versions or placements, consider utm_content and define its format separately—for example, utm_content=hero_banner versus utm_content=text_link. Avoid inventing extra conventions ad hoc.

To construct a complete URL, append the parameters to the page URL. Use ? to begin a query string, then & between parameters:

https://example.com/spring?utm_source=google&utm_medium=cpc&utm_campaign=2025q2_spring_sale

If the destination URL already contains a query string, append UTM parameters with & rather than adding a second ?. For encoding values or checking URL components, you can use the [UTM Builder](UTM Builder); still review the resulting parameter values against your team’s approved convention.

Why consistency matters

Capitalization can create separate labels

Google, google, and GOOGLE are visibly similar but are different text values. Analytics tools may preserve distinctions in campaign dimensions or reports, depending on the product and configuration. Choose one case—lowercase is easy to enforce—and normalize every link to it.

Spaces and separators invite variation

A space may be encoded when included in a URL, and different contributors may represent the same phrase with spaces, hyphens, or underscores. For example, spring sale, spring-sale, and spring_sale are not a reliable shared label. Pick a separator for campaign names and use it every time. This template uses underscores and avoids spaces.

Abbreviations can become ambiguous

Short labels save characters but may mean different things to different contributors. Avoid undocumented values such as em, soc, or q2sp. If an abbreviation is useful, define it once in the naming guide and use it consistently. Prefer readable values when there is no practical need to shorten them.

Mixed labels make comparisons harder

If one email campaign uses email and another uses newsletter, reports may show them as different medium values even when the team intended the same category. Likewise, meta, facebook, and instagram should not be mixed without a clear rule for what source represents. Decide whether source identifies the platform, account, publisher, or another agreed entity, then apply that definition across campaigns.

These rules reduce avoidable naming variation; they do not guarantee that every analytics report will group data as expected. Validate the actual reporting behavior in your analytics property.

A lightweight approval and documentation workflow

A short shared process is usually enough to prevent most tagging drift:

  1. Create a shared register. Use a team spreadsheet or campaign tracker as the authoritative place for approved links and definitions.
  2. Record the essentials. Include the destination URL, source, medium, campaign, optional content or term values, campaign owner, launch date, and approval status.
  3. Set the naming rules once. Document capitalization, separators, date or quarter format, source definitions, and approved medium values. Include examples of both accepted and rejected patterns.
  4. Have one person review new patterns. A campaign owner or analytics lead can approve new source or medium labels before a team uses them. Reuse an existing value when it describes the same channel.
  5. Check each link before launch. Confirm the destination loads, parameters are attached to the intended page, values follow the convention, and the link does not contain an accidental duplicate or typo.
  6. Review reports after launch. Check whether the campaign appears under the expected source, medium, and campaign values. If reporting differs from the team’s expectation, investigate the analytics configuration rather than silently changing the naming rule.
  7. Keep a change log. When the team updates an approved value, record the date and reason. Do not retroactively rename old links without considering how that affects historical comparisons.

A practical register might have columns like these:

Campaign | Destination URL | Source | Medium | Campaign value | Owner | Reviewer | Status

For larger teams, give one person responsibility for the vocabulary and let campaign contributors request new values. For a small team, a brief review in the existing campaign planning process may be sufficient.

Google Analytics: convention versus requirement

UTM parameters are URL query parameters used to provide campaign information to analytics systems. In a Google Analytics workflow, teams commonly use utm_source, utm_medium, and utm_campaign to label where a visit came from, the type of marketing traffic, and the campaign. The exact effects of a value on reports or channel grouping depend on the analytics product and its configuration.

The lowercase rules, underscore separator, suggested campaign format, and approval process in this article are team recommendations, not claims about mandatory Google Analytics syntax. Do not treat example values such as paid_social as universally required or assume that changing a UTM value will change how existing data is processed. Because current Google Analytics documentation was not available for consultation here, check the latest official guidance for supported parameters and reporting behavior before using this template as a platform-specific specification.

Common Mistakes

  • Changing the meaning of a field: Putting a platform in utm_medium for one campaign and a channel type there for another makes values harder to interpret.
  • Creating a new label for every campaign: A new campaign name may be appropriate; a new spelling for the same source or medium usually is not.
  • Using inconsistent case or separators: SpringSale, spring-sale, and spring_sale can fragment labels.
  • Overloading campaign names: Keep the campaign value readable. Put creative-specific distinctions in a separately documented parameter when needed.
  • Assuming a builder enforces team policy: A URL builder can help assemble a link, but contributors still need to select approved values and verify the destination.
  • Ignoring query-string syntax: Use & when adding parameters to a URL that already has a query string, and avoid appending parameters after a fragment identifier such as #section.
  • Putting sensitive information in tags: UTM values can appear in URLs, browser history, logs, and referrer data. Do not include personal data, credentials, or confidential details.
  • Changing conventions without review: Unannounced updates can create new labels and make reporting comparisons less straightforward.

Best Practices

  • Publish one short source-of-truth naming guide where campaign contributors already work.
  • Use lowercase and one documented separator; normalize values before launch.
  • Define source and medium lists, but allow reviewed additions when a genuinely new channel appears.
  • Keep campaign names descriptive enough to distinguish initiatives without embedding unnecessary detail.
  • Test links on the destination page and inspect the final URL before distributing it.
  • Periodically review campaign reports for unexpected spelling variants and update training or approval steps.
  • Keep platform-specific guidance separate from your team’s general naming policy, and revisit it when analytics configuration changes.

Conclusion

A useful UTM naming convention is less about finding a perfect label and more about helping every contributor make the same choice for the same kind of campaign. Agree on field meanings, standardize formatting, document approved values, and review links before launch. That small process makes campaign data easier for the team to interpret.