UTM Builder — Create campaign tracking URLs
Clean UTM tags are the only way to prove which campaigns, emails or posts actually drive your traffic — without them, your SEO and marketing efforts are invisible in analytics. Build a campaign tracking link from your landing page URL and utm_source, utm_medium, utm_campaign, utm_term and utm_content. Steps: paste the base URL, fill the five parameters, copy the generated link with correct URL encoding. Existing query parameters are kept and merged, not overwritten. Runs entirely on your device—nothing is uploaded. Example: https://example.com/page with source=newsletter, medium=email and campaign=summer_sale.
How it works
The builder parses your base URL, keeps its existing query parameters and appends the UTM parameters with & separators. Each value is percent-encoded so spaces, Chinese characters and special symbols survive in the link. If the URL has a hash, it is moved after all parameters. The five UTM parameters are what Google Analytics reads to attribute the visit to a source, medium and campaign.
Rules used by the builder
These are the UTM parameter definitions and encoding rules from the Google Analytics documentation.
- utm_source identifies where the link was seen; utm_medium identifies how it was delivered. Both are required for attribution.
- utm_campaign is the promotion name and is required here. utm_term and utm_content are optional: term for paid keywords, content to tell two links apart.
- When the base URL already has query parameters, they are kept and the UTM parameters are appended with &; an existing parameter with the same name is replaced.
- Parameter values are percent-encoded: spaces become %20 and non-ASCII characters are encoded. A URL fragment (#anchor) always stays after the query string.
- Use a consistent lowercase style for values. UTM values are case-sensitive in Google Analytics, so facebook and Facebook would split into two sources.
Example
The sample input is https://example.com/page with utm_source=newsletter, utm_medium=email and utm_campaign=summer_sale. The generated link is https://example.com/page?utm_source=newsletter&utm_medium=email&utm_campaign=summer_sale.
Good use cases
- Social campaigns: build one link per platform with the same utm_campaign, so GA4 reports the whole promotion in one row.
- Email sends: use utm_source=newsletter, utm_medium=email and separate content values to compare two banners that point to the same page.
- QR codes and printed links: a full UTM URL is long, but you can shorten it after generating while keeping the parameters.
Frequently asked questions
What is the difference between utm_source and utm_medium?
utm_source tells you where the link was seen (newsletter, facebook, google), while utm_medium tells you how it was delivered (email, cpc, social, referral). GA4 combines them with utm_campaign to name the traffic source.
The URL already has query parameters. Will they be lost?
No. Existing parameters are kept and the UTM parameters are appended with &. If the URL already contains a parameter with the same name, the new value replaces it.
What about spaces, Chinese characters or special symbols in values?
Every value is percent-encoded: spaces become %20 and non-ASCII characters are encoded too. The generated link stays valid in email clients, messengers and browsers.
Are UTM parameter values case-sensitive?
Yes. Google Analytics treats utm_source=Facebook and utm_source=facebook as two different sources. Use a consistent lowercase style so the same channel groups together.
When should I use utm_term and utm_content?
utm_term identifies paid search keywords, useful for Google Ads. utm_content distinguishes two links or ads that point to the same URL, such as a header banner and a footer link.
Is my URL sent anywhere?
No. The builder runs entirely in your browser and nothing is uploaded.
Questions or feedback
Something unclear, broken, or missing? Draft a message below — we read every note about these tools.