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 Campaigns

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

October 28, 20267 min read5 topics
A Practical UTM Naming Convention for Marketing Campaigns
Explore the details
#UTM tracking#Marketing analytics#Campaign management#Digital marketing#URL parameters
October 28, 20267 min read

A shared UTM naming convention for marketing campaigns helps teams compare email, social, and paid traffic without creating a different label for every person or platform. This workflow defines the core parameters, gives you a reusable naming template, and shows how to keep campaign links consistent.

Key Takeaways

  • Use utm_source for the source, utm_medium for the channel type, and utm_campaign for the promotion or initiative.
  • Agree on lowercase values, separators, and approved names before building links.
  • Use optional parameters such as utm_content or utm_term only when you have a reporting question they can answer.
  • Keep a shared campaign log and check that your analytics platform interprets your parameters as expected.
  • UTMs label campaign traffic; they do not identify individual users. Never put personal information in them.

What the UTM parameters mean

UTM parameters are query-string labels added to a destination URL. Analytics platforms can use them to categorize incoming campaign traffic. The three core parameters are:

ParameterWhat it describesExample
utm_sourceThe source sending the visit, such as a newsletter, social network, or ad platformweekly_newsletter, linkedin, search_ads
utm_mediumThe channel or marketing methodemail, organic_social, paid_search
utm_campaignThe promotion, launch, or initiativespring_launch_2025

The distinction between source and medium matters. For example, linkedin can be the source and paid_social the medium. If the same value is used for both, it becomes harder to compare sources separately from channel types.

Optional parameters add detail when useful:

  • utm_content can distinguish links, placements, or creative variants within a campaign, such as hero_cta and footer_link.
  • utm_term is commonly used to label a paid-search keyword or keyword grouping.
  • Some platforms support additional campaign parameters. Check the documentation for the analytics platform and reporting setup your team uses before relying on them.

These labels describe a visit or campaign link, not a person. Do not put names, email addresses, phone numbers, or other personal information in UTM values. URLs may be recorded in browser history, analytics systems, logs, and referrer data.

Choose a team-wide naming pattern

A practical default is lowercase values with underscores between words. Pick one separator and use it everywhere; lowercase plus underscores is readable in reports and avoids variations caused by capitalization or spaces.

Use this template:

utm_source={source}&utm_medium={medium}&utm_campaign={campaign}&utm_content={placement_or_creative}&utm_term={keyword_or_group}

Treat the first three fields as the standard core for campaign links. Add utm_content or utm_term only when the distinction is useful and your team can apply it consistently. Omit unused optional parameters rather than filling them with guesses or inconsistent placeholders.

Agree on a small set of values for recurring concepts. For example, decide whether the team will use email or newsletter as a medium, and whether paid social campaigns use paid_social or another defined value. The exact vocabulary is less important than using it consistently and checking that it matches your analytics reporting conventions.

Reusable examples across channels

Assume the team is promoting a spring product launch. The examples use spring_launch_2025 as the shared campaign name, while source and medium describe how each link is distributed.

Email newsletter:

https://example.com/spring?utm_source=weekly_newsletter&utm_medium=email&utm_campaign=spring_launch_2025&utm_content=hero_cta

Organic social post:

https://example.com/spring?utm_source=linkedin&utm_medium=organic_social&utm_campaign=spring_launch_2025&utm_content=launch_post

Paid social ad:

https://example.com/spring?utm_source=linkedin&utm_medium=paid_social&utm_campaign=spring_launch_2025&utm_content=video_a

Paid search ad:

https://example.com/spring?utm_source=search_ads&utm_medium=paid_search&utm_campaign=spring_launch_2025&utm_term=product_category

The examples keep the campaign value stable across channels while changing the source and medium to reflect distribution. For a real campaign, use source names that match the platforms and naming rules your team has agreed to. If a destination URL already has query parameters, append UTM parameters with &; if it has none, begin the query string with ?. Ensure values are URL-encoded when they contain characters that need encoding.

Keep a shared campaign log

A naming convention only works when everyone can find and follow it. Maintain a shared log or spreadsheet with fields such as:

FieldPurpose
Campaign nameThe approved utm_campaign value
Source and mediumApproved values for each channel
Content or termOptional labels and their intended meaning
Destination URLThe landing page being tagged
Owner and statusWho created or approved the link, and whether it is ready
Start and end datesWhen the campaign is scheduled to run

Before launch, check new entries against existing ones. A spreadsheet dropdown or simple review step can catch variants such as SpringLaunch, spring-launch, and spring_launch before they appear in reports. Inconsistent spelling, capitalization, or separators can split traffic into separate values in analytics reports, depending on the platform's interpretation and reporting rules.

For repeat campaigns, copy the approved pattern rather than rebuilding it from memory. Keep the campaign name stable across channels when they belong to the same initiative, and add distinctions through source, medium, and—when needed—content. If your organization requires a different campaign structure, document it and apply it consistently.

Validate links before launch

Use a short review process for each batch of campaign URLs:

  1. Confirm the destination page loads and is the intended landing page.
  2. Check that each required parameter is spelled correctly and has a value.
  3. Compare source, medium, and campaign values with the team's approved naming list.
  4. Confirm optional fields answer a specific reporting question.
  5. Open the final URL and verify that the query parameters remain attached after any redirects.
  6. Check the resulting traffic in the analytics platform using its own documentation and reporting interface.

Analytics platforms can differ in how they interpret campaign parameters and present them in reports. The current platform documentation could not be checked live for this article, so confirm the relevant parameter behavior and reporting dimensions in your own analytics setup before standardizing a convention. A URL builder can help assemble parameters, but it cannot decide whether your team's labels are useful or ensure that analytics will attribute traffic as intended.

Common Mistakes

  • Changing the campaign name by channel: This can make one initiative appear as several campaigns. Keep a shared campaign value when the links belong to the same effort.
  • Using inconsistent case or separators: SpringLaunch, spring-launch, and spring_launch are different strings. Choose one style and validate against it.
  • Swapping source and medium: Keep the platform or sender in source and the channel type in medium, according to your documented rules.
  • Adding every optional parameter: Extra fields with unclear or inconsistent meanings make reporting harder. Add them only when the team has defined their purpose.
  • Putting personal data in URLs: UTMs are not a safe place for user identifiers or contact details.
  • Assuming a tagged URL guarantees attribution: Redirects, consent choices, analytics configuration, and platform rules can affect what appears in reports. Validate the actual setup.

Best Practices

  • Publish a short naming guide with approved values and examples for each channel.
  • Use lowercase and one consistent separator; document exceptions rather than allowing ad hoc variants.
  • Keep campaign names readable and stable, and avoid encoding channel names into the campaign value when source and medium already describe them.
  • Assign an owner to the shared campaign log and review new values before links are distributed.
  • Test representative links in the analytics platform and revisit the convention when its reporting setup changes.
  • Treat UTMs as campaign labels, not user identifiers or a substitute for analytics configuration.

Conclusion

A useful UTM naming convention is a small shared vocabulary applied consistently. Define what source, medium, and campaign mean for your team, use optional parameters sparingly, and maintain a campaign log so links stay comparable across email, social, and paid channels.

References

Current analytics-platform documentation was not available for live consultation while preparing this article. Check the official documentation for your platform before relying on specific parameter interpretations or report dimensions.