SEO

UTM Campaign Builder

Generate fully encoded campaign tracking links by combining your base URL with utm_source, utm_medium, utm_campaign and optional utm_term and utm_content parameters. Every value is encodeURIComponent-escaped so your URLs stay valid, and existing query strings are preserved. Copy the finished link in one click — all processing happens in your browser.

Examples

Input · Optional term and content parameters are added only when provided.
Base: https://example.com/sale · source: newsletter · medium: email · campaign: summer_sale
Output
https://example.com/sale?utm_source=newsletter&utm_medium=email&utm_campaign=summer_sale

How it works

The builder adds your values to the base URL in a fixed order: utm_source, utm_medium, utm_campaign, utm_term, utm_content. Empty fields are skipped, spaces around a value are trimmed and each value is percent-encoded, so a space becomes %20.

Where each parameter appears in Google Analytics 4
ParameterGA4 dimension
utm_sourceSession source
utm_mediumSession medium
utm_campaignSession campaign
utm_termSession manual term
utm_contentSession manual ad content

If the base URL already has a query string, the UTM parameters are joined with & instead of ?, and a #fragment stays at the very end where it belongs. Values are used exactly as typed: the tool does not lowercase them, so “Email” and “email” will show as two separate mediums in your reports.

How to use UTM Campaign Builder

Add your base URL
Paste the landing page you want to send traffic to, including https://.
Fill in the UTM parameters
Set source, medium and campaign — add optional term and content for paid or A/B tracking.
Copy the result
The encoded URL builds instantly. Click Copy to grab your tracking link.

Why use this tool

Values are automatically URL-encoded so links never break
Preserves any existing query string on the base URL
Warns when recommended parameters are missing
100% client-side — your URLs never leave the browser

Frequently asked questions

Yes. Every value is passed through encodeURIComponent, so spaces and special characters become valid URL-safe sequences.

The builder detects an existing '?' and appends the UTM parameters with '&' so the original query is preserved.

Paste your landing page URL, set utm_source (where the traffic comes from, e.g. facebook), utm_medium (the channel, e.g. social or email) and utm_campaign (your campaign name), then copy the generated link. GA4 reads these parameters automatically and reports them under Traffic acquisition — no extra setup needed.

utm_source, utm_medium and utm_campaign are the three you should always set. utm_term (paid keywords) and utm_content (to tell apart two links in the same ad or email) are optional.

Yes. GA4 treats 'Facebook' and 'facebook' as two different sources, which splits your reports. Pick a lowercase naming convention and use underscores or hyphens instead of spaces.

No. UTM tags on internal links start a new session and overwrite the original traffic source in GA4. Use them only on links that bring visitors in from other websites, emails, ads or social posts.

Found a bug or have an idea?

ToolOrbit is actively developed — feedback directly shapes what gets built next.

Send feedback