Adding UTM parameters to a destination URL turns an ordinary web address into a trackable campaign link that appears in your analytics as a distinct traffic source. The five traditional UTM parameters — utm_source, utm_medium, utm_campaign, utm_term, and utm_content — are query-string tags appended to a complete http or https address, and they are the same fields described in Google Analytics manual-tagging guidance. Three of those fields are required for a useful campaign link: the source identifies where the click came from, the medium identifies the marketing channel, and the campaign identifies the specific promotion. Term and content are optional and are most useful when a team already follows a reporting convention that includes them. The UTM Link Builder manages exactly these five keys, trims accidental outer whitespace from your values, leaves blank optional fields out of the URL entirely, and preserves every other query parameter, the path, and the fragment of your destination.

What the Five UTM Parameters Track
Each of the five parameters answers a different question about a click. Source answers "where did this come from" — a search engine, a partner site, a newsletter name. Medium answers "what kind of channel is this" — typically a value such as email, cpc, social, or referral. Campaign answers "which promotion sent it" — a product launch, a seasonal sale, a content download. The optional term parameter is often used for paid keywords, while content is usually used to differentiate ad copy, link placement, or button color within the same campaign.
Why three required and not five? The source-medium-campaign trio is what most reporting dashboards actually break traffic down by, so a link missing any of those three produces ambiguous data. Term and content are refinements that some teams use to split a single campaign further — separating two ad headlines, for example — but they are not required to attribute a click to a campaign. The builder expects only source, medium, and name; everything else stays optional.
The table below summarizes how each parameter is used and whether the builder expects it.
| Parameter | Required by the builder | What it identifies |
|---|---|---|
| utm_source | Yes | Where the click came from (search engine, newsletter, partner) |
| utm_medium | Yes | The marketing channel (email, cpc, social, referral) |
| utm_campaign | Yes | The specific promotion or campaign |
| utm_term | No | Paid keyword or audience segment, when relevant |
| utm_content | No | Differentiation between creative variants or links |
The builder manages only these five keys. It does not add other GA4 campaign parameters or invent a taxonomy for you — the text you supply is the text that ends up in the link, after trimming accidental outer spaces.
Preparing a Valid Destination URL
Begin with the complete web address you actually want visitors to land on, including the protocol. A full URL looks like https://example.com/pricing, not just /pricing. The builder parses the address with the browser's URL API and accepts only absolute HTTP or HTTPS destinations that do not contain username or password credentials.
Relative paths, email-style mailto links, file-transfer addresses, and other non-web protocols are rejected because this tool is scoped to web campaign destinations. The same parser-driven approach means you should not paste signed or pre-signed URLs — the URL API can normalize query-string encoding in ways that invalidate the signature. Start from an ordinary destination URL instead.
If the page you want to tag already carries other query parameters — a click identifier such as gclid, a language switcher, a referral code such as ref=homepage, or anything else specific to your application — those parameters are part of the destination. Leave them in place. The builder keeps them, retains the path, and preserves any fragment that begins with a # character.
Adding UTM Tags to a Destination URL
Once you have a complete destination URL ready, the builder runs through three steps:
- Paste the complete http or https destination URL into the address field.
- Enter the campaign source, medium, and name. Add utm_term or utm_content only when your reporting convention calls for them — leaving a field blank keeps that parameter out of the final URL.
- Build the URL, review the preserved parameters and fragment shown in the result, then copy the finished link.
The result is a constructed campaign URL that you can paste into an ad creative, a newsletter, a social post, a partner placement, or a QR code. The tool does not transmit your destination URL or your campaign labels anywhere; the construction step happens locally in your browser.
Refreshing an Existing Campaign Link
You can paste an existing tagged URL back into the builder to update it. The builder deletes any old copies of the five UTM keys it owns — utm_source, utm_medium, utm_campaign, utm_term, and utm_content — and replaces them with the values you just entered. Every other query parameter, the path, and the fragment stay where they were.
This is useful when you want to fix a typo in a campaign label, change the medium for a set of links, or add utm_content after a campaign has already started reporting. Because the destination and any unrelated parameters are kept untouched, you do not need to rebuild the address by hand each time.
The same behavior applies to the URL fragment. If your landing page uses a fragment such as #pricing-table to deep-link to a section, that fragment survives the rebuild step. The output uses ordinary URL query encoding, so a campaign term that contains spaces will appear as a valid URL representation rather than a broken address.
Choosing Campaign Labels That Stay Consistent
A consistent naming policy is what turns UTM data into something you can actually compare across reports. A common convention is to use lowercase values, separate words with hyphens, and reserve source names for the place the click originated, while medium values stay short and channel-level — such as cpc, email, social, or referral. Campaign names are usually written as a short phrase that names the promotion, like spring-launch or ebook-2026.
The builder preserves the text you supply after trimming accidental outer whitespace. It does not invent a taxonomy, change case, or replace your labels with synonyms. That means whatever convention your team has already chosen is the one the link will use.
Avoid putting names, email addresses, phone numbers, account numbers, or other personal information into any UTM field. Query parameters can appear in browser history, referral logs, analytics systems, and shared links. Labels should describe the marketing placement, not the person.
Verifying the Link Before You Publish
The builder constructs a URL — it does not test your analytics installation. It does not check whether a Google Analytics property exists, whether auto-tagging is active, whether a redirect preserves the parameters, whether the destination page loads, or whether future traffic will appear in a particular report.
Open the finished link in your own browser to confirm that it reaches the intended page and that any fragment or unrelated parameter is still present. Then check that the five UTM values are exactly what you intended. If the link will be shortened for a print piece, scan code, or social bio, use a redirect or short-link service only after you have verified that it preserves the query string.
Some platforms run links through a redirect step — such as a link shortener, a tracking pixel, or a server-side redirect — before they reach the destination. The builder cannot see what happens after you paste the link; only what your own redirect chain preserves. Always confirm that the final hop carries the same query string you built.
For a repeatable workflow, keep a simple campaign record outside the link itself — a spreadsheet, a planning document, or a project board — that lists the source, medium, campaign, and the URL they apply to. That record is what lets you update a campaign later without guessing at the values you used.