UTM Builder — Free Google Campaign URL Generator
Build GA4-ready campaign URLs with channel presets — entirely in your browser.
UTM Builder
Generate campaign URLs with UTM parameters for Google Analytics tracking
Recent URLs
What is a UTM builder?
A UTM builder is a free tool that appends UTM parameters to any URL so that Google Analytics can identify exactly which campaign, channel, and source drove each visit to your site. The same tool is also called a campaign URL builder or a UTM generator — the output is identical. UTM stands for Urchin Tracking Module: the five standard parameters are utm_source, utm_medium, utm_campaign, utm_term and utm_content, and Google additionally recommends utm_id for the campaign ID. When a visitor clicks a tagged link, GA4 reads those values and populates your Traffic Acquisition reports automatically. The Elsop UTM Builder generates GA4-aligned campaign URLs with quick presets for every major channel, keeps a local history of what you built, and covers every parameter GA4 accepts. It runs 100% in your browser — nothing is sent to any server.
How to Use the UTM Builder: A Step-by-Step Guide
UTM parameters are tags added to the end of a URL that help Google Analytics (and other analytics platforms) track exactly where your traffic comes from and which campaigns drive the most conversions. This guide walks you through the entire process.
Enter Your Website URL
Start by pasting the full URL of the page you want to track. This is the destination page where users will land after clicking your link. Make sure to include the protocol (https://).
Fill In the Required UTM Parameters
There are three required parameters that Google Analytics needs to properly attribute your traffic:
| Parameter | Purpose | Examples |
|---|---|---|
utm_source | Identifies the platform or website sending traffic | google, facebook, newsletter, linkedin |
utm_medium | Identifies the marketing channel or type of traffic | cpc, email, social, banner, referral |
utm_campaign | Identifies your specific campaign or promotion | spring-sale, product-launch-2026, black-friday |
Add Optional Parameters (Recommended)
Two additional parameters help you get even more granular tracking data: utm_term tracks paid search keywords, and utm_content differentiates similar content or links.
Copy Your Generated URL
As you type, the tool generates your full URL in real time. Once all required fields are filled, click the "Copy URL" button to copy it to your clipboard. The URL is automatically saved to your local history so you can find it later.
Use Your URL in Campaigns
Paste the generated URL wherever you need it: social media posts, email campaigns, paid ads, QR codes, or partner links.
Track Results in Google Analytics
After your campaign is live, check the results in Google Analytics. In GA4, go to Reports → Acquisition → Traffic Acquisition and filter by Session source/medium or Campaign.
Every campaign parameter GA4 accepts
Most builders stop at the five classic tags. Google's own documentation lists nine, and three of them behave in ways worth knowing before you standardise a template across a team. Anything you leave out is recorded as (not set) in the report where it would have appeared.
| Parameter | Status | What it records | Where it lands in GA4 |
|---|---|---|---|
utm_source | Required | The referrer — the site or platform the click came from | Session source, Session source/medium |
utm_medium | Required | The marketing medium: cpc, email, banner | Session medium, Session source/medium |
utm_campaign | Required | The campaign, promotion or promo code | Session campaign |
utm_id | Recommended | The campaign ID from your ad platform | Traffic acquisition report |
utm_term | Optional | The paid keyword behind a search ad | Available as a campaign dimension |
utm_content | Optional | Which creative or which link was clicked, when several point to the same page | Available as a campaign dimension |
utm_source_platform | Optional | The platform that placed the traffic, such as Search Ads 360 or Display & Video 360 | Available as a campaign dimension |
utm_creative_format | Optional | Creative type: display, native, video, search | Accepted but not reported in GA4 properties |
utm_marketing_tactic | Optional | Targeting approach: remarketing, prospecting | Accepted but not reported in GA4 properties |
The builder above writes utm_id exactly as you type it. That is deliberate: source, medium and campaign benefit from forced lowercase because they are typed by hand and fragment easily, while a campaign ID is usually copied from an ad platform, where SPRING26 and spring26 can be two different records.
Campaign URL templates by channel
Source and medium are where most tagging schemes fall apart, because each person guesses a slightly different word. These pairings match the values GA4 already recognises for its default channel grouping, so tagged traffic lands in the channel you expect instead of in Unassigned.
| Channel | utm_source | utm_medium | What to watch for |
|---|---|---|---|
| Google Ads | google | cpc | Auto-tagging (GCLID) already covers this. Add UTMs only when a second analytics tool needs them — and never override utm_source with anything but google |
| Microsoft Ads | bing | cpc | Has its own MSCLKID; the same caution applies |
| Meta ads | facebook / instagram | paid_social | Tag the placement in utm_content, not in source, or Facebook and Instagram collapse into one row |
| LinkedIn ads | linkedin | paid_social | LinkedIn can append its own parameters; check the final URL after the platform rewrites it |
| Organic social post | facebook, x, reddit | social | Keep it separate from paid_social, otherwise paid and unpaid effort share one line |
| Email newsletter | newsletter or the ESP name | email | Many ESPs add tags automatically — two sets of UTMs on one link is the most common duplicate |
| YouTube description | youtube | video | Use utm_content for the individual video so you can tell which one drives clicks |
| Affiliate or partner | partner name | affiliate | Give each partner its own source; a shared one makes payouts impossible to verify |
| QR code or print | qr-flyer, packaging | offline | Keep the URL short before it becomes a QR code — long links produce denser codes that scan poorly |
| SMS or push | sms, push | mobile | Character limits make this the one case where a shortener is worth the lost readability |
A finished link follows the same shape in every channel — destination, then a question mark, then the tags joined by ampersands:
| Scenario | Generated URL |
|---|---|
| Newsletter, header link | https://example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=spring-sale&utm_content=header-cta |
| Meta ad, one creative | https://example.com/pricing?utm_source=facebook&utm_medium=paid_social&utm_campaign=spring-sale&utm_id=23851234567890&utm_content=carousel-blue |
| Conference QR code | https://example.com/demo?utm_source=qr-flyer&utm_medium=offline&utm_campaign=measurecamp-2026 |
Rules that keep the reports readable
Agree on the vocabulary before the first link
GA4 treats values as text, so e-mail, email and Email become three channels. Fixing this later means reprocessing months of reports, which GA4 will not do. Write the allowed values down once — our UTM naming conventions guide covers the taxonomy teams settle on.
Never tag a link between your own pages
An internal link carrying UTMs starts a new session and reattributes the visitor to that campaign, erasing the source that actually brought them in. It is the fastest way to make a site look like its own best traffic channel. Use internal promotion tracking or an event instead.
Point the tag at the final URL
If the destination redirects, the parameters survive only when the redirect preserves the query string — and plenty do not. Test the link once: open it and confirm the tags are still in the address bar after the page settles.
Check the data landed before the campaign scales
Open your tagged link, then look at Reports → Realtime in GA4 and check the session source/medium card. If the campaign is missing hours later, the usual causes are documented here — consent state, redirects and platform auto-tagging account for most of it.
Deeper reading: what each UTM parameter does · where campaign data appears in GA4 · tagging Meta ads specifically
Frequently Asked Questions
What are UTM parameters?
Do UTM parameters affect SEO?
Can I use UTM parameters with Google Ads?
How many UTM parameters should I use?
utm_source, utm_medium, and utm_campaign. Add utm_content when you need to differentiate between multiple links or ad creatives. Use utm_term primarily for paid search keyword tracking.Where does UTM data appear in Google Analytics 4?
Is my data saved somewhere?
What is the difference between UTM Builder and Google's Campaign URL Builder?
Should I add utm_id to my links?
What happens if I leave a UTM parameter out?
Do UTM parameters work outside Google Analytics?
More free tools: browse the full catalog →