The page people should land on. Existing query parameters are kept.

Enter a valid web address, like https://example.com/page.

Quick fill

Where the traffic comes from.

The type of traffic or channel.

The promotion, product launch or campaign.

Matches cost data imports in GA4.

Paid search keyword or audience.

Tells apart ads or links in the same campaign.

Your campaign URL

Fill in the website URL, source, medium and campaign name.
Test link

Built in your browser. Your URLs are never sent to our servers.

What are UTM parameters?

UTM parameters are short tags added to the end of a link that tell your analytics tool where a visitor came from. When someone clicks example.com/pricing?utm_source=newsletter&utm_medium=email, Google Analytics records the visit as coming from your newsletter, by email, instead of lumping it in with "direct" or "referral" traffic.

They work with Google Analytics 4, Adobe Analytics, Matomo, HubSpot, Plausible and almost every other analytics platform. The page itself ignores them, so visitors see exactly the same content.

ParameterWhat it answersExample
utm_source RequiredWhich site, platform or list sent the visitor?google, newsletter, facebook
utm_medium RequiredWhat type of traffic is it?cpc, email, paid_social
utm_campaign RequiredWhich campaign or promotion?spring_sale_2026
utm_idWhich campaign ID? Used to join cost data imported into GA4.q2_042
utm_termWhich keyword or audience?running_shoes
utm_contentWhich ad, link or version was clicked?hero_button, video_a

How to use this UTM builder

  1. Paste the landing page URL. Any existing query parameters, like ?ref=partner, are kept. If you leave out https://, it's added for you.
  2. Pick a quick-fill preset such as Google Ads or Newsletter, or type your own source and medium.
  3. Name the campaign. Values are converted to lowercase and spaces become underscores by default, which keeps your reports tidy.
  4. Check the GA4 channel badge. It shows which default channel Google Analytics 4 will most likely assign the traffic to. If it says "Unassigned", change the medium.
  5. Copy the URL, or use Test link to open it and confirm the page loads with the parameters intact.

Need many links at once? The Bulk tab combines a list of pages with a list of sources and exports everything as a CSV. To check a link someone else built, paste it into the Parse URL tab to see every parameter, any problems, and a clean copy without tracking.

Example: tagging a newsletter link

Say your May newsletter links to a pricing page, and there are two links: a button at the top and a text link at the bottom. Tagging them separately with utm_content shows which one gets more clicks:

Landing page: https://example.com/pricing
utm_source=newsletter · utm_medium=email · utm_campaign=may_2026_update

Button: …/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=may_2026_update&utm_content=top_button
Link:   …/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=may_2026_update&utm_content=footer_link

In GA4, both appear under the Email channel, grouped by the campaign may_2026_update. Add "Session manual ad content" as a secondary dimension to compare the button and the link.

UTM naming conventions that keep reports clean

Analytics tools treat every different spelling as a separate value. Facebook, facebook and fb become three rows in your report, splitting the numbers you actually want to see. A few simple rules prevent this:

  • Always use lowercase. This builder does it for you unless you switch it off.
  • Use underscores or hyphens, never spaces. Spaces turn into + or %20 and are awkward to filter.
  • Keep a fixed list of sources and mediums. Decide once whether it's facebook or meta, and whether paid social is paid_social or cpc, then stick to it.
  • Use a pattern for campaign names, such as year_quarter_product_offer: 2026_q2_pro_plan_trial. Patterns sort nicely and can be filtered with "contains".
  • Write the rules down. A shared spreadsheet with approved values stops each person on the team from inventing their own.

How GA4 assigns channels from your UTM tags

Google Analytics 4 sorts traffic into default channel groups, like Paid Search or Email, mainly by looking at utm_source and utm_medium. If the combination doesn't match any rule, the traffic lands in Unassigned, which makes it easy to overlook. These combinations match common channels:

SourceMediumGA4 default channel
google, bingcpc, ppc, paid_searchPaid Search
facebook, instagram, linkedin, tiktokpaid_social, cpcPaid Social
youtube, vimeocpc, paid_videoPaid Video
Anydisplay, banner, cpmDisplay
facebook, linkedin, xsocial, social-mediaOrganic Social
AnyemailEmail
AnyaffiliateAffiliates
AnyreferralReferral
AnysmsSMS

The order of the rules matters. For example, google with the medium cpm counts as Paid Search, because "cpm" contains "cp" and the Paid Search rule is checked before Display. The badge in this tool follows the same order, using the most common source names. For the complete lists, see Google's default channel group documentation.

Channel rules last checked against Google's documentation in September 2026.

Common UTM mistakes to avoid

  • Tagging internal links. Adding UTMs to links between pages on your own site overwrites how the visitor originally arrived, so sales get credited to your own website instead of the real channel. Use UTMs only on links that point to your site from elsewhere.
  • Leaving out the medium. Without utm_medium, GA4 can't assign a channel, and the traffic usually shows as Unassigned.
  • Overriding Google Ads auto-tagging. Google Ads adds a gclid automatically, and GA4 uses it to import detailed campaign data. Keep auto-tagging on. Manual UTMs on Google Ads are optional and should use google / cpc so the two agree.
  • Putting UTMs after the #. In example.com/#section?utm_source=x, analytics tools never see the parameters. They must come before the #. This tool puts them in the right place automatically.
  • Including personal information. Never put email addresses, names or phone numbers in UTM values. It breaks Google Analytics' terms and can expose customer data in shared reports.
  • Not testing redirects. Some link shorteners, redirects and single-page apps drop query parameters. Click the final link once and check the parameters are still in the address bar.

Frequently asked questions

Is this UTM builder free, and do you store my URLs?

Yes, it's completely free with no sign-up. Links are built by JavaScript in your browser, so the URLs and values you enter are never sent to our servers. Only your formatting preferences (lowercase and spaces) are remembered on your device.

Which UTM parameters are required?

Technically none, but utm_source, utm_medium and utm_campaign should always be used together. Without all three, reports are incomplete and GA4 may classify the traffic as Unassigned. utm_id, utm_term and utm_content are optional extras.

Are UTM parameters case sensitive?

Yes. Google Analytics treats Email and email as two different values, which splits your data. Use lowercase for every value, and always write the parameter names themselves in lowercase (utm_source, not UTM_Source).

What is the difference between utm_source and utm_medium?

The source is who sent the traffic: the specific site, platform or list, like google or newsletter. The medium is how it was sent: the type of channel, like cpc, email or social. One source can have several mediums. For example, facebook / paid_social for ads and facebook / social for organic posts.

Do UTM parameters affect SEO?

Not when used correctly. UTMs belong on links you share elsewhere (ads, emails, social posts), not on internal links. If search engines do find a tagged URL, a canonical tag on the page tells them which version to index, so no duplicate content problem arises.

How should I tag QR codes and offline campaigns?

Use the QR code's location as the source and a consistent medium, for example utm_source=flyer and utm_medium=qr. GA4 has no default "QR" channel, so this traffic shows as Unassigned unless you create a custom channel group in GA4 that matches utm_medium = qr. That's usually worth doing if print or packaging matters to your business.

What is utm_id used for?

utm_id is a campaign identifier. In GA4 it links website traffic to cost data you import from non-Google ad platforms, so you can compare spend with results. If you don't import cost data, you can leave it empty.

Are there other UTM parameters?

GA4 also recognizes utm_source_platform, utm_creative_format and utm_marketing_tactic. They are rarely needed and not shown in most standard reports, so this builder focuses on the six that matter for almost every campaign.

Can I shorten a URL with UTM parameters?

Yes. Build the full tagged URL first, then shorten it with any link shortener. Click the short link once to check it redirects to the full URL with all parameters intact.

More free tools for planning and measuring campaigns.

All tools

ROAS Calculator

Return on ad spend, plus the break-even ROAS you need.

CPA Calculator

Cost per acquisition and your maximum affordable CPA.