Quick answer: UTM parameters are the five little tags (utm_source, utm_medium, utm_campaign, utm_term, utm_content) you append to a URL so Google Analytics can tell exactly which email, ad, post, or QR code drove each visit. This free UTM builder assembles a clean, correctly-encoded campaign URL as you type — with a live preview, required-field validation, and naming-convention warnings (lowercase, no spaces) that catch the mistakes which silently break GA4 attribution. Everything runs in your browser; your URLs are never uploaded.
🔒 100% Private: Data never leaves your device.
Tip: keep a spreadsheet of campaign names so the whole team tags consistently — inconsistent names are the #1 cause of messy GA4 reports.
✓ Free forever · ✓ No signup · ✓ Tool inputs stay in your browser — never sent to our servers.
Copy this snippet and paste it into your page HTML — free forever, no signup:
How to Use the UTM Builder
Paste the destination page URL, including https://.
Fill in campaign source (who's sending the traffic: newsletter, facebook, google), medium (the channel type: email, cpc, social), and campaign name (the specific promotion).
Optionally add term (the paid keyword) and content (the ad variant) for finer splits.
Watch the live preview build your tagged URL — fix any naming warnings before copying.
Click Copy Tagged URL and paste it into your email, ad, social post, or QR code.
Why Use Our UTM Builder?
Live preview — the tagged URL assembles as you type; no submit button, no waiting.
Proper encoding — values are percent-encoded, so special characters and spaces can't break the link.
Naming-convention guardrails — warns about UPPERCASE and spaces, which GA4 treats as different values and which fragment your reports.
Preset suggestions — common sources and mediums one click away via dropdown, so the team stays consistent.
100% private — runs entirely in your browser; your campaign URLs are never uploaded.
Common Use Cases
Email newsletters: Tag every link so GA4 shows exactly which campaign and send drove each signup — not just 'email' in aggregate.
Paid ads: Give each creative its own utm_content value and let the data pick the winning variant instead of arguing about it.
Social bios & posts: Prove which platform actually converts instead of guessing from follower counts.
QR codes: Generate the code from an already-tagged URL so offline scans attribute to the right campaign in GA4.
Affiliate & partner links: Assign each partner a source value and settle payouts against attributed traffic, not self-reported clicks.
UTM Builder vs Alternatives
Google's Campaign URL Builder: Official and free — but no presets, no history, and you retype everything each time. Fine for occasional use.
UTM.io: Team presets, link management, and integrations — genuinely useful, and many of the team features sit behind paid tiers.
Manual spreadsheet tagging: Free, and one typo in a parameter name means GA4 silently misattributes the traffic. No validation, no guardrails.
Bitly / link shorteners: Shorten links but don't tag them — a different job. Shorten after building the tagged URL if you need both.
Email/SMS platform auto-tagging: Many email and SMS tools auto-append UTMs to every link — convenient, but the platform picks the naming convention, not you, and bulk sends can tag links you didn't intend to tag. Use this builder when you need exact control over values; use platform auto-tagging only after auditing what it writes.
If a whole marketing team tags links every day, a managed tool with presets earns its keep. For everyone else — a newsletter link, an ad variant, a QR code — this page builds a correct, convention-clean campaign URL in seconds, free.
Frequently Asked Questions
What are UTM parameters?
UTM parameters are five optional tags you append to a URL so analytics tools can identify the traffic's origin: utm_source (who sent it), utm_medium (the channel type), utm_campaign (the promotion name), utm_term (the paid keyword), and utm_content (the specific ad or link variant). Example: example.com/sale?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale. GA4 reads them on arrival and files the session under the right source/medium/campaign.
What is the difference between utm_source, utm_medium, and utm_campaign?
Source = who is sending the traffic (google, facebook, newsletter). Medium = what kind of channel it is (cpc, email, social, organic). Campaign = the name of the specific promotion (spring_sale_2026). Think: who, what kind, which one. Keeping medium to a short canonical list (email, cpc, social, referral…) is what keeps GA4 reports clean.
Do UTM parameters hurt SEO?
No. Google ignores UTM parameters for ranking — they're a standard analytics convention, not keyword stuffing. As hygiene, keep a self-referencing canonical tag on the page (our meta tag generator adds one) so the tagged and untagged versions are never treated as separate pages.
Should UTM tags be lowercase?
Yes — always lowercase. GA4 is case-sensitive: 'Email', 'email', and 'EMAIL' become three separate mediums in your reports. The same goes for spaces: they encode as %20 and fragment values. Use lowercase with underscores (spring_sale_2026). The builder above warns you when it spots uppercase or spaces.
Why aren't my UTMs showing up in Google Analytics?
Five usual suspects: 1. a redirect stripped the parameters (test the final URL), 2. GA4 reports take up to 24–48 hours to populate — check Realtime first, 3. an internal-traffic filter or ad blocker is hiding your own test visits, 4. a typo in the parameter name (it's utm_source, not utm-source), 5. the link was pasted into a field that truncated the query string. Fix and retest in an incognito window.
Can I put UTM parameters on internal links?
No — don't tag links within your own site. Internal UTMs start a brand-new session in GA4 and overwrite the original source, so a visitor who arrived from Google and clicks a tagged internal banner gets misattributed. Reserve UTMs for inbound links from outside your domain.
Do I need all five UTM parameters?
No. Source, medium, and campaign are the core three — GA4 needs them for clean attribution. Term matters mainly for paid search (which keyword triggered the ad); content is for splitting variants of the same ad or link. Leave the optional two blank rather than inventing filler values.
Where do I see UTM data in Google Analytics 4?
Go to Reports → Acquisition → Traffic acquisition and look at the Session source / medium and Session campaign dimensions. Realtime shows tagged visits within seconds; standard reports take up to 24–48 hours to populate. If a campaign shows as '(not set)', the link was missing utm_campaign — rebuild it here and relaunch.
Should I use UTM tags on my Google Ads URLs?
Usually no. Google Ads auto-tagging appends a gclid that imports campaign, ad-group, and keyword data into GA4 automatically — cleaner than manual UTMs. Only add manual UTM parameters if auto-tagging is off or you're sending ads to a third-party landing page that strips the gclid. Never run both without checking they agree, or reports will contradict each other.
Do UTM parameters work with shortened links and QR codes?
Yes — but the order matters: build the tagged URL first, then shorten it or encode it into the QR code. The shortener stores the full tagged destination, so every click or scan carries the UTMs into GA4. Shortening an untagged URL and adding UTMs later does nothing.
What's the difference between UTM tags and click IDs like gclid or fbclid?
UTM tags are parameters you write (source/medium/campaign); click IDs like gclid (Google) and fbclid (Meta) are auto-generated tokens the ad platform appends for its own attribution. They coexist: platforms use click IDs to report inside their own dashboards, while your UTMs make the same visit readable in GA4. If a link shows both, that's normal.
What naming convention should my team follow?
Pick one rule and write it down: all lowercase, underscores instead of spaces, short canonical lists. Example taxonomy: source ∈ {newsletter, facebook, google, partner_acme}, medium ∈ {email, cpc, social, referral}, campaign = product + year + promo (e.g. pro_plan_2026_q4). Keep a shared spreadsheet of every campaign name — inconsistent names are the #1 cause of messy GA4 reports.
What is a UTM code builder?
A UTM code builder is a tool that writes the UTM tracking code onto a URL for you: you enter the destination page, the source, the medium, and the campaign name, and it outputs the finished tagged link, correctly encoded and ready to paste. Doing it by hand means typing five parameter names exactly right every time — one typo (utm_campaing instead of utm_campaign) silently drops the campaign from GA4. This page is a free UTM code builder: it validates the required fields, warns about uppercase and spaces, and shows a live preview of the tagged URL as you type.
How do I create a utm_source value?
Name the exact sender, in lowercase with underscores: newsletter for an email send, google for a paid search ad, facebook for a social post, partner_acme for a named partner. Keep a short approved list and reuse it — if one campaign uses 'newsletter' and the next uses 'email-newsletter', GA4 reports them as two different sources. Enter the value in the Campaign source field above, and the builder appends it as utm_source=newsletter to your tagged URL automatically.
How do I name a utm_campaign value?
Use one lowercase, underscore-joined name for the whole promotion, such as spring_sale_2026, and reuse it across every channel in that campaign — the shared name is what lets GA4 compare email, social, and ads side by side. Put the year or quarter in the name so next year's spring sale does not merge into this one's report.
Can I reuse the same utm_source across campaigns?
Yes — that is exactly how sources are meant to work: utm_source=newsletter stays the same whether the campaign is spring_sale_2026 or summer_launch, because the source names the sender and the campaign names the promotion. What must not be reused is a campaign name across different promotions, or GA4 will blend their results together.
Related Tools
Meta Tag Generator — Free meta tag generator: create SEO meta tags, Open Graph and Twitter Card tags with live ...
QR Code Generator — Free QR code generator: create QR codes for URLs, text, WiFi, and contact info. Download a...
URL Encoder / Decoder — Free URL encoder/decoder: percent-encode URLs or decode %20-style strings back to readable...
Firewood Cord Calculator — Free firewood cord calculator: measure a stack in cords and face cords, check whether a de...
Quilt Binding Calculator — Free quilt binding calculator: enter quilt size and strip width for strips to cut, binding...
Rain Barrel Calculator — Free rain barrel calculator: roof area and rainfall in, gallons collected, barrels filled ...
EV Charging Cost Calculator — Free EV charging cost calculator: battery size, charge range and rates in — per-charge, pe...
Trailer Tongue Weight Calculator — Free trailer tongue weight calculator: gross weight, load position or scale reading in — t...
Online Course Pricing Calculator — Free online course pricing calculator: price your course three ways — cost-plus floor, inc...
Concrete Calculator — Free concrete calculator: slabs, footings, and post holes in cubic yards and 40/60/80 lb b...
Tile Calculator — Free tile calculator: enter room size and tile size to get tiles, boxes, and cost — with g...
Seed Spacing Calculator — Free seed spacing calculator: pick a crop, row length and germination rate to get seeds pe...
CSS Clamp Calculator — Free CSS clamp calculator: enter min/max font sizes and viewport widths to get fluid clamp...
Pizza Dough Calculator — Free pizza dough calculator: pick your style, size, and pizza count to get exact flour, wa...