Choose the fields that answer your reporting question

Start with the campaign details you will actually use. Google Analytics documentation describes utm_source, utm_medium, and utm_campaign as core parameters and recommends consistent naming. Use utm_content when you need to distinguish two creative placements or links, and include other parameters only when they answer a real reporting question.

Write one sentence for each field. For example, source can identify the platform or publisher, medium can identify the channel, and campaign can identify the named effort. Keep those definitions short enough that a colleague can choose a value without asking what the team meant.

Create a dictionary of approved values

Choose one capitalization rule and define the separator for each field. Lowercase values with underscores or hyphens are both readable; consistency matters more than which separator you choose. The approved dictionary below uses lowercase and a hyphen for campaign names, with an underscore inside the paid_social medium value. The register also includes deliberately rejected variants. Do not alternate between these forms for the same field.

List accepted values and a short explanation for each. A new channel should be added by an owner, not invented in an individual link. Keep retired values in the dictionary with a note about when they stopped being used so older reports can still be interpreted.

Fictional approved UTM dictionary

  • Parameter: utm_source; Approved example: linkedin; Avoid: LinkedIn; Rule: Use the lowercase publisher name from the approved list; Owner: Jordan Vale; Review status: Example rule
  • Parameter: utm_medium; Approved example: paid_social; Avoid: paid social; Rule: Use one lowercase channel value with the chosen underscore separator; Owner: Riley Chen; Review status: Example rule
  • Parameter: utm_campaign; Approved example: fall-service-audit; Avoid: Fall Service Audit; Rule: Use a lowercase campaign slug with hyphens between words; Owner: Morgan Lee; Review status: Example rule
  • Parameter: utm_content; Approved example: case-study-cta; Avoid: Case Study CTA; Rule: Use a lowercase label for the creative or placement being compared; Owner: Casey Park; Review status: Example rule

Check each link before it is shared

Review the base destination, required parameters, spelling, capitalization, separators, and the value dictionary. Make sure the same parameter is not added twice and that the final link opens the intended page. If the team uses a URL builder, treat it as a way to assemble the link, not as proof that each chosen value follows your naming policy.

Different spellings and capitalization can make report values harder to compare. Give someone responsibility for maintaining the dictionary so the team knows which values to use.

Make the rule usable during real campaign work

Put the dictionary where the people creating campaign links already work. Assign one person to approve additions and record the date a value changes. If agencies or contractors create links, give them the same definitions and ask them to use the shared list before publication.

Keep the check proportionate. A small team can review new links in a spreadsheet or during its normal campaign approval. If a link uses an unapproved value, correct it before sharing when possible. If it has already been used, record the exception instead of quietly rewriting history.

Review the output, not only the rule

Periodically compare a sample of live campaign links with the dictionary and inspect the resulting report values. Look for capitalization variants, extra spaces, alternate separators, missing source or medium values and campaign names that no longer describe the work. Review actual links as well as the template.

Google also provides a Campaign URL Builder for website links. You can use that documented tool alongside your own dictionary, but the team still has to select the right values and verify that the analytics system receives them. Record exceptions and update the rule only when there is a clear reason.

The downloadable link register uses the dictionary above and shows one naming match alongside capitalization, unapproved-value and duplicate-parameter cases. Its destinations are fictional. A naming match still needs a destination check and an observed analytics result before you can say the live campaign was tested.

Using Areinum

Ask Areinum Assistant to compare proposed campaign values with the naming dictionary you supply and prepare a list of inconsistencies. A reviewer checks the destination, final parameters and reporting setup before sharing a link.

See the example

Campaign link register and naming review

All campaign names, example values, and owners in the artifact are fictional.

Campaign link register and naming review
Link IDBase destinationutm_sourceutm_mediumutm_campaignutm_contentDictionary checkFinal URLOwnerReview state
LINK-01https://example.com/serviceslinkedinpaid_socialfall-service-auditcase-study-ctaAll values match the fictional dictionaryhttps://example.com/services?utm_source=linkedin&utm_medium=paid_social&utm_campaign=fall-service-audit&utm_content=case-study-ctaJordanNaming accepted in example; destination and analytics not tested
LINK-02https://example.com/servicesLinkedInpaid socialFall Service AuditCase Study CTAReject capitalization, spaces and campaign separator variantshttps://example.com/services?utm_source=LinkedIn&utm_medium=paid%20social&utm_campaign=Fall%20Service%20Audit&utm_content=Case%20Study%20CTARileyHold; replace with approved values before use
LINK-03https://example.com/servicespartner-newsletteremailfall-service-auditcase-study-ctaSource and medium are not in this example dictionaryhttps://example.com/services?utm_source=partner-newsletter&utm_medium=email&utm_campaign=fall-service-audit&utm_content=case-study-ctaMorganHold; request dictionary additions, do not silently invent them
LINK-04https://example.com/serviceslinkedinpaid_socialfall-service-auditcase-study-ctaValues match; duplicate source parameter needs removalhttps://example.com/services?utm_source=linkedin&utm_source=other&utm_medium=paid_social&utm_campaign=fall-service-audit&utm_content=case-study-ctaCaseyHold; correct duplicate parameter and verify the final URL
  1. Use the dictionary in the guide as the permitted-value list for this fictional example. Replace it with your approved dictionary before using the register for real campaigns.
  2. Add one row per proposed final link. Check exact values, duplicate parameters and the intended destination, then record who reviewed it.
  3. The example.com URLs and review findings are fictional. Naming accepted does not mean a destination, live campaign or analytics event has been tested.
  4. Approve additions in the dictionary before releasing a link with a new value. Keep a used link and its exception in the register instead of rewriting historical records.

Create a dictionary of approved values

Fictional approved UTM dictionary
ParameterApproved exampleAvoidRuleOwnerReview status
utm_sourcelinkedinLinkedInUse the lowercase publisher name from the approved listJordan ValeExample rule
utm_mediumpaid_socialpaid socialUse one lowercase channel value with the chosen underscore separatorRiley ChenExample rule
utm_campaignfall-service-auditFall Service AuditUse a lowercase campaign slug with hyphens between wordsMorgan LeeExample rule
utm_contentcase-study-ctaCase Study CTAUse a lowercase label for the creative or placement being comparedCasey ParkExample rule

Limits of this method

  • The problem is supported by one practitioner discussion and vendor documentation. The author's identity, prevalence, and willingness to pay are unknown.
  • UTM naming conventions are team choices. Validate the final link and resulting report in the systems your team actually uses.

Questions you may have

Does capitalization matter in campaign values?

Google Analytics documents campaign values as case-sensitive, so agree on exact capitalization and apply it consistently.

What should happen when a new source or medium is needed?

Ask the dictionary owner to review the proposed value and add an approved entry before using it. Keep historical records rather than rewriting old campaign links.

Is a correctly named link automatically tracked correctly?

Check the final destination, duplicate parameters and actual reporting setup separately. A naming check covers only the values and rules you reviewed.

Will the assistant publish campaign links?

The example prepares a naming comparison. A reviewer checks the final destination and parameters before the team shares a link.

Sources and further reading

  • How are you enforcing consistent UTM naming (or just enforcing UTMs as a whole) across marketing teams?

    One Reddit post describes inconsistent campaign values as a reporting concern and gives examples of different spellings and separators.

    This is one person's account of inconsistent campaign naming; it does not establish how common the problem is or whether a particular remedy works.

    The author's role and buyer identity are unverified. This is one self-reported discussion, not evidence of prevalence, willingness to pay, or a tested remedy.

    2026-10-18
  • URL builders: Collect campaign data with custom URLs

    Google Analytics documentation describes core UTM parameters, case-sensitive naming, consistent values, and a Campaign URL Builder.

    The page documents Google Analytics guidance. It does not prove that consistent naming alone ensures correct attribution in every analytics or CRM system.

    2026-10-18

The demo uses sample company data. Access may need to be arranged.

Explore the demo