Free UTM Builder & Campaign Taxonomy Generator — GA4 Ready | AEO Insider
Agency-Grade · 100% Free · No Signup

UTM Builder &
Taxonomy Generator

Build, validate, and bulk-generate UTM links with naming convention enforcement and GA4 channel grouping preview. Runs entirely in your browser.

GA4 Channel Preview Bulk CSV Import/Export Naming Convention Builder QR Code Generator
Load a Preset Template
0 characters
Your Tagged URL
Fill in the fields to generate your URL →
— characters
Allowed Values per Parameter

Define which values your team is allowed to use. These populate the dropdowns in Tabs 1 & 2.

Campaign Naming Convention

Click tokens to add them to your naming pattern, then drag to reorder.

Available Tokens
Your Pattern (click to remove)
Separator
Force Lowercase
Your campaign names will look like: google_cpc_awareness_2026-06
Save & Share Taxonomy
Link History

No links generated yet

Start building in the Single Builder tab — your links will appear here.

🎁 Free UTM Governance Template for Your Team

Get a Google Sheet with pre-validated dropdown lists for all UTM fields — shareable with your whole team in one click.

How It Works

Features in this tool

Every feature is built around GA4’s attribution logic and the real naming problems that break campaign reporting — case inconsistency, channel misclassification, and convention drift across teams.

01

Single Link Builder

Build one tagged URL at a time with dropdowns for source and medium, a live GA4 channel preview, automatic case enforcement, and detection of existing UTM params that would conflict with your new tags.

02

Bulk URL Generator

Apply the same UTM parameters to up to 200 destination URLs in one pass. Every row gets a GA4 channel prediction and a case-consistency check. Export as CSV for direct upload into your reporting stack.

03

CSV Import & Enrichment

Upload an existing URL list — with or without UTM params — and the tool will normalise case, build the tagged URLs, add a ga4_channel column, and flag rows that will cause attribution errors in GA4.

04

Campaign Taxonomy Builder

Define your organisation’s allowed values for source, medium, and campaign prefix. Build a naming convention from drag-and-drop tokens. Save to browser, export as JSON, or export a Google Sheet validation template for your team.

05

GA4 Channel Grouping Preview

Every generated URL shows which GA4 Default Channel Group it will land in — Paid Search, Email, Paid Social, Display, and so on. Unrecognised medium values flag immediately as Unassigned before they reach your reports.

06

Link History & Export

Every URL you build is saved to in-browser history with date, source, medium, and campaign. Search, sort, copy individual links, or export the full history to CSV for campaign documentation or handover.

07

QR Code Generator New

Generate a downloadable QR code for any tagged URL — useful for offline campaigns, print collateral, and events where you need trackable links without visible URLs. Download as PNG in one click.

08

Preset Campaign Templates New

Six pre-built templates cover the most common campaign types: Google Ads Search, Meta Paid Social, Email Newsletter, LinkedIn B2B, Google Shopping, and Agency Client. Each pre-fills all fields to GA4-correct defaults.

UTM Builder & Taxonomy Generator: The Complete Guide to GA4 Campaign Tracking

A UTM builder creates tagged URLs that tell GA4 exactly where each session comes from. But the tool is only as good as the naming discipline behind it — and most teams break their own attribution data within weeks of launching a new campaign. This guide covers what UTM parameters actually do in GA4, why naming consistency is the single most important variable in campaign reporting, and how to use the Taxonomy Builder to eliminate attribution errors across your entire team.

What UTM Parameters Do in GA4 (and What They Don’t)

UTM parameters are query string values appended to a destination URL. When GA4 receives a session with UTM parameters, it uses those values to populate three key dimensions: Session source, Session medium, and Session campaign. These dimensions feed directly into the Default Channel Grouping report — the top-level attribution view most marketing teams look at first.

What UTM parameters do not do: they do not override GA4’s built-in channel rules. GA4 reads your utm_medium value and maps it against a fixed set of recognized mediums to assign a Default Channel Group. If your medium value isn’t on that list — or is the right value but in the wrong case — the session goes to Unassigned. Your attribution data is silently broken, and there is no retroactive fix.

The Unassigned problem in GA4

GA4’s Default Channel Grouping uses medium values to classify traffic. Any utm_medium that doesn’t exactly match a recognized value — including capitalised versions like CPC or Email — routes to Unassigned. The GA4 Channel Preview in this tool shows which channel every URL will land in before you publish it.

The Five UTM Parameters: When to Use Each One

Each UTM parameter serves a distinct attribution purpose. Using them interchangeably — or skipping the ones that feel optional — degrades the granularity of your reporting in ways that compound over time.

ParameterRequired?What to put hereGA4 impact
utm_sourceYesThe platform or origin: google, facebook, newsletterPopulates Session source dimension
utm_mediumYesThe channel type: cpc, email, paid_social, displayDetermines Default Channel Grouping
utm_campaignYesYour campaign name following your naming conventionPopulates Session campaign; enables campaign-level reporting
utm_termPaid search onlyThe keyword that triggered the ad — use {keyword} dynamic insertion in Google AdsPopulates Session keyword; enables keyword-level reporting
utm_contentOptionalCreative variant, CTA placement, or ad format: carousel_v1, cta_headerEnables ad content testing and creative-level attribution
utm_idCost data import onlyYour campaign ID — must match the ID in your GA4 cost data upload CSVLinks session data to cost data for ROAS reporting

GA4 Channel Grouping: The Medium Values That Work

GA4’s Default Channel Grouping is defined by rules that evaluate source, medium, and campaign name in combination. Medium is the primary signal in almost every rule. These are the values that map cleanly to GA4 channels in 2026:

  • cpc — maps to Paid Search (when source is a recognised search engine) or Paid Other (other sources)
  • organic — maps to Organic Search
  • email — maps to Email
  • paid_social — maps to Paid Social
  • organic_social or social — maps to Organic Social
  • display or banner — maps to Display
  • affiliate — maps to Affiliates
  • referral — maps to Referral
  • video — maps to Paid Video (when source is a recognised video platform)

Anything else — including correct values in the wrong case, creative shorthand like ppc, or channel names like social_media — routes to Unassigned. The GA4 Channel Preview badge in this tool fires on every keystroke so you never publish a URL with a broken medium value.

How to Build a Campaign Naming Convention Your Team Will Actually Follow

The most common failure mode in UTM governance isn’t bad intent — it’s the absence of a shared reference. When campaign names aren’t defined and documented, every team member invents their own convention. You end up with brand_search_q2, Brand-Search-Q2-2026, and brandSearch_Google_2026 all referring to the same campaign in GA4, making time-based and cross-channel comparisons impossible.

A working naming convention needs three things: a documented token structure, a separator rule, and a shared place where every team member looks it up before they build a link. The Taxonomy Builder in this tool handles all three.

  1. Define your tokens in order. Open the Taxonomy tab and build your naming pattern using the available tokens: brand, channel, objective, audience, date_YYYYMM, and creative_type. A common agency pattern is brand_channel_objective_YYYYMM. A common ecommerce pattern is brand_channel_product_audience_YYYYMM.
  2. Set your separator. Choose underscore (_) for most cases — it’s URL-safe, readable, and compatible with GA4 filtering. Avoid spaces entirely; they encode as %20 in URLs and break regex-based reporting filters.
  3. Define your allowed values. Use the Allowed Values panel to document which source and medium values your team is permitted to use. This prevents the “fb vs facebook vs Facebook” problem by limiting what can be entered at all. Export the taxonomy as JSON and share it with every team member and agency partner.
  4. Export the Google Sheet template. The Google Sheet Template export creates a CSV with all your allowed values formatted as a validation table. Import it into Google Sheets and apply data validation dropdowns to your campaign planning spreadsheet — your team selects values from a list instead of typing freehand, eliminating errors at the source.
  5. Save to browser. Use the Save to Browser button on the Taxonomy tab to persist your configuration. It survives browser restarts and loads automatically every time you open the tool, so the dropdowns in Tabs 1 and 2 always reflect your team’s approved values.

Bulk Building and CSV Enrichment for Agencies

For agencies managing multiple clients or running multi-channel campaigns with dozens of landing pages, the Single Builder is too slow. The Bulk Builder solves two distinct workflow problems. Mode A — Same UTM, Multiple URLs — applies a single set of UTM parameters to a list of destination URLs in one pass. This is the right workflow for campaign launches where every ad in a set points to a different landing page but shares the same source, medium, and campaign values.

Mode B — CSV Import and Enrich — handles the messier real-world scenario: you have an existing URL list, possibly from a client or a platform export, with some UTM values already filled in and others missing or inconsistent. The tool normalises case on all existing values, builds the tagged URLs, adds a GA4 channel prediction column, and flags every row that will cause attribution errors. The enriched CSV is ready for QA review without opening a spreadsheet formula.

Why the History tab matters for campaign documentation

Every URL you build in this tool is automatically logged to the History tab with date, source, medium, and campaign. For agencies, exporting History to CSV at the end of a campaign build is a fast way to produce a UTM inventory — a record of every tagged URL in the campaign, useful for QA, handover documentation, and retroactive attribution debugging when GA4 data doesn’t match expectations.

Common UTM Mistakes That Break GA4 Attribution

  • Uppercase medium values. Email, CPC, and Paid_Social all route to Unassigned. GA4’s channel grouping rules are case-sensitive. Force lowercase on every field — this tool does it automatically when the Force Lowercase toggle is on in the Taxonomy tab.
  • Reusing campaign names across channels. If summer_sale_2026-06 appears in both your Google Ads and Meta campaigns, GA4 will aggregate those sessions under one campaign name. You lose the ability to compare channel performance within the campaign. Include source or channel in your campaign name — summer_sale_google_2026-06 versus summer_sale_meta_2026-06.
  • Putting channel information in the wrong parameter. Using utm_source=paid_social instead of utm_medium=paid_social breaks channel grouping. Source should identify the platform; medium should identify the channel type. They are not interchangeable.
  • Appending UTM parameters to URLs that already have them. If a destination URL already contains UTM params and you add new ones, the page receives duplicate parameters. Some analytics implementations take the first value, some take the last, and some break. The URL field in this tool automatically detects and strips existing UTM parameters before appending the new ones.
  • Using spaces in campaign names. Spaces encode as + or %20 depending on the encoding method. Either can break regex-based filters in GA4 reports. Use underscores or hyphens exclusively.
  • Building UTM links without a documentation system. UTM links generated and used without a central record make attribution debugging impossible six months later. Use the History tab and export regularly — or connect the exported CSV to your campaign planning spreadsheet to maintain a single source of truth.
Frequently Asked Questions
What is a UTM builder and why do I need one?
A UTM builder is a tool that appends tracking parameters to destination URLs so that GA4 can identify where each session came from. Without UTM parameters, GA4 can only infer attribution from referrer data — which is unreliable across email clients, social platforms, and redirects. A UTM builder structures the parameters correctly, enforces naming rules, and previews how GA4 will classify the traffic before the link is published.
Why does GA4 show “Unassigned” traffic in my channel reports?
Unassigned in GA4’s Default Channel Grouping means the session’s UTM parameters don’t match any of GA4’s built-in channel rules. The most common cause is an unrecognised utm_medium value — either a custom medium name, an unusual abbreviation, or a correctly-named medium with incorrect capitalisation. GA4’s channel rules are case-sensitive: cpc maps to Paid Search; CPC goes to Unassigned. Use the GA4 Channel Preview in this tool to check every URL before publishing.
What is the difference between utm_source and utm_medium?
utm_source identifies where the traffic came from — the specific platform or origin, such as google, facebook, or newsletter. utm_medium identifies the channel type — the category of marketing activity, such as cpc, email, or paid_social. GA4 uses utm_medium as the primary signal for Default Channel Grouping. A common error is putting channel information in the source field: utm_source=paid_social will not trigger GA4’s Paid Social channel rule. Medium must be paid_social.
How should I structure my utm_campaign names?
Campaign names should follow a consistent token structure defined by your organisation’s taxonomy. A widely used pattern is brand_channel_objective_YYYYMM — for example, acme_google_awareness_2026-06. The key rules: always lowercase, use underscores not spaces, include a date token for time-based filtering, and include the channel or source in the name to avoid cross-channel campaign name collisions. Use the Taxonomy Builder in this tool to document and share your convention.
Does this tool save my links?
Yes. Every URL you build or add via the “Add to History” button is saved to the History tab using your browser’s localStorage. This data persists across browser sessions and is only stored in your browser — nothing is sent to any server. You can export your full history as a CSV at any time from the History tab. If you clear your browser data or use a different device, the history will not be available.
What is the Taxonomy Builder and how does it help teams?
The Taxonomy Builder is a configuration layer that defines which UTM values your team is allowed to use and what your campaign naming structure looks like. Once configured, allowed values populate the dropdowns in the Single and Bulk Builders, preventing teammates from entering non-compliant values. You can export the taxonomy as a JSON file to share with team members, or export it as a CSV to create a validated Google Sheet dropdown list. This replaces the informal “UTM guide in a shared doc” that most teams rely on, which inevitably goes out of date.
Can I use this tool for clients as an agency?
Yes. The Taxonomy Builder is specifically designed for agency use. You can create and export a separate taxonomy JSON for each client, import it when working on that client’s campaigns, and export a Google Sheet validation template that you share directly with the client’s team. The Bulk Builder’s CSV Import and Enrich mode handles the common agency workflow of receiving a URL list from a client and needing to add, normalise, and validate UTM parameters before the campaign goes live.
Sources & References
  1. Google Analytics Help — Collect campaign data with custom URLs. Official documentation on UTM parameters, their purpose, and implementation guidance for GA4.
  2. Google Analytics Help — Default channel groups in GA4. Official documentation on how GA4 assigns Default Channel Groups, including the medium and source rules that determine Paid Search, Email, Paid Social, and Unassigned.
  3. Google Analytics Developers — GA4 event reference. Technical reference for how GA4 processes session source, medium, and campaign parameters in the data model.

Need Your Campaign Tracking Audited?

AEO Insider audits your GA4 setup, UTM taxonomy, and attribution model — and fixes the Unassigned traffic problem permanently across your whole team.

  • Full GA4 UTM audit and Unassigned traffic fix
  • Custom taxonomy documentation and team training
  • Campaign naming convention implementation
Book a Free Consultation