← Back to The Shortcut

UTM Naming Convention: Rules, Template & Examples

A UTM naming convention is a short set of written rules for the values in utm_source, utm_medium, and utm_campaign: which values are allowed, how they are cased and separated, and who approves new ones. The short version:

  • Give each parameter one job: source is who sent the visit, medium is the channel, campaign is the initiative.
  • Keep approved source and medium lists, and choose from them instead of typing freehand.
  • Write everything in lowercase, with underscores as the only separator.
  • Reuse one campaign name across every channel in an initiative.
  • Name an owner for the dictionary and keep a shared campaign registry.

Without those rules, one launch drops into your analytics dashboard as Instagram, instagram, paid-social, and paid_social. This splits the raw report across four rows, leaving the next person publishing a link to guess which version to use. Recombining the traffic later may take hours of spreadsheet work, slowing reporting and obscuring the launch’s performance. Adding more parameters to the tracking string does not fix a disorganized foundation, so the solution is a compact, approved vocabulary and a named owner who maintains it.

You can use tools to draft these tags from a plain-language brief, translating a natural description into your approved format. The free AI UTM builder helps generate the links, but your team’s defined dictionary remains the source of truth. When everyone pulls from the same list of definitions, the tracking architecture stays intact from the first click to the final conversion report.

Two marketers compare duplicate UTM source labels on scattered launch sheets at a campaign handoff.

Give Each UTM Parameter One Job

Before assigning values to a URL, you need to know what question each field answers. Google defines utm_source as the referrer and utm_medium as the marketing medium, so keep those roles distinct. With those roles clear, Google’s URL builder guidance for collecting campaign data establishes source, medium, and campaign as the basic pattern for custom URLs. Trnqify focuses exclusively on these three foundational fields to keep your tracking architecture clean and manageable. If you are looking to support new fields, you can reach out to us at support@trnqify.com.

FieldUse it forExample
utm_sourceThe platform, publisher, partner, or mailing list sending the visitinstagram, product_newsletter
utm_mediumThe channel or methodpaid_social, email
utm_campaignThe shared initiative name2026_q4_feature_launch

The utm_source acts as the referrer, telling you who sent the traffic. Meanwhile, utm_medium categorizes the broader marketing channel to show how that traffic arrived, and utm_campaign names the specific initiative. When a single marketing effort spans multiple platforms, you keep the same campaign name across all of them and let the source and medium fields differentiate the traffic.

For example, if you run a product launch across multiple networks, the campaign remains the same. The source and medium fields isolate specific platforms and channel categories. These core definitions keep your data clean and stop your team from inventing hybrid fields like a campaign named q4_email_launch_hero. Giving each detail a designated place also keeps dashboard filters useful.

Build Approved Source and Medium Dictionaries

Keeping separate approved lists for your sources and mediums prevents each publisher from inventing a new spelling at launch time. You maintain a documented dictionary that includes a definition and an example for every permitted value. When a team member needs a link, they choose from this list rather than guessing. A shared dictionary stops accidental duplicates and forces the team to align on what a channel means before spending money on it.

Standardize the Source Level

You determine the granularity of your source values based on what your reporting needs to show. (Running a store? The same dictionary approach applies in our guide to free UTM tracking for ecommerce.) For paid campaigns running across multiple Meta placements, decide whether utm_source represents the parent buying platform or the individual surface. You might use instagram when surface performance drives your budget decisions, keeping facebook as a separate source. Alternatively, you can use a single platform-level value if your organization prefers a consolidated paid social report.

The same logic applies to email and partner traffic. You might track all newsletter traffic under a single product_newsletter source, or you might separate mailchimp and customer_io if you are migrating between email service providers and need to compare their delivery engagement. For partner marketing, a clear convention like partner_acme_corp keeps affiliate traffic organized. Choose one reporting level and document it so everyone applies it consistently; changing granularity halfway through a quarter breaks the continuity of your historical data.

Choose a Compact, GA4-Aware Medium List

Your medium values directly influence how traffic groups in your analytics platform. A practical starting dictionary for these channels includes email, cpc for paid search, paid_social, social for organic social, organic for organic search, display, referral, and sms. These labels serve as a compact baseline for small teams rather than a universal standard that applies to every tracking tool.

For manually tagged traffic, Google Analytics uses source and medium together to classify visits into its default channel classifications. For example, a recognized social source paired with a paid medium can fall into the Paid Social group. Likewise, traffic carrying an email medium qualifies for the Email channel, and social is a recognized Organic Social medium. When no other channel rule matches, Analytics assigns the traffic to Unassigned.

Inventing new medium labels carries a high risk of misclassification. If someone on the team tags a link with utm_medium=promo or utm_medium=blast, the analytics platform will not recognize those terms as default channels. The visits will record, but they will sit outside your standard acquisition reports. Because these GA4-specific definitions can evolve, compare your medium labels against your own reports to confirm the traffic lands in the expected channel groups. Documenting a tight, restricted list of approved mediums prevents team members from testing creative channel names on live campaigns.

A marketer lays three channel cards beside one shared campaign card and a landing-page preview.

UTM Naming Convention Template for Every Channel

A consistent sequence makes reviewing links easier, so establish a base pattern using your approved dictionary and share it as a copyable template.

?utm_source={approved_source}&utm_medium={approved_medium}&utm_campaign={year}_{period}_{initiative}

You apply this exact structure across different channels to keep the campaign data unified. If you run a product announcement across a newsletter, a paid social placement, and an organic post, the utm_campaign value remains 2026_q4_feature_launch for all three.

https://example.com/launch?utm_source=product_newsletter&utm_medium=email&utm_campaign=2026_q4_feature_launch

https://example.com/launch?utm_source=instagram&utm_medium=paid_social&utm_campaign=2026_q4_feature_launch

https://example.com/launch?utm_source=instagram&utm_medium=social&utm_campaign=2026_q4_feature_launch

The channel varies through the source and medium fields. The query string begins with a question mark, and ampersands connect each subsequent parameter.

UTM Casing, Separators, and Parameter Order

Consistency requires strict formatting rules. You write all UTM values in lowercase because the fields are case-sensitive. Although default channel definitions may be case-insensitive, Analytics treats raw values such as google and Google as separate values, so they can appear in separate rows.

You also standardize your separators. While examples from search engines often mix underscores and hyphens, your team needs one canonical choice. Using underscores consistently across all fields prevents validation errors and keeps values like paid_social readable. A stable parameter order helps a person review the URL quickly, even though the receiving analytics platform can parse the parameters in any order. When your AI URL shortener generates these values, check them against your approved formatting rules before publishing. This check catches formatting drift before links go live.

Make Ownership and Handoffs Explicit

A taxonomy works only when someone maintains it. Even if one person covers several roles on a small team, tracking lifecycle responsibilities needs clear owners.

A taxonomy owner maintains the source and medium dictionaries and approves any necessary exceptions. A campaign owner reserves the canonical campaign name for the initiative, while the channel publisher selects the approved source and medium. A reviewer or automated system checks the destination and final URL for accuracy before the link goes live.

You coordinate this work through a shared campaign registry. This central record includes the campaign name, owner, destination URL, source, medium, final short link, and exception notes. The University of Minnesota’s tracking guidelines demonstrate this governance approach effectively by using a shared spreadsheet to maintain a URL builder and history. When someone needs a new value, the taxonomy owner approves and documents it in the registry instead of letting each publisher invent a spelling.

Trnqify bridges the gap between the initial brief and the final handoff. A team member types a plain-language description of the campaign and the intended channel. The AI UTM builder suggests the appropriate fields based on the input, and a team member or an automated validator checks those suggested fields against the approved dictionaries to confirm no new spellings slip through. The platform then generates the short link and records the owner.

You review the link clicks inside Trnqify’s analytics, then open your destination site’s analytics to evaluate the UTM-based acquisition or conversion reporting. These function as complementary layers. Trnqify measures clicks without cookies at the redirect level on the shared link, and it does not sell user data. The destination analytics platform uses the UTM parameters to identify the traffic once the visitor arrives.

If your team builds agent workflows, apply this same validation step through Trnqify’s tools for developers, which include MCP integration, A2A connections, and a REST API. Including a campaign name and owner in your handoff record makes tracking links across these automated systems much easier. Trnqify’s free plan provides unlimited links and clicks, while the paid tiers add direct redirects, API access, and agent integrations. The Pro tier adds custom slugs, webhooks, and city-level click analytics. See the full plan comparison for details, and the MCP guide for agent setups.

A campaign owner and channel publisher review a short link and a preflight checklist at a laptop.

Check Edge Cases Before Launch

Inconsistent tags often stem from technical edge cases rather than human spelling errors. It helps to account for how advertising platforms and analytics tools interact with manual tracking parameters before committing budget to a link.

For Google Analytics integrations with Google Ads, Campaign Manager 360, Display & Video 360, and Search Ads 360, auto-tagged URLs include platform parameters such as the Google Click Identifier (GCLID) or the DoubleClick Click Identifier (DCLID). The GCLID carries data about a specific Google Ads click, while the DCLID passes similar campaign details from the broader Google Marketing Platform suite.

  • Identifier present and usable: Analytics provides platform-specific traffic dimensions, and Google says auto-tagged dimensions take precedence over manual values for source, medium, and other traffic-classification dimensions.
  • Identifier missing or unusable: Analytics derives cross-channel traffic-source dimensions from UTM parameters alone whenever any UTM parameter is present.

This behavior is documented for Google Analytics, so you cannot assume it applies across every advertising network or third-party analytics tool. Check how your software stack handles competing tags to keep your manual overrides predictable.

When using dynamic UTM tokens provided by an ad platform, preview the rendered values in a test click. An advertising network might insert {network} into the utm_source field dynamically. Check that the platform’s inserted text follows your house rules for casing and separators, because if the network outputs uppercase text or spaces, your analytics platform will record those messy strings.

Apply campaign UTMs exclusively to external traffic drivers. Placing UTM parameters on internal site navigation overwrites the original acquisition source and inflates your session counts. When a user arrives from an email, clicks an internal promotional banner tagged with UTMs, and then makes a purchase, the analytics platform starts a new session for the banner click. The original email loses the conversion credit. You track internal behavior using on-site events instead of URL parameters.

Privacy guardrails should guide your naming conventions. Google Analytics prohibits sending personally identifiable information in custom campaign parameters. That means keeping email addresses, customer names, personal mobile numbers, and individual user identifiers out of your source, medium, and campaign fields. To follow that rule, use aggregate segment labels or standard campaign names instead of dynamically inserting user data into the tracking URL.

Run a short pre-launch check for every new link to confirm the destination URL loads correctly and the required source, medium, and campaign fields are present. Cross-reference the values against your approved dictionaries and formatting rules, checking that the campaign name matches across all channels for that initiative. Once you understand the auto-tagging behavior for paid placements, test that the final short link reaches the tagged destination. Missing parameters can appear as (not set) in your reports, which breaks the continuity of your data. Finally, record the owner and the live link in your shared registry so the rest of the team can replicate the structure for the next launch.

UTM Naming Convention FAQ

Should UTM parameters be lowercase?

Yes. UTM values are case-sensitive in reporting, so Instagram and instagram appear as separate rows. Pick lowercase for every field and enforce it in your dictionary.

Should I use underscores or hyphens in UTM values?

Either works technically, but choose one and apply it everywhere. This guide uses underscores (paid_social) because they stay readable and avoid mixed-separator drift.

What is a good utm_campaign name?

Name the initiative, not the channel, and keep it identical across channels. A pattern like {year}_{period}_{initiative}, for example 2026_q4_feature_launch, is easy to sort and review.

Which utm_medium values should I use?

Start with a compact list: email, cpc, paid_social, social, organic, display, referral, and sms. Compare them against your own Google Analytics reports to confirm traffic lands in the expected channel groups.

No. UTMs belong on external traffic drivers. On internal navigation they overwrite the original acquisition source and inflate session counts. Use on-site events instead.

Who should own the UTM naming convention?

One named taxonomy owner who maintains the source and medium dictionaries and approves exceptions, even if one person covers several roles on a small team.


Translate your campaign briefs into consistent, governed tracking links. Start building UTMs with Trnqify to organize your marketing channels, automate parameter creation, and measure clicks with privacy-first analytics.

Ready to shorten your links?

Try Trnqify free and start sharing smarter links with privacy-first analytics.

Start free