Free tool

A disciplined UTM builder

Build, manage, and track UTM-tagged campaign links. Templates for Google, Facebook, and email, bulk generation for big campaigns, QR codes for print, and a saved history so nobody reinvents your naming convention.

  • Saved templates
  • Bulk generation
  • QR codes
  • Link history
app.tagfire.io/app/tools/utm-builder
https://example.com/spring-sale
  ?utm_source=facebook
  &utm_medium=paid_social
  &utm_campaign=spring_sale_2026
  &utm_content=carousel_a
  • facebook · paid_social · carousel_aGENERATED
  • facebook · paid_social · carousel_bGENERATED
  • newsletter · email · header_ctaGENERATED
  • newsletter · email · footer_ctaGENERATED
  • Facebook · Paid_Social · carousel_cCASE MISMATCH
48
Links this campaign
6
Saved templates
1
Naming warning
12
QR codes
A template applied across a campaign: consistent source and medium, one row per placement, generated in bulk.

In short

What is a UTM builder?

A UTM builder generates campaign tracking URLs by appending the five UTM parameters — source, medium, campaign, term, and content — to a destination link, so analytics can attribute the visit to a specific campaign. A good one enforces consistent naming, because UTM values are case-sensitive and free text, and inconsistency is what fragments channel reports.

Parameters
source, medium, campaign, term, content
Templates
Google, Facebook, email, and custom
Bulk mode
Generate many links at once
QR codes
For print and offline campaigns
History
Every link saved and searchable
Price
Free, no credit card

How the UTM builder works

Templates first, so consistency is the default rather than something to remember.

  1. 01

    Set up templates

    Create a template per channel — paid search, paid social, email, affiliate — with source and medium locked to your convention. Everyone building links for that channel then gets the same values without having to know them.

  2. 02

    Generate links

    Fill in the campaign-specific fields for one link, or switch to bulk mode and produce every placement variant of a campaign at once. Generate QR codes for anything going into print or out-of-home.

  3. 03

    Keep the history

    Every link is saved and searchable, so six months later you can answer what spring_sale_2026 actually pointed at, and reuse the exact structure for the next campaign instead of guessing.

Guide

UTM parameters, and the naming discipline that makes them worth using

UTM parameters are the oldest and most reliable piece of campaign attribution on the web. Five query parameters, appended to a destination URL, telling analytics where a visit came from. The mechanism is trivial. The failure mode is entirely human.

UTM values are free text and case-sensitive. Nothing validates them. Facebook, facebook, and FaceBook are three distinct sources in GA4, and once all three exist in the same report the channel is fragmented permanently — you cannot merge them retroactively.

What each parameter is for

utm_source
Where the traffic comes from: google, facebook, newsletter, partner_name. A specific platform or publication, always lowercase. This is the parameter people most often over-think — it is the where, not the what.
utm_medium
The marketing channel type: cpc, email, paid_social, affiliate, referral. This is the one that matters most, because GA4 channel groupings key off it. Non-standard mediums are why traffic lands in "Unassigned", and that is the single most common UTM mistake there is.
utm_campaign
The campaign name: spring_sale_2026. Pick a convention and hold it — most teams use a name plus a period. Consistency here decides whether year-over-year comparison is possible at all.
utm_term and utm_content
utm_term carries the paid keyword and is largely legacy where auto-tagging is in use. utm_content distinguishes variants within one campaign — carousel_a versus carousel_b, header_cta versus footer_cta — and is the parameter that makes creative-level analysis possible.

The five mistakes that break campaign reporting

  1. Inconsistent case

    The most common and the most damaging, because it is invisible while you are making it. Lowercase everything, always, and let the template enforce it rather than relying on whoever pastes the link.

  2. Non-standard mediums

    GA4 channel groupings recognise a specific set of medium values. Invent facebook-ads instead of using paid_social or cpc and that traffic falls into Unassigned, where nobody looks. Fix the convention before the campaign, not after.

  3. Tagging internal links

    Putting UTMs on links between pages of your own site starts a new session and overwrites the original attribution. The paid click that brought the user in is credited to your own homepage banner. Never UTM-tag an internal link.

  4. UTM-tagging Google Ads with auto-tagging on

    Auto-tagging with gclid is richer than anything manual UTMs carry. Adding UTMs on top overrides it and loses the Google Ads integration detail. If auto-tagging is on, leave Google Ads links alone — the GA4 audit checks for exactly this conflict.

  5. Spaces and special characters

    spring sale becomes spring%20sale in one report and spring+sale in another. Use underscores or hyphens, pick one, and never mix them within a property.

Why templates beat documentation

Every team that has been burned by inconsistent UTMs writes a naming convention document. Almost none of them follow it, for a simple reason: the person building the link is usually not the person who wrote the document, is often at an agency, and is always in a hurry.

Templates move the convention from a document people should read into the tool people actually use. Source and medium are fixed per channel; the person building the link fills in only the campaign-specific parts. The convention holds because following it is the path of least resistance.

Bulk generation matters for the same reason. A campaign with four placements across three channels is twelve links, and twelve links built by hand at 5pm is where inconsistency enters. Generating them from one template is both faster and structurally safer.

Link history is the part people miss

Six months after a campaign, someone will ask what q2_promo_v2 was, where it pointed, and which creative used it. Without a record, the answer is archaeology through a shared drive. Saved history makes it a search, and it lets the next campaign copy a known-good structure instead of improvising a new one.

Comparison

Tagfire vs. the alternatives

How a template-driven builder compares to the classic Google campaign URL builder and a shared spreadsheet.

CapabilityTagfireGoogle URL builderTeam spreadsheet
Builds a single linkYesYesManually
Saved per-channel templatesYesNoBy convention
Bulk generationYesNoFormulas
Enforces consistent case and namingYesNoNo
QR codes for offline campaignsYesNoNo
Searchable link historyYesNoIf maintained
Shared across a team or workspaceYesNoYes
CostFreeFreeFree

FAQ

Frequently asked questions

Keep every campaign link consistent

Set your conventions once as templates, generate links in bulk, and keep a searchable history of everything you have shipped.

Build campaign links