← All Tools
Utm Link Builder🔒 100% local
Build UTM tracking URLs for campaigns. Privacy-first, no server uploads, no tracking.
Related Tools
Takes a destination URL on the first line and campaign parameters on the lines after it, then returns the URL with those parameters appended as a query string. Keys are lowercased and given a utm_ prefix if they do not already have one, and the output lists which of the five standard parameters you have left out. The URL is parsed with the browser's own URL object; no link is shortened, resolved or requested.
How to use it
- Put the destination URL alone on the first line - the box arrives pre-filled that way.
- Add one parameter per line as key=value or key: value; several pairs can share a line separated by commas.
- Press Process.
- Copy the finished link and the list of any missing standard parameters.
Worked example
https://example.com
utm_source=google, utm_medium=cpcbecomes=== UTM Link ===
https://example.com/?utm_source=google&utm_medium=cpc
Params:
utm_source = google
utm_medium = cpc
Recommended but missing: utm_campaign, utm_term, utm_contentThe pre-filled default, which now parses: URL alone on line 1, parameters on the lines after.
https://example.com/sale
utm_source=newsletter
utm_medium=email
utm_campaign=spring_salebecomes=== UTM Link ===
https://example.com/sale?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale
Params:
utm_source = newsletter
utm_medium = email
utm_campaign = spring_sale
Recommended but missing: utm_term, utm_contentVerified with the browser URL object: searchParams.set appends in the order given and leaves the existing path intact.
When to use it
- Tagging links for a newsletter, a paid ad or a social post so an analytics tool can tell the visits apart.
- Filling in the source, medium and campaign triple from a spreadsheet column.
- Checking a hand-built campaign link for a missing parameter before you send it.
What it does not do
- The URL and its parameters cannot share a line; the first line is treated as the entire destination.
- Values are inserted exactly as typed; spaces, capitals and ampersands are not converted to lowercase or hyphens, even though the tips under the output recommend it.
- A parameter that already exists under the same key is overwritten rather than duplicated, and any other query parameters already on the URL are left as they were.
- It only assembles the string; it does not shorten the link, check that the destination resolves, or confirm that the receiving analytics property uses these parameter names.