Skip to content
SourceLoop

Free tool

Free UTM Campaign Builder

Build clean, consistent UTM links in seconds. Add source, medium, campaign, term, and content to any URL, then copy and ship. No signup, no email gate.

Start with a preset

The full URL where the traffic should land.

Referrer like google, newsletter, linkedin.

Channel like cpc, email, social, referral.

Internal campaign name. Use a consistent convention.

Optional parameters utm_term, utm_content, utm_id

Paid search keyword.

Differentiate ad creatives, button positions, etc.

Platform-level campaign ID (used by GA4 paid imports).

Generated link Fill in the form to build a link

How it works

Three steps from tagged link to clean attribution

Build it, ship it, read the report. No analytics setup needed.

  1. example.com/pricing
    ?utm_source=google
    &utm_medium=cpc
    &utm_campaign=spring_launch
    01

    Build the link

    Fill in the form above with source, medium, and campaign. Add optional fields if you need them, then copy. Ten seconds, no signup.

  2. 02

    Ship it on the channel

    Paste the tagged URL into your ad platform, email tool, social scheduler, or partner placement. Same link wherever you want the visit credited.

  3. A

    Acquisition report

    Last 7 days

    • Source google
    • Medium cpc
    • Campaign spring_launch
    03

    Read attribution in your reports

    On click, GA4, SourceLoop, HubSpot, and friends read the parameters and tag the session. Future conversions roll up to the right source, medium, and campaign.

UTM parameters

What each UTM parameter does

Six standard fields. Three are required for clean attribution, three are optional. Stick to lowercase and a small fixed vocabulary.

Best practices

Clean UTMs in five rules

  1. 01

    Lowercase, always

    utm_source=Google and utm_source=google are different sources to GA4. Pick lowercase and stick to it.

  2. 02

    Underscores, not spaces

    Use spring_launch, not "spring launch". Spaces get URL-encoded into ugly %20s and break naming consistency.

  3. 03

    Fixed vocabulary for utm_medium

    Pick 6-8 mediums (cpc, email, social, paid_social, referral, organic, display, affiliate) and never invent new ones.

  4. 04

    Never UTM internal links

    Internal UTMs reset the original source on every click. Tag external campaigns only.

  5. 05

    Document the convention

    Pin a sheet to your team Slack with the agreed-on naming convention. Audit it monthly.

Built by the team behind SourceLoop

UTMs label one click. SourceLoop captures the whole journey.

SourceLoop lead detail showing first-touch, last-touch, and the full multi-touch journey for a converted lead

Guide

How UTM tracking actually works

What a UTM is

UTM stands for Urchin Tracking Module, named after the analytics company Google bought back in 2005. It is a small label you attach to a URL so analytics tools can tell where a visit came from. Without UTMs, a click from a paid Facebook ad and a click from an organic LinkedIn post can both end up in the same "social referral" bucket, which makes attribution useless.

What a UTM-tagged URL looks like

The structure is straightforward. You start with your landing page URL, add a ?, then string together key=value pairs separated by &. For example:

https://example.com/pricing?utm_source=google&utm_medium=cpc&utm_campaign=spring_launch

The page itself does not change. The browser sends the visitor to the same destination. The query string just sits there for the analytics script to read on arrival.

How analytics tools pick UTMs up

Most platforms detect UTM parameters automatically: Google Analytics, SourceLoop, HubSpot, Mixpanel, Amplitude, Heap, Matomo, Adobe Analytics. The script on your landing page reads the URL, writes the values to the session, and credits any future conversion back to that source, medium, and campaign. You do not need to configure anything on the analytics side. The parameter names are a long-standing convention every tool recognizes.

When you actually need to tag a link

You only need UTMs for traffic an analytics tool cannot identify on its own. Organic search, direct visits, and most referring sites are detected through the HTTP referrer header. Tag the channels where the referrer is missing, generic, or unhelpful:

  • Paid ads (Google, Meta, LinkedIn, TikTok, Reddit)
  • Email campaigns and newsletters
  • Affiliate and partner placements
  • QR codes and offline campaigns
  • Retargeting and remarketing flights
  • Sponsored posts where the referrer often gets stripped

Skip UTMs on internal links inside your own site. They overwrite the original source on every click and quietly break multi-touch attribution.

A worked example

Say you launch a Google Ads campaign with three headline variants, all pointing at the same pricing page. Without UTMs, GA4 sees three identical visits from google / cpc and you cannot tell which headline drove the signups. Tag each ad with a different utm_content value (headline_a, headline_b, headline_c) and the variants split cleanly in your conversion report. You can pause the loser within a week instead of guessing for a month.

That is the whole job of UTM tagging: forcing reportable structure onto traffic that would otherwise collapse into a single bucket.

FAQ

UTM tracking, FAQ

What is a UTM parameter?

A UTM parameter is a small tag added to a URL (e.g., ?utm_source=google&utm_medium=cpc) that tells your analytics tool where a visit came from. Google Analytics, SourceLoop, HubSpot, and most marketing tools recognize the standard utm_source, utm_medium, utm_campaign, utm_term, utm_content, and utm_id fields automatically.

Which UTM parameters are required?

Only utm_source is technically required by GA4. We strongly recommend always adding utm_source, utm_medium, and utm_campaign, since most attribution tools use these three together. utm_term, utm_content, and utm_id are optional and used for paid search keywords, ad creative variants, and platform-level IDs.

Should I use uppercase or lowercase in UTMs?

Always lowercase. utm_source=Google and utm_source=google are treated as separate sources by GA4 and most tools, which fragments your reports. Pick lowercase, hyphens or underscores instead of spaces, and stick to a small fixed vocabulary for utm_medium (e.g., cpc, email, social, referral, organic).

Do UTMs work on internal links inside my own site?

No, you should not put UTMs on internal links. Internal UTMs reset the original source on every click, which destroys multi-touch attribution. Only tag links coming from external campaigns (ads, emails, social posts, partner sites).

How does this compare to Google's Campaign URL Builder?

Same standard parameters, but with built-in best-practice hints, copyable common-presets, and a clean URL preview. Built by the team behind SourceLoop, a multi-touch attribution platform.

Is this tool free?

Yes. The UTM Builder is completely free, no signup, no email gate. We host it because clean UTMs make every attribution tool (including ours) work better.

Track every conversion to its true source

Capture and send full attribution data from every signup, lead, booking, and sale to your CRM and ad platforms, so you know exactly what's driving revenue.

Without SourceLoop

Untagged

Kayden Floyd

[email protected]

  • SourceUnknown
  • MediumUnknown
  • CampaignUnknown
  • Landing pageUnknown
Journey
No touchpoints captured

With SourceLoop

Auto-tagged

Kayden Floyd

[email protected] · Acme Co.

  • Channel Paid Social
  • CampaignFree_demo
  • Landing page/pricing
Journey
Synced to HubSpot Google Ads Meta