Back to Guides

Setup

8 min read

UTM parameters: the 2-minute setup that changes everything

Use a small, consistent UTM naming system so campaigns stay readable when revenue comes in.

The question

You posted on X, sent an email, bought a sponsorship, and ran a small ad test. Later, the reports say direct traffic won. Did it?

Maybe. Or maybe the links were not tagged, so the tools could not separate campaign traffic from people typing your URL or returning from saved links.

The concept

UTMs are labels added to links so analytics tools know which campaign created the visit. A simple naming system is enough: source, medium, campaign, and sometimes content.

The value appears later, when revenue can be grouped by the campaign names you chose.

The naming system

Use lowercase names, hyphens instead of spaces, and stable medium values. The system should be easy enough that you actually use it every time.

Do not invent a new medium for every campaign. If one link says paid-social and another says paid_social, your future report is already split.

1. utm_source

Use the platform, partner, sender, or referrer: google, newsletter, producthunt, partner-name.

2. utm_medium

Use the channel type: organic, paid, email, referral, affiliate, sponsorship.

3. utm_campaign

Use the promotion or launch: spring-launch, pricing-test, black-friday.

4. utm_content

Use it only when comparing creative, placement, or link variations inside the same campaign.

The walkthrough

Before publishing any controlled link, add UTMs. Controlled links include ads, emails, partner links, social posts, creator sponsorships, affiliate links, and launch posts.

In Grometrics, those UTMs make Traffic Sources and Campaigns easier to read when revenue arrives later.

Mock Traffic Sources view showing how clean campaign labels make revenue reports readable.

1. Name the source

Use the platform or partner, like google, newsletter, producthunt, or founder-email.

2. Name the medium

Use a stable channel type, like organic, paid, email, referral, or affiliate.

3. Name the campaign

Use the promotion or launch, like spring-launch or pricing-page-test.

4. Check the final URL

Open it once before publishing and make sure the page still loads correctly.

Examples

For a newsletter launch link, use source newsletter, medium email, campaign product-launch. For a Product Hunt launch, use source producthunt, medium referral, campaign launch-day.

For paid social, use source meta or tiktok, medium paid, campaign the actual offer or experiment. Put the ad concept in content only if you are comparing creatives.

Common mistakes

The most common mistake is inconsistency. The second most common mistake is over-tagging until nobody knows what the values mean.

UTMs should make reports clearer. If the naming system needs a legend every time you read it, simplify it.

1. Tagging internal links

Do not use UTMs inside your own site. They can overwrite the original source.

2. Changing names mid-campaign

One campaign should keep one campaign name unless you intentionally split it.

3. Using people as mediums

Keep medium as the channel type. Put partner or creator names in source.

4. Forgetting paid links

Ad platforms need clean UTMs too, especially when you compare spend to revenue.

Decision framework

If you control the link, tag it. If you do not control the link, rely on referrer detection. Do not try to make UTMs solve every attribution problem.

A clean UTM system will not create revenue, but it makes revenue readable when it arrives.

Rule of thumb: clean UTMs make future revenue reports readable.

Try it in your data

Open Traffic Sources to see how your UTMs are grouped into channels and campaigns.

Start tracking for free →

Related guides