Medium dimension: the channel-type half of origin
Medium is the dimension that records the general category of how a visit arrived: organic, cpc, referral, email, affiliate, and so on. It is the channel-type half of source/medium. In GA4 and earlier tools it is set by the utm_medium parameter or inferred from the referrer, and it feeds channel grouping. The distinction between an empty medium, 'none', and '(not set)' trips up many reports.
What this means
Medium answers 'what type of channel was this?' — not the specific site. Where source might be 'google', medium is 'organic' or 'cpc'. GA4 documents reserved medium values (organic, referral, email, affiliate, cpc, and the like) that drive its default channel grouping.
A medium of '(none)' is reserved for direct traffic, paired with source '(direct)'. An empty or misspelled medium is a tagging error, not a channel.
How it is derived and where it breaks
utm_medium sets medium explicitly. Without it, the tool infers medium from the referrer: a known search engine yields 'organic', another website yields 'referral'. Because channel grouping matches medium against an expected vocabulary, a non-standard spelling (e.g. 'ppc' instead of 'cpc') can route a visit into Unassigned.
That is why campaign hygiene matters: the medium you write is the medium the channel report reads, character for character.
- utm_medium overrides the inferred medium
- '(none)' medium == direct traffic
- Non-standard medium spellings can land in Unassigned
How it appears in analytics and logs
A medium value is the tool's category for how a visit arrived. A medium of '(none)' means direct (no referrer, no tag); a medium like 'cpx' that does not match expected spellings can silently fall into 'Unassigned' channel grouping.
Diagnostic use case
Use medium to group traffic by channel type — paid vs organic vs referral — while remembering that medium spelling must match channel-grouping rules exactly.
What WebmasterID can help detect
WebmasterID parses utm_medium at ingest and maps it to channels, so paid, organic, and referral mediums separate cleanly without third-party cookies.
Common mistakes
- Inventing custom medium values that channel grouping cannot match.
- Confusing an empty medium with the literal '(none)' direct value.
- Assuming medium alone identifies the source site.
Privacy and accuracy notes
Medium comes from the utm_medium parameter or the referrer category, not from a person's identity. WebmasterID reads it first-party and never infers it from cross-site behavior.
Related pages
- Source dimension: the origin half of traffic attribution
Source is the dimension that names where a visit came from: a search engine (google), a referring domain, a named newsletter. It is the origin half of source/medium. Tools set source from the utm_source parameter or, lacking that, from the hostname of the referrer. When neither exists the source becomes '(direct)'. Source is high-cardinality, which has practical reporting consequences.
- Source / medium: the core traffic-origin dimension
Source/medium is the dimension that records where a visit came from (the source, e.g. google) and how it arrived (the medium, e.g. organic). It is derived from the referrer and UTM parameters, with rules that vary by tool. The big caveat: when neither is available, the visit lands in 'direct / (none)', which is a catch-all, not a channel.
- UTM parameters explained: the five tags and how to use them
UTM parameters are query-string tags you add to a link so analytics can attribute the visit to a campaign even when the referrer is missing. This page explains the five tags, a consistent naming convention, and the hard rule that UTM values are public — so they must never contain personal data or secrets.
- Campaign links
Build consistent utm_medium values for clean channel grouping.
Sources and verification notes
- Google Analytics Help — Default channel group definitionsLists the medium values GA4 matches when assigning channels.
Last reviewed 2026-06-24. Facts are checked against primary/official sources where available; uncertain specifics are marked “Data not yet verified” rather than guessed.