Measurement and attribution

A UTM naming convention your paid-media team can keep using

A useful UTM convention gives each parameter one job, keeps labels stable, and records who owns the campaign. Use source for origin, medium for channel, campaign for the initiative and content for the link or creative variation. Validate the full measurement path before trusting the report.

Campaign URL anatomy: https://example.com/demo, followed by ?utm_source=newsletter, &utm_medium=email, &utm_campaign=autumn-demo, then the #details fragment.
The destination, UTM query fields and fragment have different jobs. Keep campaign parameters before the fragment and use labels that describe the campaign rather than the visitor. View full-size figure.

A campaign naming problem usually arrives as a reporting problem. One person calls the source LinkedIn, another uses linkedin, and a partner labels the same placement paid-social. By the time someone asks which campaign produced useful inquiries, the spreadsheet contains several names for one activity and one name for several activities.

The solution is a small operating agreement. Decide what each field means, give the team a usable dictionary, and keep a register of published links. The free UTM builder handles encoding and link assembly; the convention explains what to put into it. Before publication, run the finished batch through the bulk UTM validator to flag missing manual labels, duplicate fields and capitalization differences.

Give each parameter one job

Our recommended working convention for a small paid-media team is below. It is an editorial template, not a requirement imposed by every reporting system.

FieldQuestion it answersIllustrative valueAvoid
SourceWhere did the link originate?partner-acmeA new spelling every month
MediumWhat kind of distribution was it?emailPutting the offer name here
CampaignWhich initiative does it belong to?autumn-demoA label so generic that every launch shares it
ContentWhich creative or placement was clicked?hero-proof-aRepeating the entire campaign name
TermWhat intentional targeting label belongs here?An agreed keyword label when applicableCustomer identities or arbitrary personal notes
IDWhich stable campaign identifier joins to your register?cmp-026Reusing an ID for unrelated initiatives

Google documents manual campaign tagging and notes that values are case-sensitive. Keep one capitalization convention across the team. Our builder requires source, medium and campaign to support a complete working record, even when a destination system can process a less complete link. Google Analytics campaign URL documentation.

The field names are standardized; the useful vocabulary is yours. A six-person team does not need a sixty-page taxonomy. It needs enough agreement that two people independently label the same placement the same way.

Separate the campaign from the placement

Consider an illustrative product launch promoted through a newsletter, a partner email and a paid social placement. The initiative is the same, but distribution differs.

PlacementSourceMediumCampaignContent
Owned newsletter heronewsletteremailautumn-demohero-proof-a
Owned newsletter footernewsletteremailautumn-demofooter-text
Partner emailpartner-acmeemailautumn-demosponsor-block
External paid social linklinkedinYour agreed paid-social mediumautumn-demofounder-video-a

This structure lets an analyst group the launch by campaign and then inspect distribution or creative. If every placement becomes its own campaign, the initiative is harder to reconstruct. If every link uses the same content label, the placement distinction disappears.

Do not copy the example's medium into an existing account without checking your channel-group rules. A readable label and a correctly classified reporting channel are related but separate requirements.

Make the naming rules easy to follow

Choose a small set of mechanical rules. For example: lowercase labels, hyphens between words, a stable partner name, and no personal information. Decide whether dates belong in the campaign name or in the register. Either can work; mixing approaches without a reason creates confusion.

Keep these rules close to the work. Add a short dictionary tab to the campaign register, pin the link in the team's operating document, or include it in the launch checklist. A convention stored in an old strategy presentation is unlikely to survive a busy Friday launch.

Give one person authority to add a new source or medium. That does not mean every link needs a meeting. It means a new label should be intentional, with an explanation that the next analyst can find.

For a handover, include the dictionary alongside the account ownership and operating checklist. The next team should inherit both the live links and the meaning of their labels.

Keep personal data out of the link

A campaign label should describe marketing activity, not identify the person receiving it. Do not place names, email addresses, phone numbers, customer IDs, authentication tokens or recovery links into campaign fields. Review the destination URL too: a safe UTM label does not clean a sensitive query parameter already present in the destination.

The builder rejects email-shaped campaign values and URLs containing embedded credentials. Those are limited safeguards, not a complete privacy scanner. A string can identify someone without containing an @ symbol.

When a team needs recipient-level measurement, handle it through an appropriately designed, authorized system. Do not turn a general-purpose UTM convention into a personal tracking database by adding more descriptive labels.

Treat auto-tagging as a separate integration

Manual tags are especially useful for links whose campaign context would otherwise be unavailable, such as a newsletter or a partner placement. Google Ads has auto-tagging and account-linking behavior that can provide additional advertising context. Check that configuration before appending a manual convention to every paid click. Google Analytics tagging approaches.

Record who owns the integration, what the ad platform appends, and which reporting dimensions the team uses. Preserve legitimate click identifiers through redirects. Avoid a blanket cleanup rule that strips every query parameter because a URL looks untidy.

A useful QA question is: “When this exact published link is clicked, what reaches the landing page and what appears in the reporting dimensions we rely on?” That question is more concrete than “Are our UTMs set up?”

Do not use UTMs to measure internal buttons

Suppose someone lands on an article, clicks a calculator, then opens a product page. Adding utm_campaign=blog-footer to that internal link mixes a site-navigation question with campaign attribution.

Use a dedicated interaction event for the internal question. Record a controlled resource identifier and destination category. Keep the original acquisition context intact, and avoid sending the calculator's inputs or the visitor's form values as event parameters.

This creates two useful views: where the visit came from, and which resource helped the visitor continue. They can inform the same conversion analysis without pretending to be the same field.

Validate the entire path

Use this launch check for a representative link:

  1. Build the destination using the agreed dictionary.
  2. Confirm the URL opens the intended page, including any fragment or necessary product parameter.
  3. Check that redirects preserve the campaign information you intend to retain.
  4. Inspect the measurement implementation in an authorized test environment.
  5. Confirm the event and expected campaign dimensions appear in the appropriate reporting workflow.
  6. Record the test date and evidence in the campaign register.

A generated URL is only the first artifact. A tag loading is another checkpoint. An event appearing in a debug view is another. A mature report with correctly interpreted dimensions is the later outcome. Keep those stages separate when someone signs off on the launch.

Keep a campaign register that answers future questions

The builder's CSV gives you the labels and finished link. Add these working columns in your own spreadsheet:

  • Publication date and placement owner.
  • Destination purpose and current offer.
  • Source, medium, campaign, content and optional stable ID.
  • The generated URL and where it was published.
  • A QA result and evidence reference.
  • Retirement or replacement date when the placement changes.

Use one row per published link. When a destination changes, preserve the prior row or version history instead of overwriting the only record of what ran. That helps explain a reporting discontinuity without reconstructing the launch from chat messages.

The paid-media report template complements this register by keeping metric definitions and reporting scope beside the resulting numbers.

Diagnose messy labels without inventing attribution

If historical data already contains inconsistent labels, create a documented reporting mapping. For example, you might group known capitalization variants of one newsletter source. Preserve the raw values and record the rule so another analyst can reproduce the grouping.

Do not merge two labels merely because their names look similar. A partner's organic mention and paid sponsorship may need separate treatment. A renamed campaign may also coincide with an offer change that matters to interpretation.

Fix the convention prospectively, then treat the historical cleanup as an analysis decision with limits. UTMs describe observed campaign context. They do not prove that a click caused a sale, recover every unobserved visit, or replace an incrementality design.

Start with the next campaign

Choose one upcoming initiative, agree on its dictionary entries, and build the links in the UTM campaign URL builder. Validate a representative path and save the register before publication. A convention becomes useful when the next person can follow it without asking what last month's labels meant.

Keep the published-link register

Download the UTM tracking spreadsheet to keep campaign IDs, destinations, parameter values, full URLs and verification status together. It includes three fictional examples and blank entries for your links. Assemble each URL with the UTM builder, then verify the final published placement before marking the register checked.

Use attribution and incrementality for different decisions

Separate advertising credit assignment from causal lift, and choose reporting, experiments, or modeling based on the budget question you need to answer.

Measure AI search visibility, referrals and leads without mixing them up

Build a practical measurement plan for Google AI search, ChatGPT referrals, Bing citations and Grok observations. Separate visibility, visits, resource use and accepted leads.

Build a refund-adjusted advertising report

Connect purchase cohorts with full and partial refunds to separate attributed purchase value, retained revenue, and contribution in advertising reviews.

Build a paid media metric dictionary

Define paid media metrics with explicit numerators, denominators, attribution rules, currencies, time bases, exclusions, and data owners.

Have a correction or a question about the workflow? Contact GaaS. Read our editorial standards for sourcing and example conventions.