Demographics: age and gender dimension
The demographics dimensions — age band and gender — are inferred, not observed. GA4 estimates them from signals tied to a user's broader activity, only when the relevant data collection and consent are enabled, and applies data thresholds that suppress small groups to protect anonymity. They are frequently '(not set)', model-based rather than declared, and should be read as a coarse, consent-gated estimate.
What this means
GA4's demographics dimensions report an estimated age band (e.g. 25-34) and gender for users, derived from signals associated with broader account activity rather than anything the user typed on your site. They populate only when the relevant data collection (Google signals / advertising features) and consent are enabled.
Why they are sparse and sensitive
Two forces keep these dimensions thin. First, they depend on consent and on signals being available, so many users have no inferred value and show '(not set)'. Second, GA4 applies data thresholds: when a group is too small to be anonymous, the values are withheld. Because the attributes are sensitive and inferred, treat them as a coarse audience-shape estimate and review the privacy obligations that apply.
- Inferred estimates, not declared by the user
- Consent-gated and dependent on enabled signals
- Anonymity thresholds suppress small groups
How it appears in analytics and logs
A demographics value is an inferred estimate, gated by consent and thresholds. Sparse or '(not set)' demographics usually mean disabled signals, withheld consent, or anonymity thresholding — not a data error.
Diagnostic use case
Use age/gender as a directional audience-shape estimate where consent allows, never as declared facts about individuals, and expect heavy '(not set)' and thresholding.
What WebmasterID can help detect
WebmasterID does not infer sensitive demographics from fingerprinting; it focuses on consent-respecting, first-party signals and treats inferred demographic data as out of scope by default.
Common mistakes
- Reading inferred age/gender as declared facts.
- Assuming '(not set)' is a bug rather than consent/thresholding.
- Building targeting that treats inferences as identity.
Privacy and accuracy notes
Age and gender are sensitive inferred attributes; they are consent-gated and thresholded, and are never treated as identity. This is educational, not legal advice — confirm your obligations with counsel.
Related pages
- Country dimension (coarse, edge-derived)
The country dimension assigns each visit a country, derived by looking up the visitor's IP address in a geolocation database — often at the CDN edge. It is intentionally coarse: country-level, not address-level. VPNs, proxies, mobile carrier routing, and corporate egress can all place a visit in the wrong country, so it is a strong aggregate signal and a weak per-visit one.
- Language dimension
The language dimension records the visitor's preferred language — en-us, fr, de — as reported by their browser. It is read from the Accept-Language header or navigator.language, which reflect a software setting, not the user's location. Treating language as a proxy for country is the classic error: a French speaker in Canada and one in France can share a language but live in different markets.
- GDPR and web analytics: the practical picture
The GDPR governs processing of personal data of people in the EU. For analytics that means: identifiers and IP addresses can be personal data, consent is often required for cookie-based tracking, and minimisation matters. Cookieless, first-party, anonymised measurement reduces the surface — but this is a factual overview, not legal advice.
- Privacy-first analytics
Consent-respecting analytics without sensitive inference.
Sources and verification notes
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.