Handy tools
UTM Builder
Build campaign URLs with utm_source, medium, campaign and more. Presets for Instagram, YouTube, newsletters and QR codes, plus one-click copy.
Add UTM parameters to a campaign link so analytics tools like GA4 can tell exactly where each visit came from. Fill common channels with one tap — any existing query string and #anchor on your URL are kept.
The page people land on, starting with https://
Quick fill (source / medium)
Where the traffic comes from — e.g. instagram, newsletter
The type of channel — e.g. social, email, cpc
The name of your promotion — e.g. fall_sale
Paid search keyword
Tells apart links within the same campaign — e.g. banner_a
Campaign ID used for GA4 cost-data import
Enter a website URL and your tagged link will appear here.
Recommended Content
Count characters with and without spaces, words, sentences, lines and bytes as you type, with a target-length bar.
Translate text to Morse code and back as you type — hear the beeps, watch the light blink, set 5–30 WPM.
Generate strong random passwords in one second with length, case, number, and symbol options.
Pretty-print JSON with 4-space indentation and validate it in your browser, with the error's line and column when it's invalid.
Test how strong your password is — 100% in your browser.
Generate QR codes for URLs, Wi-Fi, contacts, social, calendar, maps — 11 types, one-click, free download.
Compare two versions of a text line by line, with removed lines in red and added lines in green. Runs in your browser.
A free online metronome with BPM 30–240, tap tempo, time signatures and a strong first-beat accent. No install.
UTM Builder adds tracking parameters to a landing-page URL so Google Analytics 4 can report exactly which channel and campaign sent each visit. Paste the link, fill in utm_source (where the traffic comes from), utm_medium (the type of channel) and utm_campaign (the campaign name), which this tool requires, and add utm_term for a paid keyword, utm_content to tell ad variants apart or utm_id for GA4 cost-data import. Presets fill source and medium for Instagram, Facebook, X, YouTube, WhatsApp, newsletters, Google Ads and QR codes. GA4 treats Email and email as different values, so a toggle (on by default) lowercases everything and turns spaces into hyphens. Any query string and #fragment already on your URL stay in place, while old utm_ parameters are removed so nothing is duplicated. The link is built in your browser and nothing is sent to a server; your last five links stay in this browser for reuse. Free, with no sign-up.
Frequently Asked Questions
Q. What are UTM parameters?
A. UTM parameters are tags added to the end of a URL, such as ?utm_source=instagram&utm_medium=social&utm_campaign=spring_launch, that tell GA4 where a visit came from. utm_source is the site or app, utm_medium is the channel type, utm_campaign is the campaign name, and the optional utm_term and utm_content separate keywords or ad versions.
Q. What should I put in utm_medium?
A. Use a value GA4 already recognises: social for unpaid social posts, email for newsletters, cpc for paid search, display or banner for display ads, and affiliate for partners. GA4 sorts traffic into default channels from these values, so a made-up medium such as offline or qr is reported as Unassigned unless you create a custom channel group.
Q. Where do I see UTM traffic in GA4?
A. Open Reports > Acquisition > Traffic acquisition and switch the table’s dimension to Session source / medium or Session campaign. Clicks show up in the Realtime report within minutes, but standard reports can take 24–48 hours to fill in.
Q. Will adding UTM tags break my existing URL?
A. No. Other query parameters and the #fragment are kept exactly as they are. Every utm_ parameter already in the link is removed first and only the values you entered are added, so old tags never linger or repeat.
Q. Should UTM values be lowercase?
A. Yes, it’s the safest habit. GA4 is case-sensitive, so Instagram and instagram appear as two separate sources. With the lowercase toggle on, this tool also replaces spaces with hyphens, and characters such as Korean or emoji are percent-encoded automatically.