UTM Builder: UTM Parameter Generator
Use this UTM builder to add source, medium and campaign parameters to any link and copy a tagged URL that GA4 reads correctly.
Tagged link
—
Enter the destination URL and the campaign fields; the tagged link appears here.
How to create UTM parameters
https://example.com/page?utm_source=SOURCE&utm_medium=MEDIUM&utm_campaign=CAMPAIGN&utm_term=TERM&utm_content=CONTENT
- Paste the destination URL: the page people should land on. A bare domain such as example.com gets https:// added.
- Fill in utm_source, utm_medium and utm_campaign in lowercase, with underscores or hyphens instead of spaces. Add utm_term and utm_content only when you need them.
- The tool adds each filled field after a ? and joins them with &, keeping the URL's other parameters. Copy the link and click it once before you publish it.
example.com + google / cpc / summer_sale https://example.com/?utm_source=google&utm_medium=cpc&utm_campaign=summer_sale
What are UTM parameters
UTM parameters are short tags added to the end of a URL that tell your analytics tool where a visit came from. utm_source names the sender (google, newsletter, instagram), utm_medium the type of channel (cpc, email, social), and utm_campaign the campaign itself. utm_term and utm_content are optional: the first carries a paid-search keyword, the second separates ads or links within the same campaign. A UTM builder, sometimes called a UTM generator, assembles these tags into one clean link so you don't have to type the ? and & by hand.
UTM stands for Urchin Tracking Module. Urchin was the web analytics product Google bought and turned into Google Analytics, and the parameter format has stayed the same since. Because of that, a link from any UTM parameter generator works in GA4 and in other analytics tools alike. A Google Analytics UTM builder and a GA4 UTM builder are the same thing today, since GA4 is the current version of Google Analytics. It reads the tags and attributes the session, and any conversion that follows, to that source, medium and campaign.
Untagged links in an email or a social post can land in analytics as direct or referral traffic. You then can't separate the visits a campaign brought in from everything else. Values are read exactly as written: Google's own documentation notes that utm_source=google and utm_source=Google are different values (Google Analytics Help: Collect campaign data with custom URLs). That is why a UTM link builder is only as useful as the naming rules behind it.
UTM parameters and what each one carries
This UTM parameter builder fills in the five standard fields. The table shows what each parameter is for, an example value and when you need it. Google recommends always using utm_source, utm_medium and utm_campaign together, and parameters you leave out show up as (not set) in reports.
| Parameter | What it carries | Example value | When you need it |
|---|---|---|---|
| utm_source | The site, platform or list that sent the visit | google, newsletter, instagram | Always |
| utm_medium | The type of channel | cpc, email, social | Always |
| utm_campaign | The campaign, promotion or product | summer_sale | Always |
| utm_term | The paid-search keyword | running_shoes | Paid search only |
| utm_content | The ad or link within a campaign | banner_a, footer_link | When one campaign has several links |
| utm_id | An ID that identifies the campaign | cmp_042 | Optional, add it to the link by hand |
The first three rows decide which channel GA4 puts the traffic in. Its default channel group reads source and medium. A medium of email puts the session in the Email channel, and a medium such as cpc or ppc counts as Paid Search when the source is a search engine (GA4 default channel group). Pick the medium from those definitions and the traffic lands in the right channel instead of Unassigned.
A UTM naming convention that keeps reports clean
When the same value is spelled in different ways, a UTM report splits it into separate rows. Write a short naming convention before the first campaign link goes out and share it with everyone who creates links:
Use lowercase only. GA4's channel rules ignore case, but its reports still show Facebook and facebook as two sources.
Separate words with underscores or hyphens. A space becomes a + in the link and makes reports harder to read.
Keep a fixed list of medium values that match GA4's channel definitions, such as cpc, email, social and referral, and don't invent new ones per campaign.
Name campaigns with a predictable pattern, for example product_offer_month, so campaigns for the same product sort together in reports.
Never put personal data in a UTM value. Google asks you not to send personally identifiable information such as email addresses to Analytics. It names custom campaign parameters as one place to check (Google Analytics Help: Best practices to avoid sending PII).
Keep the approved values in a shared sheet. When every link follows it, campaign rows in GA4 line up with your ad spend. You can then check the revenue each campaign brought in with the ROAS calculator and the share of visitors who bought with the conversion rate calculator.
When to use a UTM builder
Use it on every campaign link that brings people to your site from somewhere you don't control. That covers email, SMS, push notifications, social posts, influencer links, QR codes, and ad platforms that don't tag links automatically. For a newsletter, tag each link so your GA4 reports and the email performance calculator describe the same sends. With Google Ads auto-tagging on, that traffic is already separated, so the builder is mainly for every other channel.
Where UTM tracking misleads
Don't put UTM parameters on internal links. A visitor who is already on your site gets a new source, which replaces the channel that actually brought them. Link shorteners and some redirects can also drop the parameters on the way. Click the final link once and check that the utm_ tags are still in the address bar. UTM data also covers only visits that arrive through a tagged link: someone who sees your post and later types your address arrives as direct traffic.
Guides on this topic
Frequently Asked Questions
What is a UTM parameter?
A UTM parameter is a tag added to the end of a URL that identifies the source, channel and campaign of the traffic. UTM stands for Urchin Tracking Module, after the analytics product Google bought and turned into Google Analytics. The five standard ones are utm_source, utm_medium, utm_campaign, utm_term and utm_content, and these are the five this UTM builder creates. GA4 also reads a few more, such as utm_id and utm_source_platform, which you can add to the link by hand.
Which UTM parameters are required?
The link works without any of them, so technically none are. Google's guidance is to always use utm_source, utm_medium and utm_campaign, and missing ones appear as (not set) in reports. utm_medium, together with utm_source for some channels, also decides GA4's default channel grouping. A medium of email lands in the Email channel, and cpc goes to Paid Search when the source is a search engine. A non-standard medium can leave the traffic reported as Unassigned.
How do you create a UTM link?
Start with the page the link should open, add a question mark and then the parameters as name=value pairs joined by &: https://example.com/?utm_source=newsletter&utm_medium=email&utm_campaign=summer_sale. A UTM parameter builder like this one does the joining and encoding for you. Enter the URL and the values, copy the result and test it once in a browser. Google's own Campaign URL Builder produces links in the same format.
Can UTM values use capital letters or spaces?
They can, but it's better not to. GA4 stores values exactly as written, so Facebook and facebook become two sources in reports. A space turns into a + in the link and makes the values harder to read. Write everything in lowercase, separate words with underscores or hyphens, and make that a written rule the whole team follows. This tool uses whatever you type, so following the convention is up to you.
Should I add UTM parameters to Google Ads links?
If your Google Ads account is linked to GA4 and auto-tagging is on, the gclid parameter lets GA4 pick up the campaign details from Google Ads. You don't need UTMs as well. The two can be used together, but Google notes that GA4 gives auto-tagging priority over manual tagging (Google Ads Help: About auto-tagging). On Meta, LinkedIn, TikTok and other platforms, add the campaign details yourself with UTM parameters.
Related calculators

