JustLNKEvery link under control.
CAMPAIGNS

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 education

Define 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.

FieldQuestionExample
utm_sourceWho sent the traffic?newsletter
utm_mediumWhat kind of channel?email
utm_campaignWhich initiative?spring_2026
utm_contentWhich placement or creative?hero_button
utm_termWhich paid term, if relevant?branded_links
utm_idWhich 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_2026

Construct 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.

Continue exploringBuild a campaign URL