Free · no signup · GA4-ready

UTM Builder – Free Campaign URL Builder

Generate correct Google Analytics campaign URLs in seconds. Pick a preset, fill in the fields and copy, shorten or QR-code your link – with a live prediction of the GA4 channel it will land in.

Free-text mode: type any source and medium.

The full landing-page URL, including https://. Existing query strings and #fragments are kept.
Where the traffic comes from – the site, platform or list.
The marketing channel. GA4 uses it to pick the default channel group.
The campaign, promotion or initiative name.
Any call-to-action or headline that differentiates links, e.g. buy-now
Keywords for paid search campaigns
GA4 parameters & custom parameters (optional)
Used by GA4 to join cost-data imports.
The buying platform that directed the traffic.
Type of creative.
Targeting criteria applied to the campaign.
Custom parameters

Added after the UTM parameters – for coupon codes, partner IDs or platform-specific tracking.

Recent links 0

Links you copied, opened or shortened are kept in this browser only – they are never sent to our server.

CreatedURLActions

URLs are built in your browser. Nothing is sent to a server unless you press “Shorten”.

What is a UTM builder and why you need it

A UTM builder is a small tool that takes a landing-page address plus a handful of campaign labels and joins them into a single, correctly formatted tracking link. You fill in where the visitor is coming from (source), how they got there (medium) and which promotion sent them (campaign); the builder takes care of the question marks, ampersands, encoding and ordering so that Google Analytics and similar tools read the link the way you intended.

You could, of course, type the parameters by hand. For one link that is fine. For fifty links a week across email, social, paid search and partner placements it stops being fine remarkably quickly. Hand-built links pick up capital letters in one place and not another, a stray space that becomes %20, a second question mark that silently breaks the query string, or a fragment that ends up in the middle of the URL. Every one of those slips fragments your reports: “Newsletter” and “newsletter” become two sources, and a broken query string means the visit is recorded as Direct with no campaign at all.

A builder removes that class of error entirely. The one at the top of this page is deliberately simple: no signup, nothing saved, and it produces a valid URL on every keystroke. When your team grows past a few people or a few dozen links a month, the same idea scales up into shared picklists and enforced naming rules – more on that further down.

What are UTM parameters?

UTM parameters are five standard query-string keys that analytics tools recognise and use to attribute a visit to a campaign. Three of them are required for the attribution to work; two are optional and add extra detail.

The five UTM parameters
ParameterRequiredWhat it describesExample
utm_sourceYesThe referrer: the site, platform, publication or list the traffic originates from.newsletter, google, linkedin
utm_mediumYesThe marketing channel or category of traffic.email, cpc, social
utm_campaignYesThe specific promotion, launch or initiative.spring-sale, q3-webinar
utm_contentNoDistinguishes links inside the same campaign – a button versus a text link, or two ad variations.hero-button, footer-link
utm_termNoThe paid keyword that triggered the ad; mainly for search campaigns.running-shoes

Put together, a fully tagged link looks like this:

https://www.example.com/shoes?utm_source=newsletter&utm_medium=email&utm_campaign=spring-sale&utm_content=hero-button&utm_term=running-shoes

When someone clicks it, the analytics script on the landing page reads the five values and records the session under Source “newsletter”, Medium “email” and Campaign “spring-sale”, with the content and term available as secondary dimensions.

Why do we need UTM parameters?

Browsers already send a referrer header that tells the destination site which page the visitor came from – so why tag links at all? Because the referrer is unreliable for a large share of real-world traffic. It is empty when someone opens a bookmark, types an address, or taps a link inside a native app such as a mail client, a messaging app or a social network’s in-app browser. Many email clients strip it. A link from an HTTPS page to an HTTP page drops it for security reasons. Privacy features in modern browsers trim it to the bare domain or remove it altogether.

In every one of those cases the analytics tool has nothing to go on and files the visit under “Direct”. That bucket ends up holding your best email campaign, your influencer placement and the QR code on the trade-show banner, all lumped together with people who really did type your address. You cannot tell which channel is working, so you cannot decide where to spend next.

UTM parameters solve this because they travel inside the URL itself. It does not matter whether the click came from an app, an email or a printed poster: the tags arrive with the visitor and the source, medium and campaign are recorded exactly as you wrote them. The referrer becomes a fallback; the UTM values become the record.

Which tools detect UTM parameters?

The convention began with Google Analytics, and both Universal Analytics and GA4 read all five parameters automatically – GA4 also understands a few extras such as utm_id, utm_source_platform and utm_creative_format. But the format has become a de-facto standard well beyond Google. Product-analytics tools such as Mixpanel, Amplitude and Heap capture UTM values as properties on the first event of a session so you can segment behaviour by campaign. Kissmetrics, Matomo, Plausible, Fathom and most privacy-focused analytics packages recognise them too, usually under a “Campaigns” report.

Outside analytics, marketing-automation and CRM platforms – HubSpot, Marketo, Salesforce Pardot, ActiveCampaign and others – can read UTM values from the landing-page URL and write them onto the contact record, which is what makes lead-source attribution possible. Advertising platforms sit on the other side of the exchange: Google Ads, Meta and LinkedIn can append UTM parameters to every ad link automatically through tracking templates or URL parameters.

The practical takeaway: a correctly built UTM link works everywhere. A broken one – with a doubled question mark or a fragment in the wrong place – fails everywhere, because the URL specification is the same for all of them.

Does the order of UTM tags matter?

No. Query parameters are a set of key=value pairs and every analytics tool looks them up by name, so utm_campaign=sale&utm_source=newsletter is read exactly the same way as utm_source=newsletter&utm_campaign=sale. You can also mix your own parameters (a coupon code, a product id) in between them without affecting attribution.

Two things do matter, though. First, the query string has to start with exactly one question mark – if the landing page already has one, additional parameters must be joined with ampersands, which is the most common mistake in hand-built links. Second, a fragment (#section) must come after the entire query string; anything placed after the # is invisible to the server and to most analytics scripts.

For consistency, this builder always emits the parameters in the conventional order – source, medium, campaign, content, term – after any parameters the page already had. That is purely a readability choice for humans scanning links in a spreadsheet; the tools do not care.

UTM best practices

Most attribution problems are not caused by the technology but by inconsistent humans. These rules prevent the vast majority of them:

  • Never tag internal links. A UTM-tagged link from your homepage to your pricing page starts a brand-new session and overwrites the real source. Only tag links that point to your site from somewhere else.
  • Tag consistently. Every outbound campaign link should carry the same three required parameters. A campaign that is tagged in the email but not in the paired social post cannot be compared.
  • Always use lowercase. Analytics tools are case-sensitive: “Email” and “email” are two mediums. Lowercase everything and you never have to think about it again.
  • Use a builder, not your fingers. Encoding, ampersands and fragment placement are exactly the kind of detail people get wrong under deadline pressure.
  • Use the same value every time. Pick “twitter” and stick with it – not “tw”, “Twitter” or “x” depending on who built the link.
  • No spaces. Spaces become %20 or a plus sign and look messy in reports. Join words with dashes or underscores instead.
  • Define a naming convention. Write down the allowed sources and mediums and the pattern for campaign names, and share it with everyone who creates links.
  • Use dashes to join multiple data points. A campaign like 2026-q2-launch-eu packs the year, quarter, initiative and region into one value that you can still split apart later in a report.

How to capture UTM codes in form submissions

Web analytics tells you which campaign brought a visitor; it does not tell your sales team which campaign brought a lead. To connect the two, copy the UTM values from the landing-page URL into hidden fields on your forms so they are submitted alongside the name and email address and land in your CRM as properties of the contact.

The pattern is simple. When the page loads, a short script reads the query string, stores the five UTM values plus the document referrer in a first-party cookie or in localStorage, and writes them into hidden inputs named utm_source, utm_medium and so on. Storing them – rather than reading the URL at submit time – matters because most people browse a few pages before they convert, and the parameters are gone from the address bar by then. A 30- or 90-day expiry captures the first-touch campaign even when the form is filled in on a later visit.

<input type="hidden" name="utm_source"   id="f-utm-source">
<input type="hidden" name="utm_medium"   id="f-utm-medium">
<input type="hidden" name="utm_campaign" id="f-utm-campaign">
<input type="hidden" name="utm_content"  id="f-utm-content">
<input type="hidden" name="utm_term"     id="f-utm-term">
<input type="hidden" name="referrer"     id="f-referrer">

Most form tools – HubSpot, Marketo, Gravity Forms, Typeform, Webflow – support hidden fields natively and several will populate UTM fields for you. Once the values are on the lead record you can report on pipeline and revenue by campaign, which is the point of tagging links in the first place.

Different UTM builder options

There are three broad ways to build UTM links, and the right one depends mostly on volume and how many people are involved.

Comparison of UTM builder options
Simple builder
2–5 URLs / month
Spreadsheet
5–20 URLs / month
UTM management software
20+ URLs / month or teams
Pros Free, instant, nothing to set up. Produces a correct URL every time (if it passes the four tests). Keeps a history of links, can hold dropdowns for sources and mediums, easy to share with a small team. Central rules, enforced taxonomy, bulk creation, auto-shortening, QR codes, user permissions and click reports – all in one place.
Cons No memory: naming consistency depends entirely on the person typing. No record of what was created. Formulas break easily and rarely parse URLs correctly (fragments, existing query strings). Nothing stops people bypassing the dropdowns. Costs money and takes an afternoon to configure the taxonomy properly.
Use when You are one person creating a handful of links and can keep the naming straight in your head. A small team needs shared history and light structure, and someone is willing to maintain the sheet. Several people or agencies build links, reporting has to roll up across teams, or you have been burned by inconsistent data before.

How to create UTM URLs in bulk

A product launch might need the same landing page tagged for twelve sources, three mediums and four ad variations – over a hundred links that differ in only one or two values. Building them one at a time in a form is tedious and, worse, invites typos exactly where consistency matters most.

The spreadsheet approach is the usual first step: one row per link, one column per parameter, and a formula that concatenates them. It works until you hit a landing page that already has a query string or a fragment, at which point most formulas quietly produce a broken URL. If you go this route, build the formula around a proper parser (our spreadsheet reviews show which templates do) and lock the source and medium columns to dropdowns.

The more robust option is a builder that supports multi-select: choose several sources and mediums at once and the tool generates every combination, applies your naming rules to each, shortens them if you want, and exports the batch as CSV. Because the same rules are applied to all links in the batch, the resulting dataset is clean by construction. That is a core feature of UTM management software and the main reason teams graduate to it from spreadsheets.

Both options are free here: the bulk UTM builder generates every combination (or tags a pasted CSV) and exports the result, and our spreadsheet template uses a formula that passes all four URL tests.

What is a UTM governance model?

A UTM governance model is a naming convention that lives inside the builder rather than in a document nobody reads. Instead of asking people to remember that the medium for paid social is “paid-social” and not “social-paid”, the builder simply offers “paid-social” in a picklist and rejects anything else. Instead of hoping every agency uses the same campaign IDs, the campaign is chosen from a shared list so that spend and results roll up correctly in one report.

The model is made of a few building blocks: picklists for each parameter, dependencies between them (choosing source “google” only offers mediums that make sense for Google), campaign IDs that are created once and reused everywhere, validation rules such as forced lowercase and no spaces, and taxonomies that let different teams have different options while still feeding a single dataset.

Governance in practice

  • Picklists
  • Dependencies
  • Campaign IDs
  • Validation
  • Taxonomies

US Marketing

in-house

Region
US
Mediums
cpc · cpm · email

Northstar Paid

agency

Sources
google · meta
Mediums
cpc · cpm

EMEA Events

field team

Region
Europe
Mediums
event · email

One clean dataset – every campaign ID rolls up across teams

The builder on this site already applies the basics – preset picklists per channel, forced lowercase, whitespace clean-up and warnings when a medium would land in GA4’s “Unassigned” bucket. Our UTM naming convention guide shows how to write the rules down.

The payoff is that reporting stops being a clean-up exercise. Nobody has to merge “Email”, “email” and “e-mail” in a pivot table, and the number on the dashboard is the number you can act on.

More UTM resources

Further reading from around the web (external links open in a new tab):

Frequently asked questions

What is a UTM code?

A UTM code is a short piece of text added to the end of a URL – for example utm_source=newsletter – that tells your analytics tool where a visitor came from. UTM stands for Urchin Tracking Module, after the software that became Google Analytics. The classic five are source, medium, campaign, content and term; GA4 adds utm_id, utm_source_platform, utm_creative_format and utm_marketing_tactic.

Which UTM parameters are required?

Use utm_source, utm_medium and utm_campaign on every link. Source and medium decide the GA4 channel; campaign groups the traffic in reports. utm_content and utm_term are optional and distinguish individual links or paid keywords within one campaign.

Is this UTM builder free?

Yes. Every tool on utm.builders is free and needs no signup. Links are built in your browser and nothing you type is saved on our server – the only exception is when you choose to create a short link, which has to be stored so it can redirect.

How do I stop my team naming campaigns inconsistently?

Write a naming convention and move it into the tool people actually use: picklists for sources and mediums, forced lowercase, a fixed separator and a shared list of campaign names. The builder’s preset tabs and saved templates cover small teams; site owners can also define approved mediums that the builder enforces.

Does this builder support GA4 parameters like utm_id?

Yes. Open “GA4 parameters & custom parameters” below the main fields to add utm_id (used to join cost-data imports), utm_source_platform, utm_creative_format and utm_marketing_tactic, or use the dedicated GA4 Campaign URL Builder page.

Why does my UTM traffic show as “Unassigned” in GA4?

GA4 assigns channels from source and medium using fixed rules. A medium it does not recognise – such as “newsletter”, “qr” or “print” – matches no rule and ends up as Unassigned. The builder warns you when that will happen; the GA4 Channel Checker explains every rule.

Can I create UTM links in bulk?

Yes. The Bulk UTM Builder creates every combination of your URLs, sources, mediums and campaigns, or tags rows pasted from a spreadsheet, and exports everything as a CSV.