Build UTM-tagged campaign URLs for Google Analytics, GA4 and any analytics platform. Live preview, presets for Google Ads, Facebook, LinkedIn, Newsletter, Twitter/X. Free.

RT-SEO-010 · SEO & Marketing
Your browser is too old for this tool’s interactive features. Please update to Safari 13.1, Chrome or Edge 80, Firefox 74 or newer.

UTM Builder Tool

What is UTM? UTM parameters are query-string tags appended to a URL that tell analytics platforms which campaign brought a visitor to your site. They're the standard for tracking paid ads, social posts, email campaigns, and partner links.
Preset:
Generated URL
Fill in the required fields above to generate your URL.
💡 Pair with our URL Shortener — coming soon
Advertisement
After results · AD-W1 Responsive · Post-tool — peak engagement

How to Use the UTM Builder

1

Paste your destination URL

The page you want visitors to land on after clicking your campaign link.

2

Pick a preset or fill in fields

Click a channel preset to prefill source and medium, then add the campaign name.

3

Copy and use the tagged URL

The generated URL updates live. Click Copy to grab it, then use it anywhere — emails, ads, social posts.

4

Track in your analytics

Visitors arriving via this link will be attributed to the source and campaign you specified.

About UTM Parameters

UTM parameters are query-string tags that analytics platforms read to attribute a visit to a campaign. The abbreviation stands for Urchin Tracking Module: Urchin Software was the San Diego web-analytics company Google agreed to acquire on 28 March 2005, and its product became Google Analytics. The tags outlived the product. Google Analytics 4, Adobe Analytics, Matomo and Plausible all read the same parameter names, so a link tagged once is attributed everywhere.

Google's GA4 documentation lists nine parameters. Five are the classic set: utm_source (the referrer — google, newsletter, partner-name), utm_medium (the marketing medium — cpc, email, social), utm_campaign (the campaign, promotion or slogan), utm_term (the paid keyword) and utm_content (which creative or call-to-action was clicked). GA4 added utm_id (a campaign ID for linking to cost data), utm_source_platform (the buying platform, e.g. Google Ads or DV360) and two more, utm_creative_format and utm_marketing_tactic, that GA4 accepts but does not yet report. Google's guidance is that every tagged URL should carry utm_source, utm_medium and utm_campaign, and that utm_id and utm_source_platform are strongly recommended for paid media. This builder exposes the six that report in GA4 today.

How the builder encodes your values

The generated URL is assembled with the browser's own URL parser, so it follows the WHATWG URL Standard rather than hand-rolled string concatenation. Existing query parameters on your destination URL are preserved, and a UTM key that already exists is overwritten rather than duplicated. Values are serialised in the application/x-www-form-urlencoded form: a space becomes +, and characters outside letters, digits and * - . _ are percent-encoded as RFC 3986 §2.1 describes — so a literal plus sign you type becomes %2B, and an ampersand becomes %26 instead of splitting your parameter in two. The value that reaches your analytics platform is the value you typed.

Naming conventions that survive contact with reality

GA4 states that parameter values are case-sensitive: utm_source=Google and utm_source=google are two different sources in every report. The single most common UTM defect is therefore inconsistency — Facebook, facebook and FB split one channel into three rows. Pick all-lowercase, hyphen-separated values and write them down where the whole team can see them. For utm_medium, choose values GA4's default channel grouping already recognises: a medium of email lands in Email; social, social-network, social-media or sm land in Organic Social; cpc, ppc, retargeting or anything beginning paid land in the Paid channels; display, banner, interstitial and cpm land in Display; affiliate in Affiliates; referral, app or link in Referral. A medium outside those rules is still recorded, but it falls into Unassigned. For utm_campaign, a fixed shape such as region-product-quarter-year (sg-pro-q1-2026) keeps reports sortable a year later.

UTMs in the ASEAN context

Singapore and Malaysian campaigns tend to run across more surfaces than a single-market Western campaign — Meta, TikTok, Lazada and Shopee in-app placements, Carousell promoted listings, LINE for Thailand, plus local affiliate networks — and without consistent tagging there is no way to tell which of them converted. The presets above set utm_source and utm_medium for the five most common channels; the Facebook, LinkedIn and X presets use social, which GA4 classifies as Organic Social — change the medium to paid-social when the post is a paid placement. Everything is built in your browser: no campaign name, destination or keyword is sent anywhere, which matters for an unannounced launch.

A note on privacy. A UTM value describes a campaign, not a person, so tagging alone does not create personal data under the EU GDPR or Singapore's Personal Data Protection Act. The moment a URL carries an identifier for an individual — a user ID, an email address, a session token — it does, and the whole link is then subject to those laws. Keep campaign data at the campaign level and never put a person in a query string.

Urchin, and why capitalisation splits your traffic in two

01

UTM stands for Urchin Tracking Module. Google announced its agreement to acquire Urchin Software Corporation of San Diego on 28 March 2005; the product became Google Analytics and the parameter names stayed.

02

Capitalisation matters. "Facebook" and "facebook" become two separate sources in GA4. Single most common UTM bug. Pick lowercase and document the convention.

03

Three you should always set. GA4's documentation says every tagged URL should carry utm_source, utm_medium and utm_campaign; the builder will not produce a URL without them. Term, content and ID are optional.

04

Google Ads tags itself. Auto-tagging appends a gclid, which Analytics uses to derive source, medium and campaign. Google recommends auto-tagging over manual UTMs; if you add both, the UTM values win only when the manual-tagging override is switched on in Analytics.

05

GA4 documents nine parameters, not five. Besides the classic set it accepts utm_id, utm_source_platform, utm_creative_format and utm_marketing_tactic — the last two are collected but not yet reported.

06

A space becomes + here, not %20. The builder uses the browser's URL parser, which serialises the query in form-encoded style (WHATWG URL Standard): space → +, a typed plus → %2B, an ampersand → %26. Both forms decode to the same value in analytics.

07

Test the link where it will be clicked. Corporate mail gateways and link-safety proxies rewrite URLs before delivery and can alter the query string. Send a test to the client your audience actually uses and check the landing URL, not just the redirect.

08

Attribution is a lookback window, not a six-month cookie. GA4 credits key events to touchpoints within 90 days by default (30 or 60 selectable), and acquisition events first_open/first_visit within 30 days (or 7). That is why a campaign can keep converting weeks after it ends.

09

The medium taxonomy is GA4's, not a standards body's. GA4's default channel group matches utm_medium against fixed rules — email; social/sm; cpc/ppc/paid*; display/banner/cpm; affiliate; referral. Anything else is Unassigned.

10

Privacy boundary: campaign data only. Under GDPR + Singapore's PDPA, UTM data is generally not personal because it describes campaigns. Append a user ID to the URL and it becomes personal data — never do that.

📅 Research current as of 16 Sep 2026 · Sources: Google Analytics Help — URL builders: collect campaign data with custom URLs; default channel group definitions; attribution settings (lookback windows). Encoding per RFC 3986 §2.1 and the WHATWG URL Standard. Built in-browser; no external data.
Standards, published formulas, and reference data are revised over time — check against a current authoritative source before relying on these figures.

Frequently Asked Questions

  • UTM parameters are query-string tags appended to a URL — for example ?utm_source=newsletter&utm_medium=email&utm_campaign=q1-launch — that pass campaign attribution data to analytics platforms like Google Analytics 4, Adobe Analytics, Matomo, and Plausible. They tell your analytics where a click came from, what channel category it belongs to, and which campaign it was part of.
  • GA4's documentation says to always use utm_source, utm_medium and utm_campaign, and this builder will not generate a URL until all three are filled. utm_term (paid keyword), utm_content (creative variant) and utm_id (campaign ID) are optional. GA4 also accepts utm_source_platform, utm_creative_format and utm_marketing_tactic, which this builder does not expose; append them by hand if your reporting uses them.
  • Yes — "Facebook" and "facebook" register as two separate sources, fragmenting your data and making channel comparisons impossible. This is the most common UTM bug in practice. Standardise on all-lowercase across your team and document the convention in a shared spreadsheet so everyone uses the same values.
  • No. Everything runs locally in your browser. We don't log inputs, store them, or send analytics on what you build. Verifiable in DevTools — only the static asset bundle loads, nothing else. Safe for confidential internal campaigns and competitive launches you don't want exposed.
  • Short enough to read in a report column, and always in the same shape. A common convention is region-product-quarter-year (e.g. sg-pro-q1-2026) — sortable, parseable, and instantly meaningful six months later. Avoid spaces (they are encoded as +) and avoid capitals, because GA4 treats Q1-Launch and q1-launch as two campaigns.
  • Use paid-social or cpc: GA4's default channel group sends a social-site source with a medium matching cpc, ppc, retargeting or paid* to Paid Social. Reserve social, social-media or sm for unpaid posts, which GA4 files under Organic Social. Note the Facebook preset on this page sets social — change it for paid placements.
  • They shouldn't, but they can if mishandled. Google treats UTM-tagged URLs as parameter variants of the same canonical URL. As long as you have a proper <link rel="canonical"> tag on the page (pointing to the URL without UTM parameters), search engines will consolidate them. Without canonical tags, you can fragment your SEO equity across hundreds of UTM-tagged duplicates.
  • It depends on the lookback window in your property's attribution settings, not on a cookie lifetime. GA4's default is 90 days for key events (30 or 60 days can be chosen) and 30 days for the acquisition events first_open and first_visit (7 days optional). A tagged click inside that window can receive credit for a later conversion, which is why a campaign that ended weeks ago still appears in conversion reports.
  • Usually not. Google recommends auto-tagging, which appends a gclid that Analytics resolves to source, medium, campaign and the Google Ads cost data. If you also add UTMs, Analytics ignores them unless the manual-tagging override setting is enabled — and when it is, clicks, impressions and cost are reported against the auto-tagged values, not your UTM values. Reserve manual UTMs for platforms that have no auto-tagging.
  • UTM parameters themselves are generally not personal data — they describe campaigns, not people, and don't identify individual users. But the moment you append a personal identifier (user ID, email address, session token) to a URL, that URL becomes personal data and falls under the GDPR (EU), Singapore's Personal Data Protection Act 2012 or Malaysia's separate Personal Data Protection Act 2010, depending on where you and your users are. Best practice: keep UTM data at the campaign level only.
Advertisement
After how-to · AD-W2 Responsive

Method & sources

How it computes

Appends the six UTM parameters GA4 reports (utm_source, utm_medium, utm_campaign, utm_term, utm_content, utm_id) to a destination URL using the browser's URL/URLSearchParams API: existing query parameters are preserved, existing UTM keys overwritten, and values serialised in application/x-www-form-urlencoded form (space → +, other reserved characters percent-encoded per RFC 3986 §2.1).

What this tool implements

  • Parameter names and the always-set trio (source, medium, campaign) per Google Analytics Help, 'URL builders: Collect campaign data with custom URLs' — which also documents utm_id, utm_source_platform, utm_creative_format and utm_marketing_tactic; the builder exposes the six that report in GA4 today.
  • Query encoding per RFC 3986 §2.1 (percent-encoding) and §3.4 (query component); serialisation per the WHATWG URL Standard application/x-www-form-urlencoded serializer (space → U+002B; unreserved set = ASCII alphanumerics * - . _), which is what URLSearchParams implements.
  • Medium recommendations follow GA4's default channel group rules (email; social/sm → Organic Social; cpc/ppc/retargeting/paid* → Paid; display/banner/interstitial/cpm → Display; affiliate; referral/app/link) — not an IAB taxonomy, which the page previously claimed.
  • Attribution duration stated as GA4 lookback windows (90-day default for key events, 30/60 optional; 30-day default for first_open/first_visit, 7 optional), not as a cookie lifetime.
  • A URL is produced only when utm_source, utm_medium and utm_campaign are all present, as Google's GA4 documentation requires.

Sources

What can make this go out of date

  • GA4 documentation — the parameter list (nine as of September 2026, two 'not currently reported') and the default channel-group rules are Google-maintained and can change without notice; nothing is fetched at runtime
Advertisement
Pre-footer · AD-W3 728 × 90