UTM Builder — Campaign URL Generator
Build properly encoded UTM tracking URLs for Google Analytics. Validates required fields and includes presets for ads, email, and social.
Full destination URL
Referrer, e.g. google, newsletter
Marketing medium, e.g. email, cpc, social
Individual campaign name
Paid keyword (optional)
Differentiates similar ads (optional)
UTM parameters are appended to any URL so analytics tools like Google Analytics, Plausible, or Matomo can attribute the visit to a specific campaign. Source, medium, and campaign are required; term and content are optional and typically used for paid search keywords and A/B variants.
A client-side UTM tag builder for marketing links. Enter your destination URL plus source, medium, campaign, and optional term and content, and the tool assembles a properly URL-encoded tracking link you can paste into Google Analytics, Plausible, Matomo, or any analytics platform that reads utm_* parameters.
UTM parameters are the standard way to tell analytics tools where a click came from. They live as query-string keys (utm_source, utm_medium, utm_campaign, plus optional utm_term and utm_content) appended to any URL. Get them right and your reports split traffic cleanly by channel. Get them wrong — inconsistent casing, missed medium, forgotten campaign — and weeks of data end up in the (not set) bucket.
This builder enforces the basics. Source, medium, and campaign are required; term and content are optional. Everything runs through the URL and URLSearchParams classes so encoding is correct even when you paste values containing spaces, plus signs, or non-ASCII characters. Three presets cover the common cases: a Google Ads CPC template with term and content, an email newsletter template, and a social-post template. The output area shows the full URL live as you type, and a one-click button hands it off to the QR generator so you can print it on a flyer or share it in a deck.
- 1
Enter your destination URL
Paste the full URL including protocol. The builder parses it with the native URL class so existing query strings are preserved.
- 2
Fill the UTM fields
Source, medium, and campaign are required. Term and content are optional, typically used for paid keywords and A/B variants.
- 3
Copy or send to QR
Copy the generated URL to clipboard, or open it directly in the QR code generator for print collateral or offline sharing.
Paid search campaigns
Tag Google Ads or Bing Ads URLs with source=google, medium=cpc, and a campaign name that matches your ad group.
Email newsletters
Attribute newsletter clicks by setting medium=email and utm_content to identify which CTA drove the traffic.
Social posts
Tag organic or paid social with source=twitter, linkedin, or facebook so reporting separates channels cleanly.
QR codes on print
Generate a tracking URL, send it to the QR generator, and attribute scans from flyers or event banners.
Which fields are required?
Destination URL, utm_source, utm_medium, and utm_campaign. utm_term and utm_content are optional and only included when you fill them in.
Are values URL-encoded automatically?
Yes. The builder uses URLSearchParams, which escapes spaces, ampersands, and non-ASCII characters correctly so the final URL is always valid.
Should I use lowercase for UTM values?
Strongly recommended. Google Analytics treats utm_source=Google and utm_source=google as two different sources, which fragments your reports. Pick a convention (almost always lowercase with underscores) and stick with it.
Can I edit a URL that already has UTM parameters?
Yes. Paste the existing URL and fill the fields — matching keys are overwritten, so the output reflects your current inputs rather than duplicating parameters.
Is my data sent to Google or any server?
No. The builder runs entirely in your browser. Parameters are assembled locally and nothing is transmitted until you actually visit or share the generated link.