UTM Link Builder

Build GA4-ready UTM campaign links with validation, bulk variations, saved presets and one-click copy.

  • Runs in your browser
  • Free, no sign-up
Mode

Existing query parameters are kept. Existing utm_ values are replaced.

Campaign parameters
Formatting
Saved presets

Stored only in this browser (localStorage).

Tagged URL

https://example.com/landing-page?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale

Parameters in the tagged URL
ParameterValue
utm_sourcenewsletter
utm_mediumemail
utm_campaignspring_sale
What each UTM parameter means in GA4
utm_source
Where the traffic comes from: google, newsletter, facebook, partner-site.
utm_medium
The marketing channel type: cpc, email, social, paid_social, referral, display, affiliate.
utm_campaign
The campaign or promotion name: spring_sale, product_launch_2026.
utm_term
Paid search keyword or audience. Optional.
utm_content
Tells apart ads or links pointing to the same URL: header_link, video_ad_b. Optional.
utm_id
Campaign ID, used by GA4 to join cost and campaign data imports. Optional.

GA4 reports these as Session source, Session medium, Session campaign, Session manual term, Session manual ad content and Session campaign ID. Default channel groupings rely on medium values such as cpc, email, social and referral.

How to use the utm link builder

  1. Paste the landing page URL. Any query parameters already on it are kept.
  2. Fill in utm_source (required), utm_medium and utm_campaign, plus term, content and id if you use them.
  3. Fix any warnings about capital letters or spaces, or switch on automatic lowercase and space replacement.
  4. Copy the tagged URL, or switch to bulk mode to create many variations at once and download them as CSV.
  5. Save common source and medium combinations as presets in your browser for next time.

Worked example

Tagging a newsletter link

Base URL https://example.com/landing-page?ref=abc with source newsletter, medium email and campaign spring_sale becomes https://example.com/landing-page?ref=abc&utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale. The existing ref parameter is kept.

How it works

The URL is parsed with the browser’s standard URL parser (https:// is added when the scheme is missing). Existing utm_ parameters are removed, then the new values are appended in the order source, medium, campaign, term, content, id. Values are percent-encoded; spaces become %20. The fragment (#section) stays at the end. Bulk mode applies the same process to each comma-separated line.

Assumptions

  • Presets are stored only in your browser’s localStorage and are never sent to a server.
  • The tool does not check that the landing page exists or that redirects keep the parameters.

Frequently asked questions

Which UTM parameters are required?

utm_source is required for GA4 to attribute the visit. utm_medium and utm_campaign are strongly recommended so traffic lands in the right channel group and campaign report. utm_term, utm_content and utm_id are optional.

Are UTM values case sensitive?

Yes. GA4 treats “Email” and “email” as different values, which splits your reports. Use lowercase consistently; the builder can convert values for you.

Should I use UTM tags on internal links?

No. Tagging links between pages of your own site starts a new session with the tagged source and overwrites the original attribution. Use UTMs only on links from external places.

Do UTM tags work with Google Ads auto-tagging?

Auto-tagging adds a gclid parameter that GA4 uses for Google Ads attribution. Manual UTMs can coexist, but if both are present GA4 settings decide which wins. Keep an eye on the warning if a gclid is already in the URL.

Limitations

  • Does not shorten links or track clicks.
  • Cannot detect redirects on your site that strip query parameters; test the final link.