Skip to main content

UTM Builder — Campaign URL Generator

Add campaign parameters to any URL and copy the finished link. Values are percent-encoded correctly, parameters already on the URL are kept, and one-click presets fill the source/medium pairs analytics tools expect.

Presets

Campaign URL

Enter a valid URL and at least one UTM parameter to build the campaign link.

Design the campaign creative in Moda

You have the tracking link — make the ad, social post, or email banner it belongs to.

Try Moda free →

What each UTM parameter is for

utm_source names where traffic comes from (google, newsletter, linkedin), utm_medium names the channel type (cpc, email, social), and utm_campaign names the specific push (spring_sale, launch_week). utm_term and utm_content are optional refinements: term traditionally holds the paid keyword, and content tells two variants apart — two ads, or a header versus footer link in the same email. Source, medium, and campaign are the three that analytics tools use to group traffic; fill those in every time and the optional two only when you need the distinction.

Why casing and consistency matter

Analytics platforms treat UTM values as case-sensitive opaque strings: “Email”, “email”, and “E-mail” become three separate rows in your reports, silently splitting one campaign’s numbers three ways. The fix is a convention, and lowercase-with-underscores is the common one. This builder flags uppercase values but never rewrites them — if your team’s existing reports use a different convention, matching it beats switching mid-stream.

Encoding, existing parameters, and fragments

Spaces and special characters in values are percent-encoded (a space becomes %20), so links with multi-word campaign names survive email clients and chat apps without breaking. If the URL you paste already carries query parameters — a product page with ?variant=blue — they stay in place and the UTM parameters are appended after them. A #fragment stays at the very end, where browsers require it. Re-tagging a URL that already has UTM values replaces them instead of stacking duplicates.

Where GA4 looks for these values

GA4 reads utm_source and utm_medium into its session and first-touch attribution dimensions and maps common pairs onto default channel groups: google/cpc lands in Paid Search, newsletter/email in Email, facebook/paid_social in Paid Social. Using the conventional pairs — the ones the presets fill — means your traffic lands in the right report without custom channel definitions. Invented medium names fall into “Unassigned”, which is the report equivalent of a shrug.

Frequently asked questions

Do UTM parameters affect SEO or page loading?

They don’t change how the page renders, and search engines treat them as ordinary query parameters. The one SEO caution: if tagged URLs get shared and indexed they can look like duplicate pages, which a canonical tag pointing at the clean URL resolves. Never UTM-tag internal links on your own site — that overwrites the visitor’s real traffic source in analytics.

Which parameters are required?

Convention treats source, medium, and campaign as the required trio — GA4 attribution works from source and medium, and campaign is what makes reporting useful. Term and content are optional refinements. Technically a URL with only one UTM parameter still works; it’s just harder to report on.

Why did my campaign show up twice in analytics?

Almost always inconsistent values: “Email” and “email”, or “facebook” and “Facebook.com”, count as different sources. Pick one casing convention (lowercase is standard) and one spelling per source, and reuse them exactly. The builder warns on uppercase for this reason.

What happens to parameters already on my URL?

They’re preserved untouched. A URL like example.com/shop?ref=abc keeps ref=abc, and the UTM parameters are appended after it. If the URL already had a utm_ parameter you’re now setting, the old value is replaced rather than duplicated — two utm_source values in one URL is undefined behavior in most analytics tools.

Can I use UTM links in QR codes or offline campaigns?

Yes — it’s the standard way to make print, packaging, and event traffic measurable. Tag the URL here (e.g. utm_source=event, utm_medium=qr), then drop the finished link into a QR code generator. Every scan then reports as that campaign instead of vanishing into direct traffic.

Related tools

← All tools