Build a UTM naming convention people will actually use
UTMs label the campaign context of a destination visit. Decide on a small vocabulary before you generate URLs, then check how your analytics property reads it. A builder can encode the URL; the naming rules are a team decision.
General educationDefine fields once, then reuse them
utm_source identifies the sender or platform, utm_medium the channel, and utm_campaign the initiative. utm_content distinguishes placements or creatives; utm_term can identify a search term when appropriate. Some analytics setups also accept utm_id for a campaign identifier. Use only values that you can explain to a colleague six months later.
| Field | Question | Example |
|---|---|---|
| utm_source | Who sent the traffic? | newsletter |
| utm_medium | What kind of channel? | |
| utm_campaign | Which initiative? | spring_2026 |
| utm_content | Which placement or creative? | hero_button |
| utm_term | Which paid term, if relevant? | branded_links |
| utm_id | Which internal campaign ID, if used? | cmp_042 |
A small channel dictionary beats improvisation
Use a shared table for allowed source and medium combinations. A sample dictionary might use google / cpc for paid search, instagram / paid_social for paid social, instagram / organic_social for organic posts, newsletter / email for a mailing, partner_name / referral for a partner, and brochure / qr for a printed code. These are team conventions, not universal Google Analytics channel definitions: inspect your own reporting rules before adopting them.
Avoid writing the same concept as Email, email, and e-mail. Choose lowercase values, a separator such as underscore, and a campaign identifier that survives a seasonal name change. Replace spaces by encoding rather than copying an unescaped URL. Never put a person's email or other private data in a query string.
Bad: utm_source=Email&utm_medium=Newsletter&utm_campaign=Spring Sale
Consistent: utm_source=newsletter&utm_medium=email&utm_campaign=spring_2026Construct and test the whole URL
Begin with https://example.com/sale, append the first query parameter with ?, and subsequent parameters with &. If the landing URL already has a query, append with & instead. Do not paste another ? into an existing query or accidentally create duplicate utm_source keys. A fragment such as #details belongs after the query and is not sent to the server in the HTTP request.
For example, https://example.com/sale?utm_source=newsletter&utm_medium=email&utm_campaign=spring_2026&utm_content=hero_button is a complete URL. Test the landing page, inspect the final address after redirects, and verify that the destination analytics property receives the labels. Some advertising platforms use auto-tagging, so check its interaction with manual UTMs before overriding it.
- Agree on an owner for the naming dictionary.
- Record campaign, source, medium, placement, public link, and landing page together.
- Review reports for unexpected capitalization and duplicate names after launch.
Use the builder for syntax, not governance
The public JustLNK UTM Builder creates a URL from the fields you enter and lets you copy it. It does not enforce your organization's vocabulary or report conversions. Save the agreed naming rules outside the tool and verify the final campaign URL in your downstream analytics.
A launch sheet worth keeping
For each placement, retain the public URL, destination URL, source, medium, campaign, optional content or term, launch date and owner. Add the final URL after redirects, because a campaign parameter can disappear in an intermediate rule. If a platform adds its own click ID, record whether your analytics gives that auto-tag precedence over manual tags. This small ledger makes mistakes discoverable instead of relying on memory.