UTM Link Builder

Build campaign URLs, inspect existing UTM parameters or remove tracking while preserving other query parameters.

Build a campaign that you can recognize later

Enter a landing page and a source, medium and campaign. Use stable names, such as newsletter / email / autumn_launch, so later reports do not split one campaign into several spellings. ID, term, content and source platform are optional. Values are encoded once: enter a normal space or an ampersand, rather than typing %20 or %26 yourself.

Choose what happens to old tracking

Replace removes every existing query key beginning with utm_, ignoring case, before adding the new campaign. Merge replaces filled fields and retains optional existing values when their fields are blank. Keep takes the first existing value for each recognized UTM name, even when you supply another value. Recognized duplicate keys collapse to one lowercase name. Unknown UTM keys survive Merge and Keep.

The three effective fields source, medium and campaign must be nonempty. The lowercase option changes newly entered values only. It does not rewrite values retained by Keep or Merge. Inspect lists original names and duplicates without adding a campaign; it identifies missing standard lowercase parameters. Clean removes UTM query keys, leaving the fragment untouched.

What is preserved

Unrelated query pairs keep their order and raw spelling, including repeated keys, bare flags, + and %20. The URL parser normalizes the host, IDN and path as a browser does. Fragments remain after the query string. Generated values use UTF-8 percent encoding with %20 for spaces. Building an identical campaign again is idempotent.

Only absolute HTTP/HTTPS URLs without credentials are accepted. Each parsed or generated URL is limited to 8,192 characters after percent encoding, and each campaign value to 2,048. Malformed percent escapes, control characters and unencoded spaces in URLs are rejected. Existing signed URLs may still become invalid when tracking is appended; check the destination service’s signature rules.

Use UTM links for attribution

UTM values describe where a visit came from; they do not install analytics or guarantee a conversion report. Confirm that the destination records campaign data. Avoid tagging internal navigation: it can distort attribution. This tool does not shorten links or request the destination.

Questions & answers

Why did a parameter disappear?

Replace intentionally removes all UTM keys, including optional and unknown ones. Choose Merge to retain unspecified optional values, or Inspect to review the original URL before changing it.

Is the link visited or stored?

No. A local Web Worker processes the fields. The tool does not call the destination, save the campaign in local storage or send the input to an API.

Can this improve my search ranking?

UTM parameters are attribution labels. They are not a ranking feature. Use a consistent canonical strategy for campaign URLs on your own site.

Other Languages

References

How we make sure

We check this tool with the automated test suites linked below. Example checks are shown in their original language.

Verification method
Check UTM encoding and replace/merge/keep/clean modes while preserving unrelated query parameters/fragments and avoiding double encoding.
Comparison reference
Explicit URL input/output pairs and Unicode fixtures.
Verification scope
These samples and boundaries do not prove correctness for every input.
Test source and cases (select a file to read it)
  • seo-tools.test.js
    • UTM encodes Unicode, spaces and literal delimiters exactly once and keeps unrelated raw pairs
    • UTM replace removes stale known and unknown UTM parameters regardless of spelling
    • UTM merge replaces specified values and keeps unspecified optional values without duplicate known keys
    • UTM keep uses the first existing value and enforces a complete effective campaign
    • UTM clean is idempotent, removes only query UTMs, and preserves fragments and unrelated pairs
    • UTM inspect reports duplicates, original casing and missing recognized campaign fields without changing URLs
    • UTM optional lowercase affects new values only and has reversible Unicode encoding
    • UTM rejects invalid URL, credentials, controls, malformed mode and excessive field size

These checks cover the listed examples and boundaries, not every possible input. Round trips and checks using the same library are not independent verification.