Build a campaign link that GA4 can read
Make trackable links for Google Analytics in seconds — and see which channel each one will actually land in before you send it. Free to use with a Webknown account, with a reusable history kept in your own browser.
Checking your session…
The five mistakes that lose your data
Inventing a medium
GA4 does no fuzzy matching. newsletter, fb-ad, whatsapp, qr, bio, partner and influencer match no rule at all, so the session lands in Unassigned. The default channel group is assigned when the session is collected and is never recalculated, so those sessions stay Unassigned in the standard reports for good. A custom channel group can re-bucket them retroactively — Google applies those rules to historical data, because the raw session source and medium were recorded all along — but only if you notice in time to build one. Stick to a medium the rules actually name.
Assuming cpc means Paid Search (it did in Universal Analytics)
In GA4 every paid channel except Paid Other and Display is source-gated: the medium has to match Google’s paid pattern AND the source has to be on one of Google’s managed category lists. google + cpc is Paid Search; myagency + cpc is Paid Other. Same medium, different channel, purely because of the source.
Leaving the medium off
Once GA4 sees any utm_ parameter it stops deriving the source and medium from the referrer. A link with utm_source and no utm_medium records the medium as (not set) — it does not fall back to Referral, it falls back to nothing.
Putting the parameters after the #
Everything after a # is fragment, never query. A link ending #pricing?utm_source=… sends GA4 exactly zero campaign data, and the anchor stops jumping to the section as well. This builder always writes the parameters before the #.
Tagging your own internal links
A UTM on a link from one page of your site to another starts a new session and overwrites the original acquisition source. It is the fastest way to destroy a month of attribution. Tag only the links that bring people in from outside.
How accurate is the channel prediction?
It follows Google’s published Default channel group rules and their evaluation order, including the source gate on the paid channels — but Google revises that page without notice, so treat every verdict here as a prediction worth checking rather than a guarantee. What we cannot mirror at all is Google’s spreadsheet of roughly a thousand search, social, video and shopping sources: it is revised on request with no version number and no changelog. We bundle a small, clearly-labelled subset captured in September 2026, say so whenever a verdict depends on it, and tell you plainly when a source is one we do not recognise rather than guessing. Google’s current list is here.
Do I need this for Google Ads?
No, and hand-tagging can make things worse. With auto-tagging on, Google Ads appends a gclid and GA4 uses that for channel assignment in preference to your utm_source and utm_medium — manual tags on top can break the cost and conversion join between the two products. Build links by hand for everything Google Ads is not already tracking: email, WhatsApp, Meta, print, partners.
Want campaign tracking set up properly?
Webknown sets up GA4, conversion tracking and a naming convention your whole team can follow, so the reports mean something six months from now. Leave your details for a free, no-obligation chat. The builder above stays free either way — the links you make here never leave your browser.
Questions people ask
What is a UTM link?
A UTM link is an ordinary web address with extra parameters on the end — utm_source, utm_medium and utm_campaign — that tell Google Analytics where a visitor came from. Without them, a click from a WhatsApp broadcast or an email newsletter usually arrives with no referrer at all and is reported as Direct traffic, indistinguishable from someone typing your address by hand.
Which UTM parameters do I actually need?
Google's guidance is to always use utm_source, utm_medium and utm_campaign. Only utm_source is strictly required for GA4 to record a campaign, but utm_medium is what the channel rules test, so a link without one usually ends up in Unassigned. utm_term, utm_content, utm_id and utm_source_platform are optional. GA4 also accepts utm_creative_format and utm_marketing_tactic, but Google states those are not reported anywhere in Analytics today.
Why does this tool tell me a link will land in Unassigned?
Unassigned is what GA4 uses when a session matches none of its channel rules. It is not a channel you choose — it is the failure state. It happens most often when the medium is invented (newsletter, fb-ads, qr, bio) or missing entirely. The default channel group is assigned when the session is collected and is never recalculated, so those sessions stay Unassigned in the standard reports. Two things soften that, and neither is automatic: you can still see where the traffic came from by adding the Session source and Session medium dimensions to the Traffic acquisition report, and a custom channel group can re-bucket the history retroactively, because the raw source and medium values were recorded all along. Both depend on you noticing. That is why this builder tells you before you send the link rather than after.
Why is utm_medium=cpc not always Paid Search?
Because GA4 is not Universal Analytics. In GA4 every paid channel except Paid Other and Display is source-gated: the medium must match Google's paid pattern AND the source must be on one of Google's managed source category lists. utm_source=google with utm_medium=cpc is Paid Search; utm_source=myagency with utm_medium=cpc is Paid Other. The medium alone does not decide it.
Should I use lowercase in my UTM links?
Yes, and for a concrete reason rather than superstition. GA4 matches channels case-insensitively, so Email, EMAIL and email all reach the Email channel. But GA4 stores and reports the value exactly as you sent it, so those three become three separate rows in Traffic acquisition and any exact-match audience or exploration filter built on one will miss the other two. Casing does not break the channel; it fragments the report. This builder always lowercases the source and medium, and leaves your campaign name's capitalisation alone unless you ask.
Where are my saved links stored?
Only in your own browser, using its local storage. Nothing is uploaded and we never see them. Because a destination URL you paste can carry a login token, an email address or an order number in its query string, treat the saved list as private to that device — and remember that a browser in private mode, or one with site data blocked, will not keep it at all. The builder itself works perfectly without storage.
Is the UTM link builder free, and do I need an account?
It is free, with no limit on the links you build — but the builder itself needs a Webknown account, so signing in is the one thing you have to do first. Creating one is free and takes a minute. Everything else on this page, including the channel rules and these answers, is readable without an account. Nothing you type into the builder is sent to a server either way: the link is assembled inside your browser and the saved list never leaves it. The one exception is the optional contact form at the bottom of the page, and only when you submit it.