UTM Link Builder
Paste your page URL, fill in the campaign details, and get a clean, properly encoded tracking link for GA4 in one click.
What are UTM parameters?
UTM parameters are five small tags you append to a URL — utm_source, utm_medium, utm_campaign, utm_term and utm_content. When someone clicks the tagged link, your analytics (GA4 included) reads the tags and attributes the session to the right channel and campaign. Without them, traffic from emails, social posts and paid ads lands in vague buckets like "direct" or "referral," and you can't tell which campaigns actually worked.
What each parameter answers
- utm_source — who sent the traffic? The referrer: google, newsletter, facebook, partner-site.
- utm_medium — how was it sent? The channel type: cpc, email, social, display, referral.
- utm_campaign — which campaign? Your internal name: spring-launch, black-friday-2026.
- utm_term — which keyword? Mostly for paid search: which query triggered the ad.
- utm_content — which variant? Used to split-test: hero-cta vs footer-link in the same email.
Worked example. Base URL https://example.com/pricing, with source=newsletter, medium=email, campaign=spring-launch:
GA4 will report every session from that link under source "newsletter", medium "email", campaign "spring-launch" — so you can compare it directly against your other channels in the traffic acquisition report.
UTM naming tips
- Always lowercase. UTM values are case-sensitive: "Spring-Launch" and "spring-launch" become two campaigns.
- No spaces. Use hyphens or underscores:
spring-launch, notspring launch. Spaces get encoded as %20 and create messy, inconsistent data. - Be consistent. Decide once whether it's "email" or "e-mail", "paid-social" or "paidsocial", and use the same values everywhere. A short written convention beats memory.
- Keep source specific, medium generic. utm_source=facebook + utm_medium=paid-social tells you both the placement and the channel — source=facebook + medium=facebook tells you nothing twice.
Naming-convention mistakes to avoid
- Mixed case creating split data. One email tagged utm_campaign=SpringLaunch and the next tagged springlaunch fragments one campaign into several rows. Pick lowercase once.
- Spaces in values. They get percent-encoded and are hard to read in reports — and "spring launch" and "spring_launch" are different values.
- Tagging internal links. UTMs on links inside your own site overwrite the original session source, so paid traffic that clicks a tagged banner gets re-attributed to the banner. External traffic only.
- Using UTMs as the URL people bookmark. If the tagged URL ends up indexed or shared widely, your reports fill with junk rows. Share the clean URL publicly; keep tagged URLs in ads, emails and posts.
Frequently asked questions
Do UTM parameters affect SEO?
Not meaningfully. Google treats UTMs as standard query parameters and is good at identifying the canonical version of a page. To be safe, keep a self-referencing canonical tag on your pages and don't use UTMs on links you want indexed, such as in your sitemap or internal navigation.
Should I tag internal links with UTMs?
No. Tagging links inside your own site overwrites the original session source in GA4, so a visitor who arrived from paid search and then clicked a tagged banner gets re-attributed to the banner. Reserve UTMs for external traffic only — ads, emails, social posts and partner links.
What is the difference between utm_source and utm_medium?
utm_source names where the traffic came from (the referrer, e.g. google, newsletter, facebook), while utm_medium names the marketing channel type (e.g. cpc, email, social). Think of it as: source = who sent it, medium = how it was sent. A useful pattern is utm_source=facebook + utm_medium=paid_social.
Why is my campaign data split into two rows in GA4?
Almost always a casing or spacing inconsistency: "Spring-Launch" and "spring-launch" (or "spring launch" vs "spring_launch") are treated as different campaigns because UTM values are case-sensitive. Pick lowercase, hyphenated names once, write them down, and never deviate.
Do I still need UTMs if my ads use auto-tagging?
Auto-tagging from Google Ads (gclid) and Meta works inside their own reports, but UTMs give you a platform-independent record of source, medium and campaign that survives in GA4 regardless of ad platform. The safest setup is auto-tagging on plus UTMs on every ad URL, so your data stays consistent and auditable.