UTM Builder: Create Campaign URLs for Google Analytics

Build tagged campaign links with utm_source, utm_medium, utm_campaign, utm_id, utm_term and utm_content, one URL at a time or in bulk, and see the likely GA4 channel.

UTM builder showing a tagged newsletter link for a Black Friday campaign with the likely GA4 channel
Image: Bizolaunch

A UTM builder adds tracking tags to a link so Google Analytics can tell you where each visit came from. Paste your page URL, fill in utm_source, utm_medium and utm_campaign, and copy the tagged link. Our free tool also keeps your existing query string and #anchor, and it can tag a whole list of URLs at once.

We built it around three mistakes that GA4’s own rules punish. First, “Email” and “email” show up as two sources. Second, a medium like “newsletter” lands in the Unassigned channel. Third, an old tag stays on a reused link. So the tool lowercases values, shows the likely GA4 channel and replaces old UTM tags.

UTM builder

Fields marked * are required. The link updates as you type.

Must begin with http:// or https://. Existing ?parameters and #anchors are kept.
The referrer: where the click comes from
The marketing medium
Product, slogan or promo code
Identifies one campaign or promotion
The paid keyword
Tells two ads or links apart
Google Analytics treats Email and email as two different values

Everything runs in your browser. Nothing you type is sent or saved.

Build a Tagged Link in Four Steps

  1. Paste the full page address into Website URL. It has to begin with http:// or https://.
  2. Pick a channel preset, or type your own source and medium.
  3. Add a campaign name. Then add an ID, term or content value if you need them.
  4. Press Copy URL and paste the link into your ad, email or post.

Next, try Bulk mode when one campaign covers many pages. Paste one URL per line, and the tool tags each one with the same values. Lines that fail the http or https check are marked as skipped. So you can spot a typo before the links go live.

Learn What Each UTM Parameter Means

Google Analytics reads six standard tags from a URL. The definitions in the widget follow Google’s own help page word for word where we could.

ParameterWhat it recordsExample value
utm_sourceThe referrer that sent the clickgoogle, newsletter, billboard
utm_mediumThe marketing mediumcpc, banner, email
utm_campaignA product, slogan or promo codespring_sale
utm_idThe ID of one campaign or promotionspr26_01
utm_termThe paid keywordrunning_shoes
utm_contentWhich creative or link was clickedheader_button

Google says you should always set utm_source, utm_medium and utm_campaign. Missing tags show up as “(not set)” in reports. Also, the order of the tags does not matter. GA4 also reads utm_source_platform, utm_creative_format and utm_marketing_tactic. However, Google notes the last two are not reported in GA4 properties yet, so we left them out of the form.

Keep Values Lowercase and Consistent

Google Analytics treats tag values as case sensitive. So “Facebook” and “facebook” become two rows in your source report. That is why Google’s own advice is to use lowercase as a standard practice. The lowercase box in the tool is ticked by default for the same reason.

Spaces need a decision too. The tool swaps them for underscores by default. You can pick hyphens instead, or keep spaces as %20. Whatever you choose, use it for every link in the campaign.

Pick a Medium That Lands in the Right Channel

GA4 sorts traffic into default channels by matching your source and medium against fixed rules. So the medium you type decides which channel a click lands in. We read Google’s channel rules and built the presets around them.

PresetSource / mediumLikely GA4 channel
Email newsletternewsletter / emailEmail
Google Ads, manual tagginggoogle / cpcPaid Search
Facebook adsfacebook / paid_socialPaid Social
LinkedIn postlinkedin / socialOrganic Social
YouTube descriptionyoutube / videoOrganic Video
Affiliate partnerpartner / affiliateAffiliates
Text messagesms / smsSMS
Display bannerpartner-site / displayDisplay

For example, a paid medium has to be ppc or retargeting, contain “cp” (like cpc), or begin with “paid”. Then the source decides whether it is Paid Search, Paid Social or Paid Video. In contrast, the source “newsletter” with the medium “newsletter” matches no rule. As a result, those clicks fall into Unassigned. The tool prints its best guess of the channel under every link, so you can catch this early.

See How the Builder Handles Real URLs

First, take a pricing page that already has a parameter and an anchor: https://www.example.com/pricing?plan=pro#compare. Then tag it for a Black Friday email with the campaign “Black Friday 2026” and content “hero button”. The tool returns this link:

https://www.example.com/pricing?plan=pro&utm_id=bf26&utm_source=newsletter&utm_medium=email&utm_campaign=black_friday_2026&utm_content=hero_button#compare

The plan=pro parameter stays in place. The tags go before the #compare anchor, because a URL’s query string has to come before the # part. Also, the values come out lowercase with underscores.

Next, take a link that someone tagged before: ?utm_source=old&color=red. When you build a new link from it, the tool removes the old utm_source and keeps color=red. So you never send a link with two sources. Special characters are encoded too. For example, a campaign called “Summer & Sun/2026” becomes Summer%20%26%20Sun%2F2026 when you keep spaces. Without that encoding, the & would cut the campaign name in half.

Avoid Common Tagging Mistakes Before Launch

  • Tag only links that point to your site from somewhere else, such as ads, emails and social posts.
  • Keep a shared sheet of approved sources and mediums. Then every teammate tags the same way.
  • Use utm_content to compare two buttons or two ads in the same email or campaign.
  • Turn long tagged links into a code before you print them. Our free QR code generator turns a tagged link into a scannable code for flyers.
  • Check the tagged link in a browser before launch. A broken page wastes the whole send.

Clean tags also make cost reports more useful. For instance, our guides to blended CAC vs paid CAC and CAC payback period both depend on knowing which channel brought each customer. You can find more free tools on the Bizolaunch tools page.

Questions Marketers Ask About UTM Links

Which UTM Parameters Are Required?

Google asks you to always set utm_source, utm_medium and utm_campaign. The other tags are optional. However, any tag you leave out shows as “(not set)” in Google Analytics reports.

Are UTM Parameters Case Sensitive?

Yes. Google Analytics treats “Email” and “email” as different values. So pick lowercase and keep to it across every campaign.

Where Do UTM Values Show Up in GA4?

They fill the source, medium and campaign dimensions in your traffic reports. However, GA4 strips UTM tags from the Page path + query string and Landing page + query string dimensions. So look for the full tagged URL in the Page location dimension instead.

Can I Add UTM Tags to a URL That Already Has Parameters?

Yes. Add the tags with an & after the existing parameters. Our builder does this for you and keeps the #anchor at the end. It also replaces any old UTM tags on the link.

Why Does My Campaign Show as Unassigned in GA4?

Your source and medium probably match none of GA4’s channel rules. For example, newsletter / newsletter lands in Unassigned, while newsletter / email lands in Email. So use the standard mediums from the presets.

Joydeep Bhattacharya Avatar

Written by

Founder, Editor and Business Reporter, Bizolaunch

Keep Reading