UTM Builder

Build UTM-tagged URLs for Google Analytics campaign tracking.

📐 How to Use

  1. Enter your destination URL (e.g. https://example.com/landing).
  2. Fill in Source, Medium, and Campaign name (required).
  3. Optionally add Term and Content for more granular tracking.
  4. Copy the generated URL and paste it into your ad or email.

🎯 When to Use This

  • Tagging the links in a newsletter so the email channel shows up separately from organic traffic in the analytics report.
  • Distinguishing two creatives in the same paid campaign through utm_content, so the weaker ad can be identified and cut.
  • Handing an agency a tagged URL for a placement, so their traffic is attributed correctly without you editing the report afterwards.
  • Rebuilding a tagged link someone truncated when pasting it into a social post, with the parameter names spelled the way analytics expects.

❓ Frequently Asked Questions

QWhat is a UTM parameter?
UTM parameters are tags appended to a URL that tell Google Analytics where your traffic came from. The five parameters are utm_source, utm_medium, utm_campaign, utm_term, and utm_content.
QAre UTM parameters case-sensitive?
Yes — "Email" and "email" are tracked as different sources in GA. Use consistent lowercase naming for clean reports.
QDoes this store my URLs?
No. Everything runs in your browser and nothing is saved or transmitted.

ℹ️ About This Tool

UTM parameters are ordinary query string parameters that an analytics tool reads when a visitor lands on a page. They describe where the click came from: utm_source names the referrer, utm_medium the channel, utm_campaign the effort, with utm_term and utm_content for keyword and creative. Nothing happens server-side, the values are carried in the URL and recorded by the analytics script, which is also why they are visible to anyone looking at the address bar.

This builder requires a URL, source, medium and campaign, and adds term and content when supplied. Spaces become underscores and values are lowercased, except in utm_term, where spaces become plus signs. Encoding is handled by URLSearchParams. The link is rebuilt as you type, and a missing required field is named in the status line.

⚠️ Notes & Limits

  • A trailing slash is stripped and a question mark is appended, so a destination that already has a query string or a fragment comes out malformed.
  • Values are lowercased for you, which keeps reports tidy but means a source you deliberately capitalized will not match history recorded with capitals.
  • Nothing checks that the destination exists or that your analytics property is configured to read these parameters. The tool only assembles a string.
  • Tagged links are public. Anyone can copy one, so a campaign name that appears in a URL should not reveal anything you would not publish.