Uttir
By Uttir 5 min read

Best Free UTM Builders That Actually Respect Your Privacy

A practical guide to building UTM campaign links that track accurately in Google Analytics: what the five UTM parameters do, the naming conventions that keep your reports clean, and the privacy-first alternatives to the popular SaaS UTM builders that log your campaigns.

A good UTM builder does three things: builds the URL with the right five parameters (source, medium, campaign, term, content), enforces a naming convention so reports stay clean, and does not log your campaign data on a third-party server. The free browser-based UTM Builder does all three without sending your campaign details anywhere. Use it on every link you share in email, ads, or social, and Google Analytics will tell you which sources are working and which are not.

UTM parameters are the small text tags you append to a URL so your analytics tool can tell exactly where a visitor came from. They are how Google Analytics knows that the visitor to your landing page came from your newsletter versus your paid ad versus a tweet, and they are how you tell which sources are worth the spend. Most teams under-use UTMs because the popular SaaS UTM builders log your campaign data, which is a non-starter for any team that handles marketing for a privacy-sensitive product. The right answer is a browser-based builder that does the math and the formatting, and does not log anything.

What the five UTM parameters do

UTM is five parameters, all of them optional except utm_source in practice. Every UTM-tagged URL has the form:

https://example.com/landing?utm_source=newsletter&utm_medium=email&utm_campaign=summer_sale&utm_term=free_trial&utm_content=header_cta

Each parameter has a specific job:

  • utm_source — where the visitor came from. The specific site, app, or publication. Examples: newsletter, google, twitter, producthunt.
  • utm_medium — the marketing channel. Examples: email, cpc, social, organic, referral, affiliate. This is the second dimension for the standard Source / Medium report in Google Analytics.
  • utm_campaign — the specific campaign the link belongs to. Examples: summer_sale, black_friday_2026, q1_newsletter. One per campaign; do not reuse across campaigns or the report breaks.
  • utm_term — paid search keyword. Used for Google Ads / Bing Ads to track which keyword triggered the click. Empty for non-paid links.
  • utm_content — which version of the link was clicked. Used for A/B testing two CTAs in the same email. Examples: header_cta, footer_cta, blue_button.

For 95% of the links a small business or side project shares, you only need source, medium, and campaign. The other two are paid-search and A/B-test specific.

Naming conventions that keep your reports clean

The mistake most teams make is using Summer Sale 2026 as a campaign name once and Summer Sale 2026! next time, or summer-sale in one place and SummerSale in another. Google Analytics treats those as three different campaigns. The report is a mess. The fix is a single, enforced naming convention, applied to every UTM link from day one.

The convention that works for most teams:

  • Source: lowercase, single word, the specific site. newsletter, google, twitter, producthunt, linkedin. Never include the date, the campaign, or punctuation.
  • Medium: lowercase, single word, the channel. email, social, cpc, organic, referral, affiliate. Use one of these standard values; do not invent email_blast when email means the same thing.
  • Campaign: lowercase, underscores not spaces, no punctuation, dated for time-bounded campaigns. summer_sale_2026, q1_newsletter_2026, launch_announcement. Underscores survive the URL, spaces get URL-encoded to %20 and break the convention.
  • Term and content: same rules, lowercase, underscores, no punctuation.

The right tool enforces the convention on every link. The UTM Builder formats the values into the right shape automatically, which removes the "did I use a hyphen or an underscore" question from the campaign launch.

Where to put the UTM link

The five places that actually matter for most small businesses:

  1. Every link in your email newsletter. Tag with utm_source=newsletter and utm_medium=email. Tag the campaign with the specific send. Use different utm_content for the header CTA vs the footer CTA so you know which one drives the click.
  2. Every link in a paid ad. Tag with the platform (google, meta, linkedin), the medium (cpc or paid_social), and the campaign. The paid ad network usually adds their own click-tracking parameters, but the UTM is what ties the click to the session in Google Analytics.
  3. Every link in a social post. Tag with the platform and the medium. Different utm_content for posts vs replies vs DMs. This is how you tell which social channel is actually driving signups.
  4. Every link in a podcast show note. Tag with the podcast name as the source, audio as the medium, and the episode title (or a slug) as the campaign.
  5. Every link in a QR code on a print piece. Tag with the print piece as the source, print as the medium, and the campaign. The QR code generator takes a tagged URL and produces a printable code.

The point is to tag the link at the moment you create it, not the day you want to read the report. Tagging later is error-prone; the URL got copy-pasted, the original context is lost, and the analytics report has a row of "(not set)" entries that are useless.

Why privacy matters in a UTM builder

A UTM link carries the campaign, the source, the medium, and (sometimes) the term and content. The URL itself often carries the campaign name ("summer_sale_2026"), the product name, and the audience segment. When you build a UTM link in a SaaS tool, that URL is sent to the SaaS provider's server — which means your campaign calendar, your launch dates, your product names, and your segmentation logic are all sitting in a third-party database you do not control.

For a marketing team at a public company, this is a competitive-intelligence leak. For a marketing team at a small business, it is a privacy footgun: the SaaS tool knows your customer acquisition strategy as well as you do. The browser-based UTM Builder skips this. The link is built in your browser, the URL never leaves the page, and the only place the campaign data lives is in your analytics tool and your own spreadsheet.

The single check that catches 80% of bad UTMs

Before you ship a campaign, paste the tagged URL into the Google Analytics URL builder (or your analytics tool's equivalent) and read it back. The five parameters should be in the right order, lowercase, with the right values. Then click the link yourself and check that the destination page loads correctly with the parameters intact.

If the parameters survive the round trip, ship it. If they do not, the URL got truncated or re-encoded somewhere in the chain (a chat client that strips query strings, an email client that shortens URLs without preserving parameters, a social network that adds its own tracking). Find the leak before the campaign does.

That is the whole job. Pick the right source, medium, and campaign. Use a tool that enforces the convention. Tag every link at the moment you create it. Read the analytics report a week later and double down on what worked.

#utm#analytics#google-analytics#privacy#marketing#campaign-tracking

New tools and guides, once a week

One short email when something new ships. No tracking, no images, unsubscribe with one click.