Generators · free · no signup

UTM Link Builder

Add campaign tracking parameters to a destination URL. Your work stays on this device whenever possible.

Free to useNo accountClear results
Preparing tool…
Simple, transparent workflow

How to use UTM Link Builder

  1. Paste the landing page into "Destination URL (existing query & hash preserved)"; a missing https:// is added automatically.
  2. Fill "Campaign Source (utm_source) *" and "Campaign Medium (utm_medium) *", or press a Quick Source Preset chip such as "Google Ads" (google, cpc) or "Newsletter" (newsletter, email), which also generates at once.
  3. Add "Campaign Name (utm_campaign)", "Campaign Term / Keyword (utm_term)" and "Campaign Content / A/B Variant (utm_content)" when you need them.
  4. Keep "Force lowercase parameters (recommended for GA4)" and "Replace spaces with underscores (_)" ticked for tidy reports, or clear them to keep your own casing.
  5. Press "Generate Tagged Link", check the badge, then use "Copy Tagged URL" or "Open & Test URL".

Worked example

Enter the destination "https://example.com/pricing?ref=banner#plans", source "Newsletter", medium "email", campaign "Spring Launch" and term "pro", leaving both checkboxes ticked so casing and spaces are normalised. The output is https://example.com/pricing?ref=banner&utm_source=newsletter&utm_medium=email&utm_campaign=spring_launch&utm_term=pro#plans, and the badge reads Valid GA4 Link. Clear the Medium box and the badge turns amber with the words Missing Source or Medium, though the link is still built.

When to use this tool

  • Tagging one newsletter link differently per placement using utm_content variants.
  • Keeping a shared team convention by leaving lowercase enforcement switched on.
  • Building tracked links for a paid social post without opening an analytics dashboard.

Important limitations

Constructs standard Google Analytics UTM tracking parameters. Web analytics platforms require consistent casing (lowercase recommended) to prevent fragmented reporting.

Frequently asked questions

What happens to UTM parameters already on my link?

Each utm_ key you fill overwrites an existing key of the same name. Other parameters such as ref=banner stay in place, and a #hash fragment remains at the very end of the finished address.

Why did a space in my campaign name turn into a plus sign?

With the underscore option off, the URL parser encodes spaces as plus signs in the query string. Analytics tools decode that as a space, but underscores give cleaner report rows.

Is the whole URL lowercased?

No. Only the five UTM values are lowercased. The path and other parameters keep their case, and utm values that differ only in capitals show up as separate rows in analytics.

Why does httpbin.org/get say the URL is invalid?

The tool assumes any input beginning with the letters http already has a protocol. A bare domain that happens to start that way fails to parse, so type the full https:// address.

What does the "Valid GA4 Link" badge prove?

Only that source and medium are both filled. It does not check that the page exists or that utm_id is present; utm_id is not supported, and only the five standard parameters are written.