UTM Builder — Campaign URL Generator for GA4 & Analytics
Create UTM-tagged URLs for tracking marketing campaigns in Google Analytics. UtilHub's UTM Builder generates properly formatted campaign URLs with utm_source, utm_medium, utm_campaign, utm_term, and utm_content parameters. Fill in the fields, get a tagged URL, and share it across email, social media, ads, or any channel. Know exactly where your traffic comes from and which campaigns drive results.
Parameters are normalised to lowercase as you build, which prevents the single most common analytics mess: Facebook, facebook, and FaceBook arriving as three separate sources so one campaign appears as three small ones. The other habit worth adopting is keeping the vocabulary tight — medium should be a short controlled list (email, cpc, social, referral) rather than a free-text field, because that is the dimension your channel reports group on. Source names the specific platform, campaign names the specific push.
UTM link examples
- Facebook or Instagram ad —
?utm_source=facebook&utm_medium=paid_social&utm_campaign=spring_sale - Email newsletter —
?utm_source=newsletter&utm_medium=email&utm_campaign=2026_09_product_update - QR code on a printed flyer —
?utm_source=flyer&utm_medium=print&utm_campaign=grand_opening - Partner blog post —
?utm_source=partner_blog&utm_medium=referral&utm_campaign=launch
Google Ads links usually need no manual tags, because auto-tagging adds gclid for Google Analytics. To check links someone else created, paste them into the UTM parser. For print, turn the finished link into a QR code, and use the URL encoder when a value contains special characters.
How to use UTM Builder
- Enter your destination URL — Paste the full URL including `https://`. For example: `https://utilhub.io/calculators/tip-calculator`.
- Fill in required UTM parameters — Enter Source (traffic origin, e.g., `google`, `newsletter`, `facebook`), Medium (channel type, e.g., `cpc`, `email`, `social`), and Campaign name (e.g., `spring_2026_promo`). These three are required by Google Analytics.
- Add optional parameters for deeper tracking — utm_term tracks paid search keywords (e.g., `tip+calculator+free`). utm_content differentiates ad creatives or A/B test variants (e.g., `blue_button` vs `green_button`). These are optional but essential for granular attribution reporting.
- Copy the tagged URL — The generated URL looks like: `https://utilhub.io/calculators/tip-calculator?utm_source=google&utm_medium=cpc&utm_campaign=spring_2026_promo`. Copy and use in your ads, emails, or social posts. All traffic is automatically tracked in Google Analytics under Acquisition > Campaigns.
Features
- All five UTM parameters — Build URLs with source, medium, campaign, term, and content parameters.
- Preset templates — One click fills source and medium for Google Ads, Microsoft Ads, Meta Ads, Instagram, LinkedIn, X, newsletters and affiliates, using values GA4 sorts into the right channel.
- Real-time URL preview — See the complete tagged URL update as you fill in each field.
- History — Recently generated URLs are saved in your browser session so you can reference and reuse them.
- Automatic lowercasing — Values are normalised as you type, so Facebook and facebook cannot split one campaign across two rows in your analytics reports.
Frequently Asked Questions
What are UTM parameters?
UTM parameters are tags added to a URL to track traffic sources in analytics tools like Google Analytics.
What are the required vs optional UTM parameters?
Three are required: `utm_source` (where traffic comes from — google, newsletter, linkedin), `utm_medium` (the channel type — cpc, email, social, referral), and `utm_campaign` (the specific campaign name — summer_sale, product_launch). Two are optional: `utm_term` (paid keyword tracking) and `utm_content` (to differentiate similar links — useful for A/B testing). Google Analytics ignores UTM data if any required parameter is missing.
What are UTM naming best practices?
Always use lowercase (google not Google — GA4 treats these as separate sources). Use underscores or hyphens instead of spaces (spring_sale not spring sale — spaces encode as %20 and break URLs). Keep names short but descriptive. Create a shared naming convention document for your team — inconsistent naming is the #1 reason UTM data becomes unusable. Example convention: source=platform name, medium=channel type, campaign=YYYY-MM_description (e.g., `2026-03_email_launch`).
Why do my UTM values need to be lowercase?
Because Google Analytics treats them as case-sensitive. Newsletter and newsletter become two separate sources, so one campaign shows up as two half-sized ones and neither number is right. Lowercasing everything is the simplest rule that avoids it, which is why it happens automatically here.
Should I put UTM parameters on internal links?
No. Tagging a link between two pages of your own site starts a new session and overwrites the original source, so a visitor who arrived from Google gets re-attributed to your own banner. Use UTM parameters only on links coming from outside your domain, and use event tracking for internal clicks.
How do I check or remove the UTM tags on an existing link?
Paste the link into UtilHub's UTM Parser. It lists every UTM parameter in a table, points out naming problems such as capital letters or missing tags, and gives you a clean copy of the URL without tracking parameters.