Guide: UTM Builder
↑ Back to toolWhat is a UTM link?
A UTM link is a normal page URL plus campaign parameters. Analytics tools read utm_source, utm_medium, and utm_campaign so a newsletter and a paid ad can point at the same page and still show up as different traffic. This campaign URL builder writes those parameters for you.
The name comes from Urchin Tracking Module, the query-string convention Google Analytics still uses. You do not need an account to build the link. Paste the landing page, fill the fields, and copy the result.
Why use a UTM builder?
- See which email, ad, or post actually sent the visit, instead of one bucket called Direct.
- Keep a consistent spelling of source and medium across a team.
- Leave an existing query string, such as
plan=pro, in place. - Hand the finished URL to the shortener or a QR code without retyping parameters.
Fields
| Parameter | Role | Example |
|---|---|---|
| utm_source | Who sent the click | google, newsletter, twitter |
| utm_medium | The channel | cpc, email, social, print |
| utm_campaign | The promotion | spring_sale |
| utm_id | Optional campaign id | ad-1842 |
| utm_term | Paid keyword | pricing |
| utm_content | Which creative | hero, sidebar, footer |
Empty fields are left off the URL. Pick a channel card to fill source and medium: Google Ads (google / cpc), a newsletter (newsletter / email), a social post (twitter / social), or a printed code (qr / print). Choose Other source when the click comes from somewhere else.
How to use
- Paste the landing page. A missing
https://is added. A hash stays after the query string. - Pick where the click came from. A channel card sets source and medium. Name the campaign. Open keyword, creative, or campaign id only when you need them.
- Copy the campaign URL. Check that each value is the spelling you want in the report.
- Shorten or make a QR code when the link will be read aloud, printed, or posted where a long query string looks messy.
Examples
A pricing page from a spring search ad:
https://example.com/pricing?utm_source=google&utm_medium=cpc&utm_campaign=spring_sale&utm_term=pricing&utm_content=hero
The same page from an email, keeping a product query:
https://example.com/pricing?plan=pro&utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale
Use one campaign name for the whole promotion, and change utm_content when you have two buttons in the same email. Use a new campaign name when the offer changes.
Naming
- Lowercase.
Emailandemailbecome two mediums in a report. - Underscores or hyphens, no spaces. Spaces are encoded as
%20and are easy to mistype later. - Source is the site or list. Medium is the type of traffic.
google / cpcandnewsletter / emailstay readable a year later. - Do not put secrets in UTM fields. The full URL is stored in server logs, browser history, and the short-link record.
Shorten and QR
Shorten sends the finished campaign URL to the existing short-link API and returns a spoold.com/s/… address. The hop redirects to the tagged URL, so the parameters are still on the landing page when analytics runs. The same block list as the URL shortener applies: no localhost, no private addresses, and no already-short links.
QR opens the QR code tool with the short link when you have one, otherwise with the campaign URL. Prefer the short link on a flyer so the code stays small.
Common mistakes
- Tagging every internal link. A menu link with UTM can replace the campaign that brought the visitor in.
- Inconsistent medium names.
cpc,ppc, andpaidwill not merge. - Putting the campaign in the source field. Source should stay stable (
google). The offer belongs in the campaign. - Shortening a short link. Paste the original landing page, then shorten the tagged result once.
FAQ
Does building the URL leave the browser?
No. Source, medium, campaign, and the other fields are written into the query string on this page. Shorten is the only step that calls Spoold, and it uses the same short-link API as the URL shortener.
Which fields does Google Analytics need?
Source, medium, and campaign are the three that group traffic in GA4. Campaign ID, term, and content are optional. Term is usually the paid keyword. Content separates two ads or buttons in the same campaign.
Will this overwrite a query that is already on the page?
Only a UTM name you fill in. A parameter such as plan=pro stays. If you clear a UTM field, that parameter is removed from the result so the form is the source of truth.
What if I paste a URL without https?
The builder adds https://. It accepts only http and https. Other schemes, such as mailto or javascript, are rejected.
Should I tag links inside my own site?
Usually no. Tag links you place on other sites, in email, in ads, and on printed QR codes. Internal links tagged with UTM can overwrite the original campaign in the same session.
Does the short link keep the UTM parameters?
Yes. The short link redirects to the full campaign URL, query string included. Analytics still sees utm_source and the rest on the landing page.
Related terms
UTM builder, UTM link generator, campaign URL builder, Google campaign URL builder, GA4 UTM parameters, utm_source, utm_medium, utm_campaign, utm_content, utm_term, tagged link, campaign tracking URL.
Similar tools
Pair the campaign URL with a short link, a QR code, or a parsed query string:
Conclusion
Build the tagged URL here, then shorten it when the link has to be shared in a message or printed. For a closer look at the query string, open the URL parser. A longer walkthrough is in the UTM builder guide.