Skip to article
Orvus.

The journal

UTM naming conventions that keep your analytics clean

A clear, practical guide to setting UTM naming conventions for utm_source, utm_medium, utm_campaign, and more. Includes examples, pitfalls to avoid, and a rollout checklist.

Three people reviewing a campaign spreadsheet

UTM naming conventions are the team-wide rules for how you fill the UTM parameters on your URLs (like utm_source, utm_medium, utm_campaign). Good conventions ensure Google Analytics attributes traffic consistently, channel groups work as expected, and any imported campaign data matches exactly. At a minimum, always set utm_source, utm_medium, and utm_campaign, keep values consistent and case-aware, and consider utm_id if you plan to import cost/clicks from non-Google platforms (Google Analytics Help: URL builders; Google Analytics Help: Import campaign data).

Why naming conventions matter

Analytics treats UTM values as case-sensitive, so facebook and Facebook are different. Inconsistent naming fragments reports and can also misclassify traffic in Default Channel Groups. Google recommends a standardized UTM strategy across all campaigns and emphasizes using consistent values for each field to avoid fragmented reporting (Google Analytics Help: URL builders).

If you import campaign cost/clicks from non-Google ad platforms, Analytics joins those rows to sessions using exact matches on utm_source, utm_medium, and date (and, if supplied, utm_id and utm_campaign). Any mismatch (e.g., Facebook vs facebook) lowers your match rate (Google Analytics Help: Import campaign data).

Campaign-link categories

The core fields and simple rules

Required in practice

  • utm_source: The referrer or platform (e.g., facebook, newsletter). Use one unique source per distinct platform for granular reporting; unifying sources (e.g., meta) is acceptable if you want aggregation (GA campaign import UTM configuration guide).
  • utm_medium: The marketing channel (e.g., email, cpc, paid_social). Use one unique medium per channel so channel grouping remains accurate (GA UTM best practices).
  • utm_campaign: The initiative name. Keep it consistent and use a single unique name that matches your ad platform’s campaign name when possible (dynamic insertion helps) (GA UTM best practices).

Highly recommended

  • utm_id: A stable campaign ID that you also use in any import files. This makes cost/click joins more reliable (GA campaign data import).

Optional, when useful

  • utm_content: Differentiate creatives or link placements within the same campaign (e.g., hero_button, footer_link) (GA URL builders).
  • utm_term: Paid keyword for search campaigns (GA URL builders).

A workable naming pattern you can adopt

Pick a single, readable style and document it. One effective approach is all lowercase with underscores, plus a structured campaign name. For example, the University of Illinois recommends lowercase terms, underscores as separators, and a consistent campaign pattern; their guide also shows parameter order and URL construction (University of Illinois UTM Guide).

Example URL (email newsletter link):

https://www.example.com/?utm_source=newsletter&utm_medium=email&utm_campaign=product_launch_fy26_prospects_may

Dynamic UTMs can keep your naming exact across platforms (e.g., utm_campaign=your_campaign_name), but resolve placeholders at the ad platform. GA’s import interface does not accept unresolved dynamic tokens (GA campaign data import).

A campaign review checklist

Conventions to decide and document

  • Case policy: Use all lowercase to avoid case-sensitivity splits (GA UTM best practices).
  • Separator: Choose underscores or hyphens. If you want readability and avoid spaces, many teams standardize on underscores (Illinois UTM Guide).
  • Source dictionary: One value per platform (e.g., fb, insta, tiktok). Decide whether to aggregate sub-platforms under one source (e.g., meta) (GA UTM configuration guide).
  • Medium dictionary: Map mediums to your channel strategy (e.g., cpc, paid_social, email) so channel grouping aligns (GA UTM best practices).
  • Campaign pattern: Define fields and order (e.g., activity_audience_fy26_offer_date) and keep them consistent (Illinois UTM Guide).
  • Dynamic parameters: Where supported, use platform macros to auto-populate names and IDs; ensure values match exactly in any import files (GA campaign data import).

Common pitfalls to avoid

  • Mixed case or synonyms: Meta vs meta; SpringSale vs spring_sale. Treat as distinct values in reports (GA UTM best practices).
  • Multiple values for a single platform: e.g., fb/cpc and facebook/paid for the same ads. Automated imports don’t support reconciling these; standardize first (GA UTM configuration guide).
  • Leaving out source or medium: This leads to (not set) in GA reports. Always include the trio: source, medium, campaign (GA URL builders).
  • Unresolved dynamic tokens in imports: Replace macros in the ad platform before importing to GA (GA campaign data import).

Simple examples you can copy

  • Email newsletter: utm_source=newsletter, utm_medium=email, utm_campaign=feature_release_june
  • Facebook paid: utm_source=fb, utm_medium=paid_social, utm_campaign=summer_sale_wave1
  • LinkedIn organic: utm_source=linkedin, utm_medium=social, utm_campaign=thought_leadership_q3
  • Search ads: utm_source=bing, utm_medium=cpc, utm_campaign=brand_terms_q2, utm_term=orvus_brand

How to roll this out and keep it clean

  1. Create a one-page standard defining allowed values for source and medium, your campaign pattern, case, and separator.
  2. Use a lightweight URL builder (spreadsheet or your ad platform’s dynamic fields) so tags are generated consistently (GA URL builders).
  3. Validate in GA4 after launch: check Acquisition > Traffic acquisition to confirm values appear as expected. For help, see our guide Which GA4 report shows traffic sources?
  4. Exclude employee clicks so they don’t skew campaign data. If you haven’t done this yet, start here: Exclude internal traffic in GA4: test before you activate.
  5. If you import costs from non-Google channels, ensure the import file’s source, medium, date (and optional id/campaign) exactly match your UTMs (GA campaign data import).

Put this into practice

Write a small naming dictionary and validate a sample of real campaign URLs against it. Check capitalisation, spacing and ownership before launch instead of correcting inconsistent labels only after reports have split the same campaign.

Quick checklist: finalizing your UTM naming conventions

Optional FAQs

Do I need utm_id?
Not to attribute sessions, but it is highly recommended if you plan to import cost/click/impressions from non-Google platforms, because GA can join on that stable ID (GA campaign data import).

Hyphens or underscores?
Either can work; pick one and stick to it. A common practice is lowercase with underscores for readability and to avoid broken links from spaces (Illinois UTM Guide).

Orvus logo

Sources and further reading