Skip to content

Free tool: UTM builder

UTM builder with presets for every channel and a score for every link

Pick the channel, paste the destination, name the campaign. Source and medium come out the way GA4 expects, click ids included.

Build a campaign URL

Pick the channel, paste the destination, name the campaign. The URL updates as you type.

Channel

The page the click should land on. Existing parameters are kept.

Where the traffic comes from: the site, platform or publisher.

The channel type GA4 groups by: cpc, paid-social, email, social, referral.

The campaign, promotion or piece of content.

Which ad, link or creative inside the campaign.

The keyword or audience, for paid search and paid social.

Naming rules

Case

Spaces become

Runs in your browser. Nothing you type is sent or stored.

What UTM parameters are and which ones matter

UTM parameters are five query string tags that tell an analytics tool where a visit came from. utm_source is the referrer (google, facebook, newsletter), utm_medium the channel type (cpc, paid-social, email, organic), utm_campaign the campaign or promotion, utm_content the ad or link inside it, and utm_term the keyword or audience. GA4 reads the first three to build its channel groupings; most attribution tools read all five. The name comes from Urchin Tracking Module, the software Google bought in 2005 to become Google Analytics, and the format has not changed since.

Source and medium are the two that break reporting when they are wrong. GA4 only files a session under Paid Social or Email if utm_medium is one of the values it recognises; "paidsocial" without the hyphen, or "Facebook Ads" as a medium, lands in Unassigned. The builder's presets carry the recognised values, and the score warns when a medium is not one of them.

Naming conventions that survive a year

UTMs are case sensitive and space sensitive. "Spring_Launch" and "spring_launch" are two campaigns in every report, and "spring launch" becomes "spring%20launch". The builder forces lowercase and replaces spaces by default, and the score flags any value that still carries uppercase or a space. Beyond that, three rules keep a year of links readable.

  • One vocabulary for source and medium, written down, used by everyone. The presets here are a reasonable default; the point is that there is exactly one.
  • Structured campaign names: market, objective, period, in a fixed order, e.g. de_leadgen_2026q4. Sortable in any tool, no ambiguity in a spreadsheet.
  • Content for the creative, term for the audience, consistently. Then utm_content answers "which ad" and utm_term answers "who saw it" for every channel.

What the paid platforms can fill in for you

Meta, Google, LinkedIn, TikTok and Microsoft each replace macros in the URL at click time: {{campaign.name}} and {{ad.id}} on Meta, {campaignid} and {keyword} on Google, {{CAMPAIGN_ID}} on LinkedIn. Use them in utm_campaign and utm_content and you tag every ad in the account once, with names that stay in sync when someone renames a campaign. The presets suggest the right macros in the placeholders.

The click-ID template goes a step further. It appends the platform's numeric campaign, ad set and ad ids as lj_ parameters, which is what LeadJourney reads to attribute a lead to the exact ad, and which any system that reads a query string can use. Ids do not change when names do, so the attribution keeps working after the account is reorganised. Where to paste it in each ads manager is shown when you switch it on.

Why this matters more than the link itself: UTMs describe a session. The moment the visitor submits a form, the CRM record has a name and an email and none of these parameters, unless something reads them from the URL and writes them onto the lead. That is the job LeadJourney does, and the link you build here is the first half of it.

FAQ

UTM parameters, answered

The questions that come up when a team standardises its campaign links.

What are UTM parameters?

Five tags added to a URL's query string so analytics tools know where a visit came from: utm_source (the referrer), utm_medium (the channel type), utm_campaign (the campaign), utm_content (the ad or link) and utm_term (the keyword or audience). GA4 also reads utm_id, utm_source_platform, utm_creative_format and utm_marketing_tactic.

Which UTM parameters are required?

utm_source and utm_medium, always; without them GA4 files the session under Unassigned or Direct. utm_campaign is strongly recommended. utm_content and utm_term are optional and useful for paid channels.

What should utm_medium be for Facebook ads?

paid-social, with the hyphen, which GA4 recognises as Paid Social. "cpc" also works and files under Paid Search-like groupings depending on the source; "social" alone is treated as organic social. Use paid-social for every paid social platform and social for organic posts.

Do UTMs work with Google Ads auto-tagging?

Yes. Auto-tagging adds the gclid, which Google Ads and GA4 use for their own attribution; UTMs sit alongside it and give GA4 and third-party tools the source, medium and campaign in plain text. Never type a gclid into a URL by hand.

Should I use UTMs on internal links?

No. A UTM on a link from one page of your site to another starts a new session with a new source and destroys the original attribution. UTMs are for links that arrive from outside: ads, emails, social posts, partner sites, QR codes.

What is the lj_ click-ID template?

A set of parameters (lj_channel, lj_c_id, lj_as_id, lj_ad_id, lj_placement) filled by the ad platform's own macros with the numeric campaign, ad set and ad ids. LeadJourney reads them to attribute each lead to the exact ad; any tool that reads a query string can use them too. Ids survive renames, names do not.

Why does my CRM not show the UTM values?

Because the form sent the visitor's name and email and nothing about the session. The UTMs were on the page URL, not in the form. Either hidden fields on the form capture them, or a tracking layer like LeadJourney reads them server side and writes source, campaign and ad onto the lead record.

UTMs to the CRM

Put the campaign on every lead, not just every session

LeadJourney reads UTMs and platform click ids server side and writes source, campaign and ad onto every lead in your CRM, so the link you built follows the deal to closed-won. Book a demo on your own forms.

LeadJourney dashboard showing lead sources, campaign performance and attributed revenue side by side