Free tool

UTM Builder

Build trackable campaign URLs in seconds. Fill in the fields, copy the link, and every click is attributed to the right source, medium, and campaign.

Quick presets
The page you are linking to.
Where the traffic comes from — google, newsletter, twitter.
The channel type — cpc, email, social, referral.
The specific campaign — summer_launch, q3_webinar.
Paid-search keywords (optional).
Distinguish creatives or links (optional).
Your campaign URL https://pug.sh/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=summer_launch

What UTM parameters are for

A UTM-tagged link tells your analytics exactly which campaign sent a visitor. Without tags, an email click and an X post click both show up as "direct" or get lumped under the same referrer. With utm_source, utm_medium, and utm_campaign, every click is attributed — so you can compare channels, campaigns, and creatives on real numbers.

A naming convention that stays clean

The fastest way to ruin campaign reports is inconsistent casing and separators: Summer_Sale, summer-sale, and summer_sale become three different campaigns. Pick lowercase, pick underscores, and never deviate. This builder forces lowercase by default so your data rolls up cleanly.

The five parameters

utm_source = where (google, newsletter). utm_medium = channel type (cpc, email, social). utm_campaign = the campaign (summer_launch). utm_term = paid keywords. utm_content = which creative or link. The first three are essential; the last two are optional refinements.

Frequently asked questions

What is a UTM parameter?
UTM parameters are tags you add to a URL (utm_source, utm_medium, utm_campaign, and optionally utm_term and utm_content). Analytics tools read them to attribute a visit to a specific campaign, channel, and source.
Which UTM parameters are required?
utm_source, utm_medium, and utm_campaign are the three that matter — they answer where the traffic came from, what type of channel it was, and which campaign drove it. utm_term and utm_content are optional refinements.
Should UTM values be lowercase?
Yes. utm_source=Facebook and utm_source=facebook are counted as two different sources in most tools, fragmenting your reports. Keep everything lowercase and use a consistent separator (underscores) — this builder lowercases for you by default.
Does this work with Pug?
Yes. Pug captures utm_* parameters on page views automatically, so any link you build here is attributed in Pug with no extra setup — and the same in GA4, Mixpanel, Amplitude, and others.

Track these campaigns in Pug.

Pug captures utm_* on page views automatically — open-source product analytics with unified profiles. Self-host free under AGPL-3.0.