UTM Builder

Build a clean, consistent tracking link, then add it to a campaign and change the content for each asset. Export the whole campaign as CSV, free.

FREE · NO SIGNUP · NO LOGIN · RUNS IN YOUR BROWSER

Separator
UTM BUILDERTRACKED LINK
Advanced (content, term)
Tag the creative size
Check a link you already have
YOUR LINKLIVE PREVIEW
Start typing, your tracked link builds here.
CAMPAIGN

Build a link and hit Add to campaign. Collect every asset here, then export them all at once. Stored on this device only.

/ coming next

Your naming rules and validation, inside Claude and ChatGPT.

Set the convention once. Every link anyone builds follows it, in whatever tool they happen to be working in. Consistent across your entire team.

What's free here vs. everywhere else

FeatureThis builderPaid UTM toolsEnterprise link platformsGoogle Campaign URL Builder
Free, no signupYesLimitedTrial onlyYes
Lowercase / naming hygieneYesYesYesNo
Campaign builder, a URL per assetFreePaidPaidNo
Creative-size taggingFreeNot offeredNot offeredNo
CSV exportFreePaidPaidNo
User, project and domain limitsNonePer planPer planNone
Your links leave your browserNeverStored on their serversStored on their serversNever
Enforced inside Claude and ChatGPTComing nextNoNoNo
PriceFreeMonthly subscriptionMonthly subscription, per seatFree

Are UTM parameters case-sensitive?

Yes. Google Analytics treats utm_source=Facebook, facebook and FB as three different sources, which splits your campaign data across separate rows. That is why this builder enforces lowercase by default, so your reporting stays clean.

How do I track one campaign across different channels and assets?

Keep utm_source, utm_medium and utm_campaign the same, and change utm_content for each asset: the Instagram post, the story, the email, the ad. That way every link rolls up to one campaign in your reports while you can still see which asset drove what. Build one link, hit Add to campaign, change the content, and add the next. The whole campaign collects below.

What is the difference between utm_campaign and utm_content?

utm_campaign is the promotion itself (spring_sale_2026). utm_content distinguishes the individual links inside it, which creative, placement, or asset the click came from (hero_banner vs footer_link, or ig_story vs ig_post). Campaign groups; content breaks it down.

Is this UTM builder free?

Yes, and there is no paid tier of it. Every feature is free, with no signup and no account. The links you build never leave your browser, which is also why there are no user limits, project limits or domain limits to run into. (If you choose to request early access to the connector or send us feedback, that email or comment is the one thing that does get sent, and only when you submit it.)

What do I actually get for free?

A single-link builder with live preview, a closed medium list so paid_social never quietly becomes social, chips for common sources, and lowercase enforcement. A campaign collection you build up one link at a time, with copy and remove per row. Export the whole campaign as a CSV file whenever you want it. Nothing on this page is paywalled. We are also building a connector that enforces your team naming rules directly inside Claude and ChatGPT; that part is coming next.

Where should I put UTM parameters, and where should I avoid them?

Use UTMs on external links you control that point to your own site: paid ads, email campaigns, social posts, QR codes on print. Never put them on internal links between your own pages (it resets the original source) and never on organic-search or direct links.