# Why IndieUTM exists

> Build consistent UTM campaign links without a spreadsheet, account, or public history.

By turushan.

Published: 2026-09-04T00:00:00.000Z

Updated: 2026-09-08T00:11:11Z

Canonical: https://indieutm.com/blog/why-indieutm-exists/

UTM links answer a simple question: where did this visit come from? Google Analytics reads campaign
parameters such as source, medium, and campaign from the destination URL. The format is simple, but
typing the same values by hand gets old fast. One spelling change can also split one campaign into
two rows.

IndieUTM builds the URL in your browser. Enter the destination, source, medium, and campaign, then
copy the finished link. Optional content and term fields are there when you need more detail.

Presets remember combinations you use often. Recent links let you reuse or copy the last eight.
Both live in localStorage on that browser. IndieUTM does not send those values to its server, sync
them to an account, or publish them.

The builder follows Google Analytics' campaign parameter names and uses the browser's URL parser to
encode values without breaking existing query parameters or fragments. It will never add an
account, card, premium plan, or public campaign history.

For a printed campaign, [create a QR code from the finished tagged URL](https://indieqr.com/). The image contains the chosen URL without an IndieQR redirect.

Read [how browser-only presets and recent links work](https://indieutm.com/#do-my-presets-and-recent-links-sync-to-another-device). Use [IndieUTM](https://indieutm.com/) to build and copy a tagged campaign URL in your browser.

## Sources

- https://support.google.com/analytics/answer/10917952?hl=en
- https://url.spec.whatwg.org/
