UTM Link Builder

Append standardized UTM parameters to any URL for GA4 — auto-lowercased, one consistent separator, no more Facebook vs facebook. Built in your browser.

Destination

The landing page the link points to. No https://? We add it. Existing ?params and #fragments are preserved.

Required UTM parameters

WHO sent the traffic — the platform or referrer. This is the field most prone to the Facebook/facebook/FB split.

HOW it arrived. This drives GA4's channel grouping — pick from the list to avoid (Other)/Unassigned. Note: organic is non-standard for paid links — GA4 identifies organic search by the source (e.g. google), not a medium value.

The specific campaign or promotion. Groups all of a campaign's links together in reports.

Optional UTM parameters (emitted only when filled)

Paid-search keyword.

A/B creative variant.

Only for GA4 cost-data / Data Import. Most users leave this blank.

Standardization

GA4 is case-sensitive. Lowercase is the core fix.

Replaces spaces. Pick one, apply everywhere.

Your tagged URL

parametervalue GA4 records
Fill the destination URL plus source, medium & campaign to build your link.
What was standardized
No changes yet.

UTM Link Builder — guide & how to use

What it does

This free UTM link builder appends standardized campaign parameters (utm_source, utm_medium, utm_campaign and the optional utm_term, utm_content, utm_id) to any destination URL so Google Analytics 4 can attribute the click correctly. Its whole reason to exist is consistency: it auto-lowercases every value and substitutes a single word separator, so Facebook, facebook, and FB stop fragmenting one campaign into three report rows. Everything runs in your browser — nothing you type is sent anywhere or stored.

How to use it

  1. Paste your destination URL (the page the link should land on).
  2. Set the three required tags: source (who), medium (how — pick from the list), and campaign (which promotion).
  3. Add term, content, or ID only if you need them.
  4. Keep Naming style = lowercase and pick one separator for your whole team.
  5. Click Copy URL and use it in your ad, email, or post.

Worked example

You enter the destination https://shop.com/pool-care, source Facebook, medium paid_social, campaign Summer Sale 2026, with lowercase style and the hyphen separator. The tool trims, lowercases, swaps spaces for hyphens, and percent-encodes each value, producing:

https://shop.com/pool-care?utm_source=facebook&utm_medium=paid_social&utm_campaign=summer-sale-2026

The breakdown shows utm_source = facebook, utm_medium = paid_social, utm_campaign = summer-sale-2026; the channel preview reports Paid Social; and the standardization note records Facebook → facebook (lowercased) and Summer Sale 2026 → summer-sale-2026 (spaces → hyphen).

The GA4 channel rules (best-effort preview)

GA4 sorts traffic into a Default Channel Grouping using fixed regex rules that "aren't case sensitive and can't be edited." The medium drives most of them:

Channel assignment also weighs whether the source matches Google's internal Search/Social/Shopping source lists, so the preview here is a best-effort indication of the medium rule, not a guarantee of final GA4 attribution.

Accuracy & honesty notes

How to embed this tool on your website

No account, no coding. Copy the embed code and paste it where you want it to appear:

Embeddable in one line — copy the ready-made snippet from the box below.

Frequently asked questions

What are UTM parameters and why must they be consistent?

They are tags appended to a URL so GA4 can attribute a visit to a campaign. GA4 values are case-sensitive, so Facebook, facebook, and FB are three sources — splitting one campaign across three rows. Forcing lowercase with one separator is the core fix this tool applies.

Which parameters are required?

Three: utm_source (who), utm_medium (how), utm_campaign (which). utm_term, utm_content, and utm_id are optional and only added when filled.

What's the difference between source and medium?

Source is WHO sent the traffic (facebook, newsletter); medium is HOW it arrived (cpc, email, social). Swapping them breaks channel grouping. Medium should come from the recognized vocabulary.

Why did my traffic land in (Other) / Unassigned?

GA4 assigns channels via fixed regex on utm_medium. A free-typed medium like "newsletter" matches nothing. Use email for newsletters and social/paid_social for Facebook. The channel preview flags this before you ship.

My URL already has a "?" or UTM tags — what happens?

Non-UTM params (gclid, ref) are kept and joined with "&", never a second "?". Existing utm_ keys are overwritten, not duplicated. A #fragment is split off and re-attached at the very end.

Should I tag internal links?

No — tagging links between your own pages starts a new GA4 session and corrupts source/medium attribution. Only tag links that bring people to your site from outside.

Related tools

Put this UTM builder on your site

Free, one line, no account. Great for an agency, a marketing team handbook, or a campaign-ops page.

<!-- UTM Link Builder — height is ~1180px; nudge it if your layout clips -->
<iframe src="https://snaptoolsuite.com/utm-link-builder/?embed=1"
  style="width:100%;max-width:560px;height:1180px;border:0;"
  title="UTM Link Builder" loading="lazy"></iframe>
2 Paste it on your page
3 It just works

Built locally in your browser. Nothing you type — URLs, campaign names, sources — is ever sent, logged, or stored.