Build a tagged campaign URL.
Fill in the destination and at least a source, medium, and campaign. The builder appends tags to an existing query string instead of clobbering it, keeps any anchor at the end of the URL where it belongs, and encodes characters that would otherwise break the link.
What this link will report
Built locally in your browser. Nothing is uploaded, logged, or saved.
What each tag actually reports.
Five parameters, three of which do the real work. Understanding which question each one answers is what stops a reporting table from turning into a pile of near-duplicate rows.
| Parameter | Answers | Example | Needed? |
|---|---|---|---|
| utm_source | Which specific property sent the visit? | Required in practice | |
| utm_medium | What kind of channel was it? | socialAlso: email, cpc, referral. | Required in practice |
| utm_campaign | Which initiative does this belong to? | 2026-q3-launch | Required in practice |
| utm_term | Which keyword was bought? | marketing+automation | Paid search only |
| utm_content | Which creative or placement was it? | hero-cta | Optional, useful for tests |
| utm_id | Which ad-platform record does this join to? | mm-4471 | Only if your tool uses it |
Source is a name, medium is a category. Mixing the two is how one campaign quietly becomes six rows in a report.
A convention beats a clever taxonomy.
UTM data degrades through inconsistency, not through wrong choices. Any scheme works if everyone uses the same one; the best scheme fails if half the team improvises.
- 1Lowercase everything
Analytics tools treat Email and email as different sources. Pick lowercase and never deviate.
- 2Hyphens, not spaces
A space becomes %20 or a plus sign depending on the tool, producing two versions of one campaign.
- 3Keep medium to a short list
Email, social, cpc, referral, affiliate. If your medium list is growing, those values probably belong in source or content.
- 4Date the campaign
Prefixing with a period like 2026-q3 makes campaigns sortable and stops last year's name being reused.
- 5Never tag internal links
An internal UTM restarts the session and overwrites the source that genuinely earned the visit.
- 6Write it down
One shared document of allowed values is worth more than any naming theory.
Four mistakes that corrupt the report.
Each of these produces data that looks fine until someone tries to make a decision with it. They are worth checking before a link is distributed, because a tagged link cannot be recalled once it is in someone's inbox.
Inconsistent casing
One person writes LinkedIn, another writes linkedin. The report shows two sources with half the traffic each, and the channel looks weaker than it is.
Tagging internal links
A UTM on a link between your own pages starts a fresh attribution session. The newsletter that actually earned the signup is replaced by an internal navigation click.
Anchors in the wrong place
Appending parameters after a #anchor puts them in the fragment, where the server and most analytics tools never see them. The tags are simply lost.
Personal data in tags
Email addresses or customer IDs in utm_content end up in analytics reports, referrer headers, and server logs. Use an opaque identifier instead.
Before you distribute a tagged link
- Open it: Does the URL still load the page you intended, anchor included?
- Read it: Is every value lowercase and hyphenated, with no stray spaces?
- Check the medium: Is it a category from your agreed list, not a second copy of the source?
- Check the scope: Is this an inbound link from a channel you do not own?
- Check for people: Is there anything in the tags that identifies an individual?
Tagging is the last step of distribution, not the first.
A tracked link only matters once something is actually being distributed across more than one channel. That is where the naming discipline pays off: the same campaign going to email, LinkedIn, X, and a newsletter needs one campaign name and four different sources, applied consistently, or the comparison between them is meaningless.
Every asset in the same push shares a single utm_campaign value.
Each destination gets its own source so channels can be compared.
Variant names in utm_content make A/B results legible.
The link a campaign points at should be decided before copy is written.
MarketMaster works the same way round: a campaign's destination is fixed as part of the brief, before any channel copy exists, and every generated asset carries that approved link. If you want the copy as well as the tracking, start from one source and repurpose it, then check the result against each platform's character limits.
UTM builder FAQ
What are UTM parameters?
UTM parameters are five optional tags appended to a URL's query string — source, medium, campaign, term, and content. Analytics tools read them from the landing URL to attribute a session to a specific campaign, channel, and creative instead of filing it under direct or referral traffic.
Which UTM parameters are required?
In practice: source, medium, and campaign. Analytics tools will accept a partial set, but most channel groupings key on medium, so a link without it lands in an unhelpful bucket. Term and content are optional.
Are UTM parameters case sensitive?
Yes. Most tools treat Email, email, and EMAIL as three separate sources, splitting one campaign across several rows. Normalising to lowercase before the link ships avoids it — the builder above does this by default.
Should I put UTM parameters on internal links?
No. Tagging a link between two of your own pages starts a new attribution session and overwrites the original source, so the campaign that earned the visit loses credit for it. Reserve UTM tags for inbound links from channels you do not control.
Does this builder send my URLs anywhere?
No. It is a static page, and the link is assembled locally in your browser. No URL, campaign name, or keystroke is transmitted, logged, or stored.
The link is easy. The campaign around it is the work.
MarketMaster turns one source into reviewed email, social, carousel, newsletter, and short-video assets — all pointing at the destination you approved, all checked before you publish.