Free tool · No sign-up

Build clean, error-proofUTM links in seconds

Single-click copy, auto-lowercase formatting, and quick-fill presets for the ad platforms you use every day. Nothing to install, nothing to sign up for.

Quick fill

Your tagged URL

Fill in the required fields to build your link…

Stop copy-pasting UTMs into every link by hand

Lead Recorder automatically captures and stores every visitor's UTMs on every form fill and call — no builder required.

Try Lead Recorder free

Why a “quick” UTM link is usually a broken one

Case fragments your data

Google Analytics treats utm_source=Facebook and utm_source=facebook as two separate sources. One typo splits a campaign's traffic across two rows in every report.

Missing fields show as (not set)

Google's own guidance is to always include utm_source, utm_medium and utm_campaign together. Drop one and that traffic loses its attribution entirely.

No record of what you've already tagged

Without a shared naming convention, the same campaign gets tagged three different ways by three different people — this tool's recent-links list and consistent formatting fix that on your end.

Read the full guide to UTM parameters, naming conventions, and common mistakes →

UTM builder, explained

What are the utm_source, utm_medium and utm_campaign fields for?

These three are the ones Google recommends on every tagged link: utm_source is where the traffic comes from (google, newsletter, linkedin), utm_medium is the channel type (cpc, email, paid-social), and utm_campaign is the name of the specific promotion. Leaving any of them off usually shows up as "(not set)" in your reports.

Do I need utm_term and utm_content?

Only if you need that extra level of detail. utm_term is mainly for tagging paid search keywords, and utm_content is for A/B testing two links that otherwise point to the same source, medium and campaign — e.g. a header CTA versus a footer CTA in the same email.

Why does the tool auto-lowercase and hyphenate everything?

Because UTM values are case-sensitive in GA4 and most other analytics tools. "Facebook" and "facebook" are treated as two different sources, which silently splits your traffic into duplicate rows. Lowercase, hyphenated values are the safest default — you can turn it off if your own naming convention needs mixed case.

Is this the same as Google's Campaign URL Builder?

It does the same core job — appending utm_source, utm_medium, utm_campaign, utm_term and utm_content to a URL — plus validation, presets for common ad platforms, auto-lowercasing, and a copy history. Google publishes its own version at ga-dev-tools.google/campaign-url-builder if you want to compare the two.

Where is my data stored?

Nowhere on our servers. Everything runs in your browser. The "recent links" list is saved to your own browser's local storage only, so it's there when you come back but never leaves your device.

My UTMs are set up properly — why does GA4 still show a lot of direct traffic?

Clean UTMs only cover links you control. Traffic still shows as direct when a referrer gets stripped by a redirect, an HTTPS-to-HTTP hop, or when someone clicks a link inside an email client, PDF, or messaging app that doesn't pass one along at all. Lead Recorder's lead source tracking picks up the journey that led to a conversion even in some of those cases.

Great, you have a clean link.
Now see what happens after the click.

Lead Recorder captures every visitor's UTMs automatically and ties them to the form fill, call, or booking they end up making — no manual tagging required.

Free plan available · No credit card required