Direct answer: Use one agreed dictionary for campaign sources, media and names, build every external promotional link from that dictionary, and test the actual published link before launch. A UTM naming convention is a reporting agreement, not a ranking technique. It helps a freelancer or small agency avoid treating the same newsletter, campaign or creative as several different things.
This guide is for teams sharing links through email, social posts, partner placements and client campaigns. It does not promise complete attribution: consent choices, browser restrictions, missing identifiers and later visits can limit what Analytics observes. The goal is defensible, consistent labels for the traffic you can measure.

Research method and the decision this guide solves
Google's current Analytics documentation was reviewed on 15 October 2026 for parameter names, dimension scopes, auto-tagging and channel definitions. The link-register structure, approval gates and hypothetical examples below are an operational framework proposed for small teams, not a Google requirement or a claimed client experiment. This article is about campaign-label governance. For the broader reporting system, start with GA4 and Search Console KPI tracking.
Before adding tags, ask what decision the campaign report must support. “Which newsletter placement brought qualified enquiries?” requires a stable campaign name and a content label for each placement. “Which city has the highest customer demand?” may need a business dataset, not a city name stuffed into every URL. Tracking becomes easier when you separate the question from the available labels.
Understand the five practical UTM fields
Google's URL-builder guidance describes manual campaign parameters and notes that their values are case-sensitive. Supply source, medium and campaign together for manually tagged promotional links; add content or term only when you have a meaningful use for them. The following examples are a proposed convention, not mandatory values.
| Field | Question it answers | Proposed example | Keep out |
|---|---|---|---|
| utm_source | Which publisher or origin? | agency_newsletter | A different spelling each month |
| utm_medium | Which delivery method? | The creative headline | |
| utm_campaign | Which marketing initiative? | seo_workshop_2026_11 | A customer's name |
| utm_content | Which placement or creative? | hero_button_a | A random label nobody can interpret |
| utm_term | Which planned keyword or targeting label? | Leave empty when unnecessary | Personal or sensitive information |
Do not fill every available field to make a link look sophisticated. An unused field becomes another source of disagreement. Conversely, one ambiguous campaign name can make an otherwise valid link useless for comparison. A name should mean the same thing to the marketer who builds it and the analyst who reads it six weeks later.
Build a naming dictionary before building URLs
1. Fix a format that survives copy and paste
For a small team, lowercase ASCII letters, numbers and underscores are a practical starting point. Choose one separator and document it. This is a readability rule, not an Analytics technical limit. Avoid alternating between NovemberWorkshop, november-workshop and november_workshop. Keep the campaign identifier stable even when the headline changes.
Write the format in plain language: campaign names describe initiative, period and optional market; content names describe placement and variant. Reserve two or three examples for each field. A new teammate should be able to choose a value without interpreting a lengthy taxonomy document.
2. Define sources and media separately
Use a source dictionary for publishers and a medium dictionary for delivery methods. For example, an agency newsletter source can use the medium email; a partner newsletter can use its own source with the same medium. Do not name both “newsletter” merely because that is the visible channel.
Default channel grouping is a separate, rule-based classification. Custom medium names can produce an unexpected group. Check Google's current channel definitions instead of assuming a familiar-looking label will map correctly. If your business requires a custom classification, document that reporting layer separately rather than repeatedly changing raw tags to chase a preferred label.
3. Assign an owner and an exception route
One person approves new dictionary entries. That person does not need to approve every routine link. Permit teammates to reuse approved values, but require a brief explanation for a new medium or source. Record the exception and its reporting consequence. This avoids a bottleneck while preventing five people from inventing five names for the same activity.
Version the dictionary when a naming policy changes. Specify the effective date and how historical values will be grouped in reports. Changing tomorrow's tags does not rewrite yesterday's recorded dimensions. Keep a mapping table for old labels rather than silently hiding them.
A worked campaign example for a Pakistani agency
Imagine a Lahore agency running a free technical SEO workshop for international service businesses. This is an illustrative scenario, not evidence of measured results. The agency promotes one landing page through its newsletter, an unpaid LinkedIn post and a partner email. The initiative remains the same, but the sources and placements differ.
| Placement | Source | Medium | Campaign | Content |
|---|---|---|---|---|
| Own newsletter hero | agency_newsletter | seo_workshop_2026_11 | hero_button_a | |
| Own newsletter footer | agency_newsletter | seo_workshop_2026_11 | footer_link_a | |
| Unpaid LinkedIn post | social | seo_workshop_2026_11 | checklist_post_a | |
| Partner newsletter | partner_newsletter | seo_workshop_2026_11 | partner_intro_a |
The LinkedIn example still needs a channel-classification check in the property. A manually named source is not proof that Analytics will classify every visit as expected. Record the intended classification, then compare observed dimensions after a controlled visit and later after normal reporting processing.
A constructed example looks like this. The domain is a placeholder and the URL is not an instruction to visit it:
https://example.com/workshop/?utm_source=agency_newsletter&utm_medium=email&utm_campaign=seo_workshop_2026_11&utm_content=hero_button_a
If the destination already has a query string, additional parameters use an ampersand rather than a second question mark. Put query parameters before a fragment identifier. A builder is safer than manual concatenation when values need URL encoding. Save the clean destination and finished tagged URL as separate register fields so nobody mistakes the promotional URL for the permanent page address.
Keep a reusable campaign link register
Create a shared sheet or controlled database with one row per placement. It should contain the clean destination, approved source, medium, campaign, content, completed URL, owner, publishing location, launch date, test date and test result. Add a notes field for redirects, short links and platform-generated identifiers.
The register is more valuable than a pile of disconnected URL-builder screenshots. It lets a replacement freelancer answer why a label exists, whether a link is live and which versions are being compared. During SEO client onboarding, agree who owns this register and who can approve changes.
Use validation lists for source and medium, and flag blank campaign values. Keep a unique row identifier for internal administration, but do not assume it must be exposed in the URL. Access to the register should follow the client's data policy. Public campaign labels are not an appropriate place for customer contact details.
Test the link people will actually click
- Open the final placement preview, not just the original builder output.
- Follow the entire journey through any shortener, tracking wrapper or redirect.
- Check the final destination and whether the intended query values survive.
- Use a fresh controlled browsing session with consent handled appropriately for the test.
- Inspect the relevant Analytics events and campaign dimensions where available.
- After normal report processing, check session source, medium and campaign rather than treating an instant preview as final attribution.
- Record the result and remove test activity from business conclusions where your measurement policy permits.
A browser showing the correct URL proves parameter delivery, not event collection. A page-view event proves collection, not that the right conversion is configured. A conversion proves an action occurred, not necessarily that the campaign caused it. Keep those three checks separate in the register.
For newsletter and messaging links, test on a phone as well as desktop. An in-app browser, copied link or rewritten destination can behave differently. For teams in Pakistan working with overseas clients, write launch times with their timezone. A November campaign label may remain correct even when the client's reporting day begins several hours after the agency's working day.
Handle auto-tagging and reporting scope carefully
Do not switch off Google Ads auto-tagging merely to make every link follow your manual template. Google's traffic-source documentation explains that auto-tagged values normally govern traffic-classification dimensions when both methods are used; manual content and term have their own dimensions. Confirm the platform integration and desired dimensions before adding parallel tags.
Match report scope to the question. A first-user source concerns how a user was initially acquired; a session source concerns a session. A campaign comparison should not quietly mix the two. Put the chosen scope in the report subtitle and keep it stable between periods. Label incomplete attribution explicitly rather than trying to “fix” every unattributed visit with a naming change.
Common mistakes and troubleshooting
The campaign is split into several rows
Compare raw values for case, spaces, separators and hidden trailing characters. Correct new links and maintain a historical grouping map. Do not rename unrelated campaigns to the same value just to make the table shorter. That trades visible fragmentation for invisible loss of meaning.
The link arrives, but campaign data is missing
Check consent, collection, redirects and the report scope before blaming the dictionary. Google's direct-traffic troubleshooting identifies redirects and link chains as potential sources of lost attribution information. Document the point where the URL changes and ask the responsible platform or developer to investigate.
A tagged internal link appears in the register
Remove it from the promotional workflow. Internal navigation needs a separate measurement design, such as recording a click with a placement label. Campaign tags are for incoming promotional journeys; mixing them with routine site navigation makes the meaning of the dataset harder to defend. Test any correction rather than assuming the historical data can be reconstructed.
A link contains personal details
Stop distribution and replace it with a non-personal label. URLs can appear in browser history, logs and shared messages. Never encode email addresses, phone numbers, CNICs, invoice details or confidential client names as campaign values. Escalate already-distributed sensitive data through the client's privacy process; simply shortening the URL does not remove the underlying problem.
Frequently asked questions
Do UTM parameters improve SEO rankings?
No ranking benefit is promised. They organise campaign measurement. Keep ordinary internal links and preferred page URLs clean, and handle genuine duplicate URL variants through a coherent technical SEO policy.
Should every WhatsApp link use the same source?
Only if that answers your reporting question. Separate approved business placements where useful, without exposing individual recipients. Test the real messaging journey and do not assume copied or forwarded links preserve the original audience context.
Can we rename a campaign after it launches?
You can change future distributed links, but the result may split analysis. Prefer a documented mapping unless the original label is materially wrong. Record the change date and explain it in the report.
How much detail should the campaign name contain?
Enough to identify the initiative reliably, not enough to describe every creative. Put variant and placement information in content. Keep budget, client contacts and private targeting notes in the register.
Conclusion: approve, build, test, then report
A useful UTM convention has four gates: an agreed dictionary, a controlled link register, a real journey test and a report with explicit scope. Start with the next campaign rather than retroactively relabelling everything. Consistent naming will not create missing evidence, but it will make the evidence you have easier to interpret and hand over.
Need help applying this?
Get a practical review focused on the issue, evidence and next actions.
Contact Shahzaib