UTM Link Builder
Build tagged campaign URLs with utm_source, utm_medium and utm_campaign, then copy the link or export the whole batch as CSV.
Optional tags (utm_id, utm_term, utm_content)
Saved links (0)
| Campaign | URL | Actions |
|---|
How it works
A UTM link builder adds campaign tracking parameters to a URL so Google Analytics, GA4, Matomo or any other analytics tool can tell you where a visitor came from. Paste your destination URL, fill in the campaign source, medium and name, and the tagged link is built as you type — values are lowercased and spaces replaced with hyphens by default, because UTM parameters are case sensitive and inconsistent tags split your reports. Existing query strings and hash fragments on the URL are preserved, and if the URL already carries UTM tags you can pull them back into the form with "Extract UTMs from URL". Build a whole batch by adding links to the list and exporting them as a CSV for your campaign spreadsheet. Everything runs in your browser with plain JavaScript — no links, campaign names or client URLs are ever sent anywhere.
Frequently asked questions
How do I create a UTM link?
Paste your destination URL, then fill in the campaign source (where the traffic comes from, e.g. newsletter), the medium (how it reaches people, e.g. email) and the campaign name. The tagged link is built as you type — copy it, or add it to the list and export every link as a CSV for your campaign spreadsheet.
Are UTM parameters case sensitive?
Yes. Google Analytics and GA4 treat Facebook and facebook as two different sources, which quietly splits your campaign reports in half. That is why this builder lowercases values and replaces spaces with hyphens by default; you can switch both off if your team uses a different convention.
What is the difference between utm_source, utm_medium and utm_campaign?
utm_source names the referrer (google, newsletter, partner-site), utm_medium names the channel type (cpc, email, social), and utm_campaign names the specific promotion (spring-sale). The optional utm_id ties the link to a campaign ID, utm_term records a paid keyword, and utm_content distinguishes two links in the same message, such as a header and a footer button.