Required-field validation
utm_source, utm_medium, and utm_campaign are required by GA4 for full attribution. The tool refuses to emit a URL until all three are filled in.
UTM Builder generates Google Analytics tracking URLs by appending utm_source, utm_medium, utm_campaign, and the optional utm_term, utm_content, and utm_id parameters to your destination URL. It handles encoding for you so each parameter is safe to send through any link platform.
The page you want to track visits to.
Where the traffic comes from: newsletter, google, twitter.
How they got here: email, cpc, social, referral.
The product or promo this URL belongs to.
Optional. Paid search keyword.
Optional. Distinguishes ad variants or link placements.
Optional. Internal campaign identifier.
Enter a destination URL.
UTM Builder is a free, browser-based tool that produces correctly encoded campaign URLs for Google Analytics, GA4, and any analytics tool that recognises UTM parameters. Type in your destination URL, fill in the three required parameters (source, medium, campaign) and any optional ones you need (term, content, id), and the tool emits a single URL you can paste into an email, social post, ad, or QR code.
UTM Builder runs entirely in your browser. The destination URL, the parameter values, and the final tracked URL are never uploaded anywhere — which matters because campaign URLs sometimes leak unannounced product names, customer-specific landing pages, or partner deals before they are public. The tool is also handy for one-off URLs where firing up a spreadsheet template would be overkill.
Typical users are growth marketers preparing email sends, paid-media buyers labelling ad creatives, social media managers tagging post links, and customer-marketing teams personalising URLs for individual partners. The tool also pairs well with QR Code Generator, URL Parser, and URL Encode for a complete distribution workflow.
utm_source, utm_medium, and utm_campaign are required by GA4 for full attribution. The tool refuses to emit a URL until all three are filled in.
utm_term, utm_content, and utm_id are emitted only when you provide a value. The tool does not pad the URL with empty parameters.
Every parameter value is percent-encoded with the WHATWG URL standard, the same rules Google Analytics expects. Spaces, ampersands, and unicode characters are escaped correctly.
You can paste a destination URL with or without the scheme. The tool prepends https:// so you do not have to fix the input first.
The tracked URL updates as you type, which makes it easy to see how each field changes the final string.
All work runs in your browser. The destination URL and parameter values are never uploaded, which matters when the URL contains an unreleased product name or a partner-specific path.
UTM parameters are a convention introduced by Urchin (the company Google acquired to build Google Analytics) for attaching campaign attribution to a URL. When a visitor follows a tracked link, the analytics tool reads the utm_* parameters and uses them to label the resulting session. This is what makes "20% of last month's signups came from the spring newsletter" a question you can answer in your dashboard.
GA4 and Universal Analytics recognise the same five canonical parameters: utm_source, utm_medium, utm_campaign, utm_term, and utm_content. GA4 also formally added utm_id for internal campaign identifiers. Other analytics tools (Adobe, Heap, Mixpanel, internal warehouses) generally accept the same set, which makes UTM tagging a portable strategy across platforms.
A small amount of discipline goes a long way. Pick canonical lowercase values for source and medium (so "Newsletter" and "newsletter" do not become two separate rows in your dashboard), use hyphens or underscores consistently in campaign names, and document the taxonomy somewhere your marketing team can reference. UTM Builder enforces the encoding; the taxonomy itself is yours to define.
Input
https://example.com/landing + utm_source=newsletter + utm_medium=email + utm_campaign=spring-launchOutput
https://example.com/landing?utm_source=newsletter&utm_medium=email&utm_campaign=spring-launchGoogle Analytics treats "newsletter" and "Newsletter" as different values. Pick lowercase as your team standard and stick to it so dashboards do not split traffic across cosmetic variants.
The medium field is what powers the Default Channel Grouping in GA4. Use the standard values (email, cpc, social, referral, organic) so reports group the way the analytics tool expects.
A single campaign should use the same utm_campaign value across email, ads, social, and any other channel. That stability is what makes cross-channel rollups possible.
Identical utm_source, utm_medium, and utm_campaign values let utm_content distinguish ad variants, button positions, or recipient cohorts. This is the easiest A/B comparison you can ship.
Maintain a short document listing the approved utm_source, utm_medium, and utm_campaign values. UTM Builder removes the encoding pain; the taxonomy is what keeps the data clean over time.
Make sure all three required fields (source, medium, campaign) are non-empty and that the destination URL parses cleanly.
Shorten utm_campaign or remove optional parameters you do not need. For sharing, consider routing the long URL through your own short-link service.
Manually typed URLs accumulate "Email", "email", and "EMAIL" over time. UTM Builder is a single source of truth — pasting through the tool encourages your team to commit to one form.
Analytics tools fall back to (direct) or (not set) when utm_source or utm_medium is missing. UTM Builder refuses to emit a URL until the required fields are filled in.
Spaces and ampersands in raw URLs corrupt the analytics record. UTM Builder encodes every value, so the URL is safe to send through any link platform.
These optional fields are valuable when used carefully. The tool only emits them when you provide a value, which encourages intentional usage rather than empty padding.
Cloud UTM builders sometimes store URLs server-side. UTM Builder runs locally, so even draft partner URLs stay confidential during construction.
Google Analytics requires utm_source, utm_medium, and utm_campaign for proper attribution. The other parameters (utm_term, utm_content, utm_id) are optional and only emitted when you provide a value.
Yes. Both versions of Google Analytics recognise the same set of UTM parameters. GA4 also added utm_id, which the tool supports.
utm_term is conventionally used for the paid search keyword that triggered an ad. utm_content distinguishes between creative variants, link positions, or recipient cohorts when the rest of the URL is identical.
Yes. Every parameter value is percent-encoded so spaces become %20, ampersands become %26, and unicode characters become their UTF-8 percent-encoded forms. The resulting URL is safe to drop into any link platform.
Not directly. UTM Builder focuses on the canonical UTM set. If you need additional parameters (such as your own click_id), construct the URL with UTM Builder first and then append the extra parameters with URL Parser to verify the final string.
No. All construction runs in your browser. The destination URL, parameter values, and final tracked URL never leave the device, which matters when your URL references an unreleased product or a confidential partner asset.
Build the UTM URL here, then paste it into the QR Code Generator on the same site. When someone scans the code, the visit will arrive with full UTM attribution exactly as if they had clicked a tagged link in an email.
utm_id ties a tracking URL to a specific campaign object in GA4 (and many internal warehouses). It is most useful when your team or platform has a canonical campaign identifier that should appear alongside the human-readable utm_campaign name.
UTM Builder produces clean, encoded, GA-compliant tracking URLs in seconds — useful for every email send, ad creative, social post, and printed QR code you ship.