Free UTM builder and tracking URL generator

This free UTM builder generates clean, consistent tracking URLs in seconds. Add utm_source, utm_medium, utm_campaign, utm_term, and utm_content to any URL, then paste the result into your campaign. The builder enforces lowercase formatting and hyphen-separated values automatically so the same campaign never shows up as three rows in your analytics reports.

It works the same way for B2B SaaS, professional services, manufacturing, life sciences, and any other team that needs to track which campaigns drive pipeline. Most of our users are B2B teams who were burned by inconsistent UTMs and want to standardize before adding another marketing platform.

How to use the UTM builder

  1. Enter your landing page URL in the field above.
  2. Fill in the required parameters: utm_source (where the click came from), utm_medium (the channel category), and utm_campaign (the campaign name).
  3. Add optional parameters if you need them: utm_term (paid keyword) and utm_content (variant or creative identifier).
  4. Copy the generated URL and paste it into your ad, email, or social post.

The tool auto-lowercases your inputs and converts spaces to hyphens, which prevents the most common UTM mistakes. Generate one URL per campaign per channel; do not reuse the same tagged URL across different campaigns.

What is a UTM parameter?

A UTM parameter is a tag appended to the query string of a URL. Analytics platforms read these tags to attribute the click to a specific source, medium, and campaign. The Urchin Tracking Module convention dates back to 2005 (Google acquired Urchin Software and turned it into Google Analytics), but every major analytics, CRM, and marketing automation platform now reads UTM parameters from the URL.

There are five standard parameters. The first three are required for useful reporting; the last two are optional and used when you need to differentiate variants.

utm_source

The specific website, platform, or sender that originated the click. Examples: linkedin, google, hubspot, webinar-vendor-name, partner-acme, newsletter-march. Use the actual platform name, not the channel category.

utm_medium

The category of channel. Use a fixed vocabulary so reports stay clean. Common values:

  • cpc for paid search (Google Ads, Bing Ads)
  • email for email marketing
  • social for organic social media
  • paid-social for paid social media (LinkedIn Ads, Meta Ads, X Ads)
  • referral for partner or affiliate referral
  • organic for organic search (Google does not pass this; you usually do not need to tag organic search)
  • partner for strategic partner traffic
  • podcast for podcast ad or mention
  • event for in-person event, webinar, trade show
  • direct-mail for physical mail piece with a QR code or URL

utm_campaign

The campaign name. The most common convention is to embed the quarter, the campaign type, and the specific theme: 2026q1-product-launch-saas. Avoid putting source data in this field (do not write linkedin-2026q1-product-launch); keep source in utm_source.

utm_term

Optional. Originally designed for paid search keyword tracking. Some teams use it for the keyword variant being tested; others leave it empty for non-search campaigns.

utm_content

Optional. Used to differentiate variants of the same campaign on the same channel: ad creative A vs ad creative B, button position 1 vs button position 2, mobile vs desktop. Useful for A/B testing.

UTM examples by channel

The right combination of parameters varies by channel. Use these as templates.

Email marketing

?utm_source=hubspot&utm_medium=email&utm_campaign=2026q1-newsletter-jan

For email, source is the platform name and medium is always email. Tag every link in the email separately if you want to differentiate between primary CTA, secondary link, and footer link (use utm_content for that).

LinkedIn paid ads

?utm_source=linkedin&utm_medium=paid-social&utm_campaign=2026q1-fractional-cmo-leads&utm_content=ad-variant-a

LinkedIn uses paid-social as the medium to distinguish from organic LinkedIn posts (which use social). Add utm_content to differentiate ad variants for A/B testing.

Organic LinkedIn post

?utm_source=linkedin&utm_medium=social&utm_campaign=thought-leadership-march

Same source as paid LinkedIn, different medium. This separation makes organic and paid LinkedIn legible in the same report.

?utm_source=google&utm_medium=cpc&utm_campaign=2026q1-attribution-keywords&utm_term=marketing-attribution-tool

For paid search, utm_medium is cpc (cost per click), and utm_term can carry the specific keyword. Modern Google Ads supports auto-tagging via the gclid parameter, but layered UTM tagging is useful for cross-platform reporting.

Webinar or event

?utm_source=webinar-vendor&utm_medium=event&utm_campaign=2026q1-product-webinar

Use event as the medium for any in-person or live online event. utm_source can be the event name, the registration platform, or the partner who co-hosted.

Partner or referral

?utm_source=partner-acme&utm_medium=referral&utm_campaign=2026q1-co-marketing

Use referral for partnership traffic. This separates partner-sourced pipeline from direct referrals in your CRM.

Podcast or podcast ad

?utm_source=podcast-name&utm_medium=podcast&utm_campaign=2026q1-sponsor-read

Podcasts are difficult to track without UTMs (most listeners cannot click a link in audio). Use vanity URLs or short links that redirect to the UTM-tagged landing page.

UTM naming conventions for B2B campaigns

The single most damaging UTM mistake is inconsistent naming. The same campaign shows up as three rows because one teammate wrote cpc, another wrote CPC, and a third wrote paid-search. Cumulative chaos like this makes attribution reports useless.

A working convention:

  • Lowercase everything. GA4 treats Google and google as different sources.
  • Use hyphens, not underscores or spaces. paid-social, not paid_social or paid social.
  • Lock the vocabulary for utm_medium to a fixed list (cpc, email, social, paid-social, referral, organic, partner, podcast, event, direct-mail). New mediums get added by an explicit governance process, not ad-hoc.
  • Be specific in utm_campaign but never put source data there. Embed quarter, campaign type, and target audience.
  • Audit utm_source monthly in GA4 to catch new variants before they fragment your reports.

We cover this in depth, with templates and validation rules, in the UTM and campaign naming convention framework.

How UTM parameters flow into Google Analytics 4

GA4 reads UTM parameters automatically. No configuration is required. The parameters appear under:

  • Reports > Acquisition > Traffic Acquisition has the Source / Medium dimension and Default Channel Group
  • Reports > User Acquisition shows first user source and medium for new users
  • Explore > Free form combines UTM dimensions with conversion events

Two GA4-specific gotchas:

  1. Case sensitivity (already mentioned but worth repeating). Google and google are different sources. Lowercase everything.
  2. (direct) / (none) appears when traffic has no UTM parameters and GA4 cannot infer the source. Often happens with: email clients that strip query strings, mobile app deep links that lose UTMs on redirect, and organic shares of UTM-tagged URLs where the recipient pasted the URL without UTMs.

To validate your UTM setup, run a test campaign with a known UTM combination and confirm it appears correctly in GA4 within 24 hours.

How UTMs integrate with HubSpot and Salesforce CRM

HubSpot captures UTM parameters automatically into the contact’s First Touch source fields and on every page view. Salesforce captures them through Campaign Influence and any custom fields you wire up (Lead Source is the most common, but Campaign Influence is more accurate).

Three common CRM gotchas with UTMs:

  • Source overwrite on update: a contact whose first touch was email gets overwritten by a later LinkedIn ad click. Lock first-touch fields to prevent this.
  • Form page UTM stripping: some form builders drop URL parameters on submit. Verify in test mode that UTMs make it from the page to the form record.
  • Cross-domain attribution: traffic that bounces between domain.com and app.domain.com can lose UTMs. Use a cross-domain tracking script (HubSpot’s tracking code handles this; for custom domains, configure manually).

Common UTM mistakes that break attribution

Most attribution problems trace back to a handful of UTM mistakes. The full list:

  • Case-mismatch (utm_source=Google vs utm_source=google)
  • Manual tagging instead of a builder (typos compound at scale)
  • Tagging internal links (a click on a tagged internal nav link overwrites the original source)
  • Vocabulary drift (cpc becomes Cpc becomes paid-search across the team)
  • Missing UTMs on email send links (especially common in marketing automation tools that don’t auto-tag)
  • utm_campaign mixed with utm_source (linkedin-q1-launch puts source data in campaign)
  • Forgotten utm_content variants (variant labels that don’t reset between campaigns)
  • Landing page UTM strippers (a redirect that drops query strings before the analytics script fires)

For a deeper look at how these compound across your CRM, see why marketing attribution is broken.

How often should you audit your UTMs?

Audit monthly. Pull all utm_source and utm_medium values from the last 30 days. Look for inconsistencies, capitalization issues, and unauthorized new values. Fix at the source (the team or process generating the bad URLs) rather than trying to clean up downstream.

If you have not done a UTM audit in over a quarter, the data debt is usually substantial. The martech audit checklist covers UTM governance as Item 3 of 20.

Frequently Asked Questions

What is a UTM parameter?

A UTM parameter is a small tag appended to a URL that tells your analytics platform where a click came from. Each parameter has a name (utm_source, utm_medium, utm_campaign, utm_term, utm_content) and a value you assign. Google Analytics, HubSpot, Salesforce, and most marketing tools read these tags and use them to attribute traffic, leads, and revenue to specific sources, channels, and campaigns. Without UTM parameters, most marketing traffic shows up as direct or organic, even when it isn't.

What's the difference between utm_source and utm_medium?

utm_source identifies the specific website or platform that sent the traffic (linkedin, google, hubspot, partner-name). utm_medium identifies the category of channel (cpc for paid search, email for email marketing, social for organic social, paid-social for paid social, referral for partners). A LinkedIn ad uses utm_source=linkedin and utm_medium=paid-social. An organic LinkedIn post uses utm_source=linkedin and utm_medium=social. Same source, different medium, very different reporting.

Which UTM parameters are most important?

Three are required for most B2B reporting: utm_source, utm_medium, and utm_campaign. utm_term (originally for paid search keywords) and utm_content (for differentiating ad creatives or links within the same campaign) are optional but useful when you need to compare variants. If you only have time to add three parameters, do source, medium, and campaign on every link.

Are UTM parameters case-sensitive?

Yes, and this is the single most common UTM mistake. Google Analytics 4 treats utm_source=Google, utm_source=google, and utm_source=GOOGLE as three separate sources. The same is true for medium and campaign values. The fix is a strict naming convention: lowercase everything, separate words with hyphens (not underscores or spaces), and validate every URL before it ships. The builder above applies these rules automatically.

How do you set up UTM tracking in Google Analytics 4?

UTM parameters are recognized automatically in GA4 once they appear in a URL. There is no special configuration. To see them, go to Reports, Acquisition, Traffic Acquisition, and use the Default Channel Group or Source / Medium dimensions. If your UTM values are inconsistent, you'll see them split across multiple rows in these reports. The fix is at the URL level (clean tagging), not in GA4 settings.

Can I use UTM parameters with HubSpot or Salesforce?

Yes. HubSpot automatically captures UTM parameters as Original Source and First Touch fields on each contact. Salesforce captures them through Campaign Influence and custom fields you map (most teams use Lead Source, but Campaign attribution is more accurate). The key is making sure your form pages preserve the UTM parameters on submission rather than stripping them. Most form builders support this; verify in your platform's documentation.

What's a good UTM naming convention for B2B teams?

Lowercase everything. Separate words with hyphens, not underscores or spaces. Lock vocabulary for utm_medium (pick from a fixed list: cpc, email, social, paid-social, referral, organic, partner, podcast, event, direct-mail). Be specific in utm_campaign (combine quarter, campaign type, and target: 2026q1-product-launch-saas). Avoid putting source data in the campaign field. Audit your active UTMs monthly. We cover this in depth in the [UTM and campaign naming convention guide](/blog/utm-campaign-naming-convention-framework).

Do UTM parameters work for email marketing?

Yes, and they're especially valuable for email because most email clients show up as direct traffic without UTMs. For every email send, tag every link with utm_source=email-platform-name (or just utm_source=email if you have one platform), utm_medium=email, and utm_campaign=specific-send-or-sequence. If your email tool supports automatic UTM insertion (Mailchimp, Marketo, HubSpot all do), use it consistently rather than manual tagging.

Why should I use UTM parameters?

Without UTMs, you cannot reliably distinguish direct traffic from email, organic social, partner referrals, or paid campaigns. Attribution reports collapse a long list of distinct sources into Direct or Other. Marketing's pipeline contribution becomes invisible. With consistent UTMs, every campaign's traffic, leads, and revenue contribution is measurable, which is the prerequisite for any meaningful marketing budget decision.

Can UTM parameters be used for social media campaigns?

Yes. Tag every social media post link with utm_source=platform (linkedin, twitter, facebook, etc.) and utm_medium=social for organic or paid-social for paid. utm_campaign should reflect the content theme or product being promoted. Distinguishing organic and paid social by medium prevents the most common reporting confusion in B2B social tracking.

Does using UTM parameters affect SEO?

UTM parameters do not directly affect SEO when used correctly. They appear as query strings, which Google generally ignores for ranking purposes. The two SEO risks are: tagging internal links (which can fragment your analytics by overwriting source attribution), and creating duplicate-content issues if UTM-tagged URLs get indexed (use canonical tags on landing pages to prevent this). Both are easy to avoid: only tag external links, and use canonicals on every landing page.

What does UTM stand for?

UTM stands for Urchin Tracking Module. The tagging system was originally developed by Urchin Software, which Google acquired in 2005 and turned into Google Analytics. The UTM convention survived because every major analytics platform now reads the same parameters. The name is mostly historical at this point; what matters is the standardized format.

Who should use a UTM builder tool?

Marketers running paid campaigns across multiple channels, anyone managing a content distribution program, B2B teams whose pipeline depends on attribution accuracy, agencies that need consistent tagging across client campaigns, and any team that has been burned by sourceless 'Direct' traffic in their reports. If you cannot answer 'where did this lead come from' from your CRM, you need a UTM builder and a naming convention.