UTM Link Builder

Build campaign URLs with utm_source, utm_medium and utm_campaign for Google Analytics 4, see the likely default channel, and tag many links at once in bulk mode.

The interactive tool loads here when JavaScript runs.

About this tool

What is the UTM Link Builder?

Paste the landing page, fill in source, medium and campaign, and copy a tagged link ready for an email, social post, ad or QR code. Values are lowercased and spaces turned into dashes by default, because Google Analytics treats Email and email as two different values and a stray space becomes %20 in reports.

Under the link the tool predicts which GA4 default channel the visit will fall into, using Google's published rules: google with cpc is Paid Search, facebook with paid_social is Paid Social, anything with medium email is Email. If a combination lands in Unassigned you find out before the campaign goes live, not a month later.

Bulk mode tags a whole list of URLs with one set of values and an optional utm_content per line, then copies them or downloads a CSV. A third tab reads a tagged link back into its parts. Everything runs in your browser.

  • All GA4 UTM parameters including utm_id and utm_source_platform
  • Lowercase and space handling to keep reports clean
  • Predicted GA4 default channel from Google's rules
  • Presets for email, social, ads, QR and affiliates
  • Bulk tagging with per-line content and CSV export
  • Reads a tagged URL back into its parameters
Read the guide: UTM Parameters for GA4: Naming, Channels and Common Mistakes

How to use the UTM Link Builder

  1. Enter the landing page URL. https:// is added if you leave it off, and existing query parameters and #fragments are kept.
  2. Pick a preset or type utm_source and utm_medium. Add utm_campaign, and utm_content to tell apart several links in the same message.
  3. Leave Lowercase values on and choose how spaces are written.
  4. Copy the campaign URL and check the predicted GA4 channel and any warnings.
  5. For many links, switch to Bulk, paste one URL per line (optionally followed by a comma and a content value), and copy or download the results.

Worked examples

Newsletter link

Input

https://example.com/pricing, source Newsletter, medium email, campaign October Launch, content hero button

Output

https://example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=october-launch&utm_content=hero-button

Values are lowercased and spaces become dashes. GA4 places the visit in the Email channel.

Keeping an existing query and fragment

Input

https://example.com/page?ref=1#top with source newsletter, medium email, campaign spring sale

Output

https://example.com/page?ref=1&utm_source=newsletter&utm_medium=email&utm_campaign=spring-sale#top

The UTM tags go into the query string before the #, where analytics can read them.

A medium that misses every channel

Input

source flyer, medium qr

Output

Predicted channel: Unassigned

qr matches no default rule. Use medium print or offline with a custom channel group, or accept Unassigned and filter by source.

Background and insight

UTM stands for Urchin Tracking Module, from Urchin Software, the web analytics company Google bought in 2005 and turned into Google Analytics. The parameters are plain query-string fields that analytics tools read from the landing page URL. Google's GA4 documentation lists utm_source (the referrer, such as a site or newsletter), utm_medium (the marketing medium, such as cpc, email or banner) and utm_campaign as the ones to always use, utm_id and utm_source_platform as strongly recommended, and utm_term, utm_content, utm_creative_format and utm_marketing_tactic as optional.

GA4 assigns each session to a default channel group from source and medium, and sometimes the campaign name. Paid channels need a medium matching ^(.*cp.*|ppc|retargeting|paid.*)$, such as cpc, ppc or paid_social. Organic Social takes a known social source or a medium of social, social-network, social-media or sm. Email takes email, e-mail, e_mail or e mail as either source or medium. Referral needs referral, app or link; Affiliates needs affiliate; Display needs display, banner, expandable, interstitial or cpm. Anything that matches no rule is Unassigned.

Google matches sources against long lists of search, social, video and shopping sites. This tool includes the best-known names on each list, so a niche network may be predicted as Unassigned here but recognised by GA4. Google's own documentation also says parameter values are case sensitive and recommends lowercase as a standard practice, which is why lowercase is on by default.

Common use cases

  • Email campaigns

    Tag every link in a newsletter with utm_content so you can see which button was clicked.

  • Social posts and paid social

    Separate organic posts (medium social) from ads (medium paid_social) in GA4.

  • Print and QR codes

    Give flyers, packaging and event signs their own source so offline traffic is measurable.

  • Partner and affiliate links

    Hand each partner a link tagged with their name and medium affiliate.

  • Agency link sheets

    Generate dozens of tagged URLs for a launch in bulk and share them as CSV.

Tips and limitations

  • Never put UTM tags on links between pages of your own site. In GA4 a new campaign value can start a new attribution and overwrite the real source of the visit.
  • Agree a naming sheet with your team (lowercase, dashes or underscores, fixed medium list) and stick to it. Reports split on every spelling variation.
  • For Google Ads, use auto-tagging (gclid) instead of manual tags. Manual UTMs are for channels that do not tag automatically.
  • Keep personal data out of UTMs. Email addresses or names in a URL end up in analytics and server logs, which most analytics terms forbid.
  • Shorten long tagged links with your own domain if they look untidy in print, and test the final link once before sending.

Frequently asked questions

Which UTM parameters are required for GA4?

Google says to always use utm_source, utm_medium and utm_campaign. This builder requires source and warns if medium or campaign is missing, because missing values show as (not set) and the visit cannot be placed in a channel.

Are UTM parameters case sensitive?

Yes. GA4 treats utm_source=Google and utm_source=google as different sources. Lowercase everything to keep reports tidy; this tool does that by default.

What utm_medium should I use for paid social ads?

A medium that matches GA4's paid pattern, such as paid_social or cpc, with a social source like facebook or linkedin. That puts the visit in Paid Social. Medium social alone is counted as Organic Social.

Why does my campaign show as Unassigned in GA4?

Your source and medium did not match any default channel rule, for example medium qr or a misspelt medium. Check the predicted channel here before launch, or create a custom channel group.

Do UTM tags go before or after the # in a URL?

Before. Anything after # is not sent to the server and analytics may not read it. The builder inserts tags into the query string and keeps the fragment at the end.

Should I add UTM tags to internal links?

No. Tagging links between your own pages starts a new campaign attribution in GA4 and hides where the visitor really came from.

What is utm_id used for?

It carries a campaign ID that matches the IDs in cost or campaign data you import into GA4, so imported spend can be joined to sessions.

Is there an in-depth guide to the UTM Link Builder?

Yes. “UTM Parameters for GA4: Naming, Channels and Common Mistakes” covers the background, how it works, common pitfalls and worked examples. Read the full guide.

People also search for

  • utm parameters for ga4 campaign url builder
  • utm medium for paid social in ga4
  • are utm parameters case sensitive
  • utm tags for email newsletter links
  • bulk utm link generator from a list
  • why is my campaign showing as unassigned in ga4
  • utm before or after hash in url
  • utm_id parameter ga4