Google Analytics attributes campaign traffic to a session when a destination URL carries utm_source, utm_medium, utm_campaign, utm_term, and utm_content, and the first three are required while the last two are optional. Manual tagging is the practice of writing those parameters into a link by hand so the destination URL reports as a campaign session instead of a generic referral or direct visit. Google Analytics Help documents utm_source, utm_medium, and utm_campaign as the core manual-tagging dimensions and groups utm_term and utm_content as additional fields a team can include when useful. Auto-tagging covers Google Ads clicks through a gclid value, and that gclid is converted server-side into the campaign fields. Every other paid or owned placement — newsletters, organic social, partner placements, influencer bios, podcast show notes, offline QR codes — has no automatic gclid, so the marketer must place utm_source, utm_medium, and utm_campaign into the destination URL by hand. Building that link correctly is the foundation of every traffic-source dimension that follows.

Why Google Analytics Reads Manual UTM Tags
When a visitor reaches a page through a tagged link, Google Analytics records the session under a traffic-source dimension called Manual Tag. The traffic-source report in GA splits that traffic into Source, Medium, and Campaign, plus optional Term and Content rows when the corresponding utm_ values are present. If those values are missing, the visit falls under Unassigned or Direct and disappears from the campaign view.
Manual tagging matters most when auto-tagging is not available. Google Ads auto-tags paid clicks through a gclid parameter, and that gclid is converted server-side into the campaign fields. Every other channel — email, organic social, partner placements, influencer links, offline QR codes, podcast show notes — has no automatic gclid, so the marketer must place utm_source, utm_medium, and utm_campaign into the destination URL by hand.
The five UTM parameters Google Analytics reads are also the five parameters the UTM Link Builder manages. Nothing else is added or replaced, and the link continues to behave as an ordinary absolute URL.
The Five UTM Parameters Google Analytics Reads
Google Analytics Help groups the manual-tagging parameters into a fixed list. Each value feeds a specific report dimension, and each value should describe a placement rather than a person.
| Parameter | GA dimension | Required | Typical value |
|---|---|---|---|
| utm_source | Source | Yes | google, newsletter, partner-x |
| utm_medium | Medium | Yes | cpc, email, social, qr |
| utm_campaign | Campaign | Yes | spring-launch, march-promo |
| utm_term | Term | Optional | running+shoes |
| utm_content | Content | Optional | hero-cta, footer-link |
utm_source answers where the click came from, utm_medium answers what kind of channel, and utm_campaign answers which initiative. utm_term is reserved for paid keyword reports in older Universal Analytics workflows, and utm_content is used to split a single campaign into creative variants such as a header button versus a footer link.
Build a Google Analytics Campaign URL
Building a tagged URL for Google Analytics means writing the five UTM keys onto an existing destination page. A local UTM Link Builder handles the URL parsing, replaces only the five managed keys, and keeps every other parameter, the path, and the fragment untouched.
- Paste the complete http or https destination URL — for example https://example.com/pricing — into the destination field. Relative paths, mailto links, and other protocols are rejected because the result must be an absolute web destination.
- Enter campaign source, medium, and name. These three are required so a generated link is never missing a core manual-campaign field. utm_source names the referring site or platform, utm_medium names the channel type, and utm_campaign names the initiative.
- Add utm_term and utm_content only when the campaign needs them. utm_term is useful for paid keyword reports, and utm_content is useful for splitting a single email or page into creative variants. When either field is blank, the tool leaves that parameter out instead of appending an empty value, which keeps the link shorter and reduces accidental reporting variations.
- Build the URL and review the output. Existing query parameters such as ref=homepage or gclid, the URL path, and any #fragment remain in place. Only the five managed UTM keys are removed and replaced, so there is no risk of a duplicate utm_source sitting next to a fresh utm_source on the same link.
- Copy the constructed URL for the ad, newsletter, social post, partner placement, or QR code. Paste it into the destination field and the campaign code will fire when a visitor reaches the page.
The builder runs entirely in the browser. The destination URL and the campaign labels stay on the device and are not transmitted to a server, which is helpful when a campaign link includes a sensitive path or an internal-only page.
Replace Tags on a Link That Already Has UTMs
Campaigns change. A link created for a January newsletter often needs to be updated for a February offer without rebuilding the destination URL from scratch. Pasting an existing tagged URL into the builder replaces only the five managed keys and keeps the destination address intact.
For example, a link that already reads https://example.com/pricing?ref=homepage&utm;_source=newsletter&utm;_medium=email&utm;_campaign=january-sale can be pasted back into the destination field when the promotion changes. After the source, medium, and campaign fields are updated, the builder produces a link with the same ref=homepage and the same path, plus the new utm_source, utm_medium, and utm_campaign values. The old utm values are removed, so the new link reports under the new campaign name in GA instead of carrying duplicate utm_source entries.
The same workflow handles a URL with gclid, a language switcher, a session token, or any other application-specific value. Those parameters are unrelated to the five managed keys and remain in place, which is the same approach covered in how to create UTM links without breaking existing tags.
Naming Labels Your GA Reports Can Group
Manual tagging only works as a reporting tool when the labels are consistent. Google Analytics groups sessions by exact string match, so a single campaign reported as Spring-Launch in one link and spring_launch in another will appear as two separate rows. The builder does not invent a taxonomy or change case — it preserves the text entered after trimming accidental outer spaces.
A workable convention looks like this:
- Source — the platform or partner: google, newsletter, partner-x, instagram.
- Medium — the channel type: cpc, email, social, qr, affiliate.
- Campaign — the initiative name in lowercase-hyphenated form: spring-launch, march-promo.
- Term — paid keywords, when the medium is cpc.
- Content — the creative variant: hero-cta, footer-link, version-b.
Query parameters can appear in browser history, referral logs, analytics systems, and shared links, so campaign labels should describe the marketing placement rather than a person. Names, email addresses, phone numbers, and account numbers have no business in a UTM field.
Limits and What the Tool Will Not Do
The builder is intentionally narrow. It manages the five traditional UTM keys and nothing else — there is no support for additional GA4 campaign parameters beyond the five documented in Google Analytics Help. The result is a constructed URL, not a validation of the 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 be attributed to a particular report.
Signed or pre-signed URLs should not be processed, because the browser URL API normalizes query encoding and that normalization can invalidate a signature. Start from an ordinary destination URL instead. Test any important campaign link in a real browser and against the live GA reporting view before publishing it.
For a short public-facing URL, a trusted redirect or short-link service can be used, but only after verifying that the service preserves the full query string. A short link that drops utm_source will break the campaign report entirely.