Web analytics dimensions reference: how traffic is sliced
A reference to the dimensions analytics uses to slice traffic. Each page explains what a dimension is, how it is derived, how it interacts with metrics, and the caveats that trip people up when segmenting — privacy-safe, no invented data.
122 dimensions documented · part of the Web Crawler & Traffic Intelligence Encyclopedia.
- 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.
- Device category: desktop, mobile, tablet
Device category groups visits into desktop, mobile, or tablet. It is derived from the user-agent string (increasingly, User-Agent Client Hints), so it is a classification, not a hardware fact. Tablets, desktop-mode mobile browsers, and foldables blur the boundaries, and the user agent can be spoofed.
- Default channel grouping
Default channel grouping is a derived dimension that maps each visit's source, medium, and campaign onto a fixed set of channels — Organic Search, Paid Search, Direct, Email, Referral, and more. GA4 applies an ordered set of rules at query time, so a visit only gets a channel if it matches the rule's source/medium pattern. Misclassification almost always traces back to untagged or mistagged campaigns.
- Landing page dimension
The landing page dimension records the first page a visitor saw in a session — the entry point. GA4 derives it from the page_path (and optional query string) of the session's first page_view event. It is a session-scoped dimension, so pairing it with hit-scoped metrics, or ignoring how query parameters split the same page, are the usual ways it misleads.
- Browser dimension and its limits
The browser dimension records which browser a visit used — Chrome, Safari, Firefox, Edge, and so on. It is parsed from the user-agent string (and increasingly User-Agent Client Hints), so it is a classification, not a fact reported by the device. UA freezing, Chromium-based browsers sharing tokens, and in-app webviews are why this dimension is fuzzier than it looks.
- 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.
- Campaign dimension
The campaign dimension labels a visit with the marketing campaign that drove it. It is populated from the utm_campaign parameter on a tagged link, or auto-tagged by an ad platform's own click ID. Any visit without a campaign tag — most organic, direct, and untagged referral traffic — shows '(not set)', which is the absence of a campaign rather than a campaign named '(not set)'.
- Content grouping
Content grouping is a custom dimension that classifies pages into editorial groups — Blog, Product, Docs — so you can report by content type instead of one URL at a time. In GA4 it is populated by sending a content_group parameter on the page_view event. Because it is event-scoped and only as good as the values you send, untagged pages fall into '(not set)' and inconsistent naming fragments the report.
- Operating system dimension
The operating system dimension records the platform a visit ran on: Windows, macOS, iOS, Android, Linux, ChromeOS. It is parsed from the user-agent string (and the sec-ch-ua-platform Client Hint), making it a classification rather than a reported fact. Frozen OS versions, iPadOS reporting as macOS, and webviews are the usual reasons it does not perfectly match reality.
- Page path dimension
The page path dimension is the path portion of a viewed URL — /blog/post — excluding the hostname and, by configuration, the query string. GA4 derives it from the page_location of each page_view. It is hit-scoped, so it counts every view of a page, and the most common pitfall is query strings (utm_*, session IDs) fragmenting one logical page into many distinct paths.
- Page title dimension
The page title dimension records the document title (the <title> text) of each viewed page. GA4 captures it from the page_view event. It is convenient for human-readable reports, but titles are editable and dynamic: the same URL can carry different titles over time or across A/B tests, splitting one page into several title rows and making path a more stable key.
- Session source dimension
The session source dimension attributes a whole session to a single origin — google, a newsletter, a domain — fixed when the session begins. GA4 derives it from the campaign tags or referrer present at session start. It differs from the event-scoped source (which can vary within a session) and from first-user source (the very first acquisition), so mixing the three is a frequent attribution error.
- First user source dimension
The first user source dimension records the origin of a user's very first session — their acquisition source — and keeps it fixed for the user's lifetime. GA4 sets it from the referrer or campaign on the first visit. It is user-scoped, so it answers 'how did we acquire this person?' rather than 'where did this visit come from?', and confusing it with session source distorts attribution.
- Event name dimension
In GA4's event-based model every interaction is an event, and the event name dimension is the label that identifies it — page_view, scroll, click, or a custom name. Reports group by event name, so consistent, well-chosen names are the backbone of analysis. Reserved and automatically collected names, plus naming drift across implementations, are the main things that complicate it.
- Hostname dimension
The hostname dimension records the domain that served each page_view — example.com, staging.example.com, or a domain you do not own. It comes from the host portion of the page_location URL. It is one of the most useful data-quality filters: unexpected hostnames reveal staging traffic, mis-deployed tags, or hits faked by referrer/measurement spam against your property.
- 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.
- Screen resolution dimension
The screen resolution dimension records the visitor's screen dimensions in pixels, read from the browser's screen API. It helps with responsive-design decisions, but it is coarser and more privacy-sensitive than it appears: device pixel ratio means CSS pixels differ from device pixels, common resolutions cluster heavily, and fine-grained screen metrics are a known fingerprinting input — so coarse buckets are the privacy-safe approach.
- New vs returning dimension
The new vs returning dimension classifies a visitor as new (no prior recorded visit) or returning. The classification depends on a persistent client identifier surviving between visits. When cookies or storage are cleared, browsers cap identifier lifetime, or a user switches devices, returning visitors are recounted as new — so this dimension systematically tilts toward 'new' and should be read with that bias in mind.
- Session default channel grouping
Session default channel grouping rolls a whole session's source/medium into one channel — Organic Search, Email, Referral — based on the origin captured at session start. It is the session-scoped sibling of the user-scoped 'first user' channel and the event-scoped channel. GA4 offers several channel dimensions at different scopes, and mixing them is a leading cause of attribution numbers that do not reconcile.
- Region and city dimension
The region and city dimensions place a visit below country level — a state/region and a city — derived from IP geolocation. They look precise but are the least reliable geo tier: IP-to-city mapping is approximate, mobile and carrier routing can place a visit hundreds of kilometres off, and many visits resolve only to country, showing '(not set)' for city. Use them for rough regional skew, never as a real location.
- 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.
- Custom dimension
A custom dimension lets you report on an attribute GA4 does not collect by default — author, plan tier, content type — by registering an event or user parameter as a dimension. It must be defined before data flows, has event-scoped and user-scoped variants with quota limits, and is vulnerable to high cardinality: registering a near-unique value collapses reports into '(other)' and can edge toward identifying users.
- 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.
- 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.
- Referral path dimension: the page that linked to you
Referral path is the dimension that records the path portion of the referring URL — the specific page on another site that linked to you. It complements the source (the referring host) by showing where on that host the link lived. It is derived from the HTTP Referer header, which Referrer-Policy and cross-origin rules can truncate to the origin or suppress entirely.
- Site search term dimension
The site search term dimension records the queries visitors type into your website's own search box — not what they searched on Google. GA4 captures it through the view_search_results event and a search_term parameter, typically read from a URL query string such as ?q=. It reveals intent in your own words, but it is distinct from external search keywords, which are largely '(not provided)'.
- Keyword dimension: why it reads '(not provided)'
The keyword dimension records the search-engine query associated with a visit. For organic search it is overwhelmingly '(not provided)': since 2011 search engines withhold the query string from referrers over HTTPS for privacy. Paid keyword data can still arrive via auto-tagging from ad platforms. The honest read of this dimension is that organic keyword visibility now lives in Search Console, not analytics.
- Ad content dimension: distinguishing creative variants
Ad content is the dimension fed by the utm_content parameter. Its job is to differentiate links or ad creatives that share the same source, medium, and campaign — for example two buttons in one email or two banner variants in one campaign. It does not affect channel attribution; it is purely a label for distinguishing creative or placement, which makes it ideal for A/B and link-position analysis.
- Campaign ID dimension: the machine key for campaigns
Campaign ID is the dimension fed by the utm_id parameter (and by ad-platform IDs on auto-tagged traffic). Unlike the human-readable campaign name, the ID is a stable machine key meant to survive renames and to join analytics with ad-platform cost data. GA4 uses it to reconcile manual tags with imported campaign metadata, which makes it the durable join key for cross-system reporting.
- Audience dimension
The audience dimension records membership in the audiences you define — groups of users meeting conditions such as 'purchasers' or 'engaged readers'. In GA4 audiences are evaluated as users meet the criteria, so membership is largely forward-looking: creating an audience does not always backfill historical members. This makes audiences a powerful segmentation tool with timing caveats that affect how you read the dimension.
- User-ID dimension: identity you assign, not infer
User-ID is the dimension that carries an identifier you assign to authenticated users, enabling analytics to stitch their activity across devices and sessions. Unlike a client ID, it is identity you provide, typically only after sign-in. GA4's User-ID feature requires that the value be a non-PII pseudonymous key and that you have the appropriate consent, because it links behaviour to a known person.
- Client ID dimension: the device-scoped pseudonym
Client ID is the device-scoped pseudonymous identifier analytics generates to recognise a returning browser. In GA4 it is typically stored in a first-party cookie and underpins the user and session counts. It is not a person: clearing cookies, switching browsers, or using a new device all create a fresh client ID, which is why user counts drift upward and cross-device journeys split without a User-ID.
- Session ID dimension: scoping events to one visit
Session ID is the dimension that ties a burst of events together into one session. In GA4 it is derived from the ga_session_id parameter set when a session_start event fires, and it pairs with the client or user ID to be unique. A session ends after a timeout of inactivity (30 minutes by default), so the same person returning later gets a new session ID — which is why session counts respond to the timeout setting.
- Test data filter / traffic type dimension
Traffic type is the dimension behind GA4's internal and developer traffic filters. By tagging hits with a traffic_type value (commonly 'internal'), you can exclude staff and test traffic from production reports or send them to a test data stream. It is a data-quality control rather than an audience insight, and it works only if the tagging rules — usually IP-based for internal traffic — are kept current.
- Platform dimension: web, Android, or iOS
Platform is the dimension that records the broad surface a hit came from: web, Android, or iOS. In GA4 it is determined by the data stream the event arrived through, since a property can combine app and web streams. It is coarser than the operating-system dimension and is the right axis for comparing app versus web behaviour — but mixing app-only and web-only metrics across platforms is a frequent reporting error.
- Screen name dimension: the app analog of page title
Screen name is the dimension that records which screen of a mobile app a user viewed — the app analog of the page-path or page-title dimension on the web. GA4 captures it from the screen_view event's screen_name and screen_class parameters. Unlike web pages, which expose a URL automatically, app screens carry no inherent name, so screen name is only meaningful when the app explicitly sets it.
- Page referrer dimension
Page referrer is the dimension that records the full URL a visitor came from before the current page — captured by GA4 as the page_referrer parameter on page_view. It is event-scoped and granular: it shows the immediate previous page, including internal navigations within your own site. That makes it different from the session-level source/medium, which describes how the whole visit began rather than each hop.
- Link URL dimension: where outbound clicks go
Link URL is the dimension that records the destination of a clicked link. In GA4 it is populated by the click event from enhanced measurement, which fires on outbound links and carries link_url, link_domain, and link_text. It answers 'where did people leave to?', but its automatic scope is limited to links leaving your domain — internal and same-domain clicks need separate handling.
- File name dimension: tracking downloads
File name is the dimension that records which document a visitor downloaded. GA4 enhanced measurement fires a file_download event when a link points to a recognised file extension, capturing file_name, file_extension, and link_text. It only watches a fixed list of common extensions (pdf, docx, xlsx, zip, and similar), so downloads with other extensions or behind redirects can go uncounted.
- Video title dimension: which videos get watched
Video title is the dimension that records which embedded video a visitor engaged with. GA4 enhanced measurement captures it for YouTube embeds that use the IFrame Player API, firing video_start, video_progress, and video_complete with a video_title parameter. The key limit: only API-enabled YouTube players are auto-tracked — other hosts and plain embeds need manual instrumentation to populate the dimension.
- Percent scrolled dimension: a coarse depth signal
Percent scrolled is the dimension that records how far down a page a visitor scrolled. GA4 enhanced measurement, by default, fires a single scroll event at the 90% depth threshold, carrying percent_scrolled. It is a coarse engagement proxy: out of the box it tells you only whether someone reached near the bottom, and scroll depth is not the same as reading or attention.
- Day of week dimension
Day of week is the dimension that groups events by weekday (Sunday through Saturday, or a 0-6 index) so you can see weekly patterns. It is derived from each event's timestamp interpreted in the property's reporting time zone. The big caveat: weekday boundaries depend on that time zone, so a global audience spanning many zones will have its 'days' defined by your reporting clock, not theirs.
- Hour of day dimension: intraday timing patterns
Hour of day is the dimension that buckets events into one of 24 hours (00-23) so you can read intraday rhythms — when traffic peaks, when conversions happen. Like day of week, it is computed from the event timestamp in the property's reporting time zone. Daylight-saving transitions and a globally distributed audience both complicate it: the hour is your clock's hour, not the visitor's.
- Exit page dimension
Exit page is the dimension that records the last page a visitor viewed before a session ended. In classic page-based analytics it was a first-class dimension with explicit exits and exit rate. GA4, being event-based, has no native 'exit page' dimension — it is reconstructed from the last page_view in a session. Either way, an exit is not inherently a problem: every session ends somewhere.
- Ad group dimension
An ad group groups related ads and keywords inside a campaign. In GA4 the Google Ads ad group dimension is populated when accounts are linked and auto-tagging is on; for non-Google networks you approximate it with UTM tags. This page explains the derivation and the difference between a true ad group and a UTM stand-in.
- Ad creative dimension
An ad creative is the specific image, text, or video asset shown in an ad. Analytics tools surface a creative dimension so you can compare which asset drove a click; GA4 populates it from linked Google Ads, while other channels rely on utm_content. This page covers derivation and the volatility of creative identifiers.
- Ad placement dimension
A placement is the specific site, app, page, or surface where a display or video ad was shown. Ad platforms expose a placement dimension for display and video campaigns; analytics tools usually only see it through linked ad accounts. This page explains placement vs network and why placement reporting is often partial.
- Ad network dimension
An ad network is the marketplace that served an ad: paid search, the display network, video, or search partners. GA4 surfaces a Google Ads network type dimension after linking; other platforms report their own networks. This page explains the network dimension and how it differs from default channel grouping.
- Keyword match type dimension
Match type describes how loosely a paid-search keyword had to match a user's query: broad, phrase, or exact. GA4 exposes a Google Ads match-type dimension after linking; it is a paid-search-only concept. This page explains the values, how they have evolved, and why match type is not the search term.
- gclid and auto-tagging dimension
A gclid (Google Click Identifier) is a token Google Ads appends to landing-page URLs when auto-tagging is on. It lets GA4 resolve campaign, ad group, creative, and match-type dimensions without UTMs. This page explains how auto-tagging works, how it differs from manual tagging, and what happens when the gclid is stripped.
- Page location (full URL) dimension
Page location is the complete URL of a page — scheme, host, path, and query string — captured by GA4 as page_location. It is more granular than page path and is the raw input from which path, hostname, and query dimensions are derived. This page explains its composition and why high cardinality demands normalization.
- Query string dimension
The query string is the part of a URL after the '?': key-value parameters such as ?q=shoes&page=2. Analytics tools can surface it as a dimension, but it is double-edged — useful for understanding filters and search, dangerous for cardinality and privacy. This page explains how it is derived and how to handle it safely.
- Outbound link domain dimension
The outbound link domain is the external host a visitor clicked toward — for example partner.com when leaving your site. GA4 captures it as link_domain on click events when enhanced measurement's outbound clicks are on. This page explains derivation, the difference from referrer, and why some outbound clicks go uncounted.
- Device model dimension
The device model dimension reports the specific device a visit came from. On the web it is inferred from the user-agent string or client hints; in apps the SDK reads it directly. This page explains the derivation, why web models are deliberately coarse for privacy, and how app data is more precise.
- Device brand dimension
The device brand dimension reports the manufacturer of the device behind a visit — Apple, Samsung, Google, and so on. It is the broader sibling of device model and is inferred from user-agent or client hints on the web, or read by the SDK in apps. This page explains derivation and where brand inference goes wrong.
- Connection type dimension
The connection type dimension describes the network a session used — wifi, cellular, or wired. It is reliable in native apps, where the SDK reads it from the OS, but limited on the web because the Network Information API is not universally available. This page explains the sources and the gaps.
- Viewport size dimension
The viewport is the visible area a page renders into — distinct from the physical screen resolution. Analytics tools can capture viewport size to understand the canvas your layout actually had. This page explains the difference from screen resolution, the role of CSS pixels and device pixel ratio, and why values cluster.
- Item category dimension
The item category dimension groups products in e-commerce reports — Apparel, Electronics, and so on. GA4 reads it from item_category (through item_category5) on the items array of commerce events. This page explains the category hierarchy, how it is populated, and why inconsistent tagging fragments reports.
- Item brand dimension
The item brand dimension groups products by their brand in e-commerce reports. GA4 reads it from the item_brand parameter on the items array. This page explains how it is populated, how it differs from device brand, and why marketplaces with many brands must tag it carefully.
- Item variant dimension
The item variant dimension separates variations of the same product — a shirt's size or color. GA4 reads it from the item_variant parameter on the items array. This page explains how variants relate to item ID and name, and why mixing variant axes into one field undermines analysis.
- Promotion dimension
The promotion dimension measures internal promotions — banners, hero slots, on-site campaigns — distinct from paid ad campaigns. GA4 reads promotion_id, promotion_name, creative_name, and creative_slot from view_promotion and select_promotion events. This page explains the model and how it differs from UTM campaigns.
- Item list dimension
The item list dimension identifies the list context in which a product appeared — a search results page, a category grid, a recommendation rail. GA4 reads item_list_id and item_list_name from view_item_list and select_item events. This page explains list context and why consistent list naming makes it analyzable.
- App version dimension
The app version dimension reports which build of your mobile app a session ran. GA4/Firebase reads it from the app's version string automatically. This page explains how it is populated, why multiple versions coexist in the wild, and how version skew affects event and funnel analysis.
- App store dimension
The app store dimension identifies the distribution channel an app came from — Google Play, the Apple App Store, or others. GA4/Firebase captures it for app streams. This page explains how it is populated, how it differs from the platform dimension, and why it is not full install attribution.
- Video provider dimension
The video provider dimension records which platform served an embedded video — for GA4's enhanced measurement, that means YouTube via its iframe API. This page explains what video_provider captures, why non-YouTube and self-hosted players are not auto-measured, and how to fill the gap with custom events.
- Ad campaign name (Google Ads) dimension
The Google Ads campaign name dimension reports the readable name of the paid campaign a click came from, resolved through account linking. This page explains how it relates to the campaign ID, how it differs from the UTM-based campaign dimension, and why renaming campaigns can muddy historical analysis.
- First user medium dimension
The first user medium dimension records the medium of a user's very first session — organic, cpc, referral, email, (none) for direct — and keeps it fixed for the user's lifetime. GA4 derives it from utm_medium or the inferred channel on the first visit. It is user-scoped, so it answers 'through what kind of channel did we first acquire this person?' rather than how a later visit arrived, and confusing it with session medium distorts cohort attribution.
- First user campaign dimension
The first user campaign dimension records the campaign name attached to a user's very first session and keeps it fixed for the user's lifetime. GA4 derives it from utm_campaign (or auto-tagged Google Ads campaign) on the first visit. Being user-scoped, it answers 'which campaign first acquired this person?' and will not match the session campaign of any later visit — a distinction that matters for cohort attribution.
- Session campaign dimension
The session campaign dimension attributes an entire session to a single campaign, fixed when the session begins. GA4 derives it from utm_campaign or the auto-tagged Google Ads campaign present at session start. It is session-scoped, so it answers 'which campaign drove this visit?' — different from event-scoped campaign (which can change within a session) and from first-user campaign (the lifetime acquisition campaign). Mixing the three is a common attribution error.
- Manual term dimension
The manual term dimension exposes the value you place in the utm_term campaign parameter — conventionally the paid keyword for a manually tagged ad. GA4 reports it as 'Manual term' (or session/first-user variants). Because it is whatever you typed, it is only as accurate as your tagging; it is not the auto-tagged keyword Google Ads supplies via the gclid linkage, and the two should not be conflated.
- Manual ad content dimension
The manual ad content dimension exposes the utm_content campaign parameter — conventionally used to distinguish two links to the same destination, such as A/B creative variants or header-versus-footer placements. GA4 reports it as 'Manual ad content' with scope-aware variants. It is free text, so its meaning is entirely a function of your tagging discipline, and it is distinct from auto-tagged Google Ads creative data.
- Google Ads account name dimension
The Google Ads account name dimension shows the name of the linked Google Ads account that a paid session is attributed to. GA4 populates it only when the property is linked to Google Ads and auto-tagging (gclid) is active, joining click data to the account. It is blank for organic, direct, and non-Ads paid traffic, so it is a slicing dimension for Ads-sourced sessions, not a universal one.
- GA session number dimension
The GA session number dimension records the ordinal of the current session for a user — 1 for their first ever session, 2 for the second, and so on. GA4 derives it from the ga_session_number event parameter, incremented per device/client identity. It is the basis for engagement-by-visit analysis, but it resets whenever the underlying identifier is cleared, so consent and cookie loss inflate the count of session number 1.
- Days since last session dimension
The days since last session dimension reports how many days have elapsed since the user's previous session. GA4 computes it from the stored last-session timestamp on the current identity. It supports recency and re-engagement analysis, but it can only be calculated when GA4 still recognises the user — if the identifier was cleared, the prior session is invisible and the return is counted as new, so the gap is undercounted.
- New vs established user dimension
The new vs established user dimension classifies a user as 'new' or 'established' based on whether GA4 had recorded prior activity for them before the reporting window. It is user-scoped and derived from the user's first-seen timestamp. This differs from the session-scoped new-vs-returning split, which classifies each visit; conflating the two produces mismatched user and session counts.
- Signed in with user ID dimension
The signed in with user ID dimension reports whether activity occurred while a User-ID was set — typically because the person was logged in. GA4 derives it from the presence of a developer-supplied User-ID on the session. It enables cross-device stitching of authenticated activity, but only when you have a lawful basis and a non-personal identifier, so it is governed by consent and policy, not enabled by default.
- Cohort dimension
The cohort dimension groups users by a shared starting point — typically their acquisition date — so you can follow each group's behaviour across subsequent days, weeks, or months. GA4 builds cohorts in the Cohort exploration from a first-touch criterion and a return criterion. It is the backbone of retention analysis, but small cohorts and identity loss can make later-period values unstable, so trends matter more than single cells.
- Predicted LTV bucket dimension
The predicted LTV bucket dimension groups users by GA4's modelled estimate of their future revenue, banding a continuous prediction into segments for audience building. GA4 generates predictive metrics like predicted revenue only when the property meets minimum data thresholds and has the required purchase events. These are model outputs, not observed facts, so they carry uncertainty and should never be reported as actual lifetime value.
- Audience membership dimension
The audience membership dimension indicates which GA4 audiences a user currently qualifies for. GA4 evaluates audience definitions against user and event data, adding or removing users as conditions are met or expire. Some audiences populate retroactively from up to a limited backfill, others only from creation forward, and membership can lapse — so counts are dynamic, and comparing them as fixed sets misreads the dimension.
- Consent state dimension
The consent state describes the Consent Mode signals attached to a hit — chiefly whether analytics_storage and ad_storage are granted or denied. GA4 reads these signals to decide whether to use cookies and how to process the hit; when consent is denied, measurement may be cookieless and gaps can be filled by GA4's behavioural modelling. Treating consent state as identity, or ignoring its effect on data completeness, leads to misreadings.
- Test data filter name dimension
The test data filter name dimension shows which GA4 data filter would tag a row of data — typically the internal-traffic or developer-traffic filter — while that filter is in testing mode. GA4 derives it from the filter definitions you configure. It lets you validate filters before activating them, but it only populates in testing state; once a filter is active it excludes rather than labels, so the dimension no longer surfaces those rows.
- Stream name dimension
The stream name dimension reports which data stream sent a hit — for example a website stream or a specific app stream within the same GA4 property. GA4 derives it from the stream configuration each hit is tagged to. It is essential for separating platforms or sites that share one property, and it pairs with the numeric stream ID; relying on the editable name alone for joins is fragile, since names can change while IDs do not.
- Firebase screen class dimension
The Firebase screen class dimension reports the class of the app UI shown during a screen_view — by default the name of the Activity, ViewController, or component class. GA4 and Firebase capture it automatically from the SDK. It is the developer-side identifier, distinct from screen name, which you can set to a friendlier label; conflating the two, or letting class fall back to a generic value, makes app screen reporting hard to read.
- App instance ID dimension
The app instance ID dimension identifies a single installation of your app on a device — the mobile analogue of the web client ID. Firebase generates it per install. It enables per-installation analysis and joins to BigQuery exports, but it is a pseudonymous, resettable identifier: uninstalling and reinstalling, or clearing app data, produces a new app instance ID, so it must not be treated as a permanent person-level key.
- Mobile model name dimension
The mobile model name dimension reports the marketing or model name of the device a session ran on. GA4 derives it from the device information the platform and user agent expose. It is useful for device-compatibility and performance segmentation, but model names are coarse and shared by many users, lag behind new releases, and can fall back to generic values — so it is a population-level dimension, never a way to identify individuals.
- Platform device category dimension
The platform device category dimension combines the platform a session ran on — web, iOS, or Android — with its device category, such as mobile, tablet, or desktop. GA4 derives the pair from the data stream and device signals. It is more specific than device category alone, letting you separate, for example, web-on-mobile from an Android app; reading either half in isolation can hide where behaviour actually differs.
- Is conversion event dimension
The is conversion event dimension indicates whether a given event is marked as a key event — GA4's term for a conversion — in your configuration. GA4 derives it from each event's key-event setting, which you toggle per data stream. Because marking takes effect going forward and is configured at the stream level, the same event name can be a conversion in one stream and not another, and historical events are not retroactively reclassified.
- Event count scope dimension
Event scope is the narrowest GA4 dimension scope: an event-scoped dimension's value belongs to one specific event, not to the whole session or user. GA4 assigns scope per dimension — event, session, user, or item — and that scope governs how values aggregate. Combining dimensions and metrics from incompatible scopes in one report produces (not set) rows or inflated counts, so understanding scope is essential to reading GA4 correctly.
- Link text dimension
Link text is the dimension holding the human-readable label a visitor clicked — the words inside the anchor element. In GA4 it is populated by the enhanced-measurement click event as the link_text parameter alongside link_url and link_domain. It is useful for telling apart several links that point to the same destination, but it is empty when the clickable element wraps an image or icon with no text node.
- Link classes dimension
Link classes is the dimension that records the value of a clicked link's class attribute. GA4 enhanced measurement passes it as link_classes on the outbound click event. Because design systems assign consistent classes to button variants, this field lets you group clicks by component type — for example every 'btn-primary' — without rewriting every link. It is empty when the clicked element carries no class attribute.
- Link domain dimension
Link domain is the dimension that records the destination host of a clicked outbound link — the domain portion of link_url. GA4 enhanced measurement sets it on the click event so you can group outbound traffic by where it goes (a partner, a payment provider, a social network) without parsing full URLs. What counts as outbound, and therefore what appears here, depends on your cross-domain measurement configuration.
- Link ID dimension
Link ID is the dimension that records the value of a clicked link's id attribute. GA4 enhanced measurement passes it as link_id on the click event. Because an HTML id is meant to be unique within a page, it is the most precise way to identify exactly which link was clicked — more reliable than text or class. It only has a value when the clicked element actually carries an id, which many links do not.
- Outbound click flag dimension
Outbound is the boolean dimension on GA4's click event that records whether the clicked link led to a different domain. Enhanced measurement only auto-fires the click event for outbound links, so in practice the auto-captured values are true; the field exists so manually-sent click events can also be flagged. Understanding it clarifies why same-domain clicks never appear in outbound-click reports by default.
- File extension dimension
File extension is the dimension that records the suffix of a downloaded file — pdf, docx, zip and similar. GA4 enhanced measurement reads it as file_extension when a clicked link's URL ends in a recognised extension, firing a file_download event. It is the field for analysing downloads by format rather than by individual file, but it only carries values for extensions on GA4's default watched list.
- Form ID dimension
Form ID is the dimension that records the id attribute of a form a visitor interacted with or submitted. GA4 enhanced measurement reads it as form_id on form_start and form_submit events. Because an id is meant to be unique per page, it is the cleanest key for telling forms apart, but many forms have no id attribute, so this field is frequently empty and you fall back to form_name or form_destination.
- Form name dimension
Form name is the dimension that records the name attribute of a form a visitor started or submitted. GA4 enhanced measurement passes it as form_name on form_start and form_submit events. Unlike form_id, the name attribute need not be unique and is often shared across pages, which makes it good for grouping the same logical form (a newsletter signup) sitewide but weaker as a per-instance identifier.
- Form destination dimension
Form destination is the dimension that records the URL a form submits to — the value of its action attribute. GA4 enhanced measurement passes it as form_destination on form_submit. It tells you where form data is sent, which is useful for distinguishing forms that share a name but post to different endpoints. It reflects the submission target, not whether the backend accepted the submission.
- Data stream ID dimension
Data stream ID is the dimension that records the numeric identifier of the GA4 data stream an event came from. A GA4 property can have web, Android, and iOS streams, and each event is stamped with its origin stream_id. It is the stable machine key for splitting reports by platform source, distinct from the editable stream name. It is configuration metadata, not anything about the visitor.
- Date and time dimensions
Date and time in GA4 are a family of dimensions — date, hour, minute and combinations — that stamp each event with when it occurred, expressed in the property's reporting time zone rather than the visitor's local time or UTC. They are the backbone of every trend line. Because the boundary of a 'day' depends on the configured time zone, changing it shifts which events fall on which calendar date.
- Date dimension
Date is the dimension that records the calendar day of an event in YYYYMMDD form, computed in the GA4 property's reporting time zone. It is the default x-axis of most trend reports. Its day boundary is the property's midnight, not UTC or the visitor's clock, so the same raw event can be assigned to a different date than another tool would choose.
- Week dimension
Week is the dimension that groups events by the numbered week of the year (01–53). In GA4 the week begins on Sunday, so the first and last weeks of a year are usually partial. It smooths daily noise into a steadier trend, but the Sunday boundary and partial-week edges mean its counts are not directly comparable to ISO-week tools that start on Monday.
- Month dimension
Month is the dimension that groups events by calendar month (01–12) in the property time zone. It is the coarse grain for seasonal and budget-cycle reporting. Its main pitfall is that months have different lengths, so raw month-over-month comparisons mix a 28-day February with a 31-day March, which can masquerade as a trend if you do not normalise per day.
- Year dimension
Year is the dimension that groups events by four-digit calendar year in the property time zone. On its own it is rarely used, but combined with month or week it labels long-range trends and powers year-over-year comparisons. Long historical analysis is bounded by GA4's event-data retention setting, which caps how far back exploration-level data goes regardless of the year requested.
- Date hour and minute dimension
Date hour and minute is the dimension that combines calendar date with the hour and minute of an event into a single per-minute timestamp, expressed in the property reporting time zone. It is the finest standard time grain GA4 offers in reports and is built for tight, short-window monitoring — a launch, an outage, a flash sale — where hour-level detail is too coarse.
- Hour dimension (absolute)
Hour is the dimension that buckets events into a specific date-and-hour in the property reporting time zone — an absolute point on the timeline, like '2026-06-24 14:00'. It differs from hour of day, which collapses every day's 2pm together for daypart analysis. Absolute hour is for following one continuous span; hour of day is for recurring behavioural patterns. Confusing the two produces wrong conclusions.
- Nth day dimension
Nth day is the dimension that numbers each day by its offset from the start of the selected date range — day 0, day 1, and so on — rather than by calendar date. This relative indexing is what lets you overlay two periods of equal length so their day 1s align, the standard technique for period-over-period and launch-cohort comparison regardless of the actual calendar dates involved.
- Nth week dimension
Nth week is the dimension that numbers weeks by their offset from the start of the selected range — week 0, week 1, and so on. It is the weekly analog of nth day, built for multi-week retention curves and cohort decay where you want week-1 retention to align across cohorts regardless of when each began. Its numbering is relative to the report's range and resets when the range changes.
- Nth month dimension
Nth month is the dimension that numbers months by their offset from the start of the selected range — month 0, month 1, and so on. It is the longest-horizon member of the nth-period family, built for lifecycle and long-term cohort analysis where retention is measured over many months. Its numbering is relative to the report range, and like its siblings it carries no fixed calendar meaning.
- Transaction ID dimension
Transaction ID is the dimension that holds the unique identifier you assign to a completed purchase via the purchase event's transaction_id parameter. GA4 uses it to deduplicate purchases: two purchase events sharing one transaction_id within a window are treated as the same order, not two. Supplying a stable, genuinely unique value is what keeps revenue from being double-counted when a confirmation page reloads.
- Coupon dimension
Coupon is the dimension that records the promotion code applied to a purchase. In GA4 ecommerce, coupon exists at two scopes: an order-level coupon on the purchase event and an item-level coupon inside each items entry. Order-level reflects a cart-wide code; item-level reflects a discount on a specific product. Reading the wrong scope, or assuming one implies the other, misstates which promotions drove sales.
- Affiliation dimension
Affiliation is the ecommerce dimension that labels the store, marketplace, or partner an order is attributed to, set via the affiliation parameter on the purchase event (and optionally per item). It lets one GA4 property separate revenue across multiple storefronts or fulfilment partners without standing up separate properties. It is a free-text label, so consistency is entirely on the sender.
- Shipping tier dimension
Shipping tier is the dimension that records the delivery option a shopper selected — Ground, Express, Same-day and so on — sent via the shipping_tier parameter on the add_shipping_info checkout event. It reveals how delivery-speed choice relates to conversion and order value. Because the value is a free-text label you supply, fragmented or shifting labels quietly distort the breakdown.
- Payment type dimension
Payment type is the dimension that records the payment method a shopper selected — Credit Card, PayPal, Apple Pay and similar — sent via the payment_type parameter on the add_payment_info checkout event. It is meant to be a generic method label, never card numbers or account details. It helps you see which payment options shoppers reach for and whether a method correlates with checkout drop-off.
- Item promotion ID dimension
Item promotion ID is the dimension that holds the machine key of an on-site promotion — a banner, hero slot, or merchandised offer — set via the promotion_id parameter on the view_promotion and select_promotion events. It identifies internal merchandising placements, which is a different thing from a coupon (a checkout discount code). Keeping the two apart is essential to attributing sales to promo creative versus discount codes.
- Continent and subcontinent dimensions
Continent and subcontinent are GA4's two broadest geography dimensions, sitting above country, region, and city. Both are derived from coarse IP-based geolocation, so they inherit its imprecision. Subcontinent uses regional groupings (such as Northern Europe or South-Eastern Asia) that do not always match colloquial expectations, which is the most common source of confusion when reading these reports.
- Metro dimension
Metro is the geography dimension that maps a visitor to a designated market area (DMA) — the media-market regions used in the United States. GA4 derives it from coarse IP geolocation. Because DMAs are a US construct, metro is populated mainly for US traffic and frequently reads '(not set)' elsewhere, which is expected behaviour rather than missing data.
- Level name dimension
Level name is the dimension that records which level a player started or finished, sent via the level_name parameter on GA4's recommended level_start and level_end gaming events. Paired with the success flag on level_end, it reveals where players progress or stall. As a free-text label, its analytical value depends on a consistent, stable naming scheme across builds.
- Virtual currency name dimension
Virtual currency name is the dimension that labels which in-game currency an event involved — Gold, Gems, Coins — sent via virtual_currency_name on GA4's earn_virtual_currency and spend_virtual_currency events. Games often run several parallel currencies, so this dimension is what keeps a soft-currency economy from being summed together with a premium one. The value is a free-text label you must keep consistent.
- Achievement ID dimension
Achievement ID is the dimension that holds the key of an achievement a player unlocked, sent via achievement_id on GA4's unlock_achievement event. It lets you measure which milestones players reach and how achievement completion relates to retention and monetisation. Because it is a key you assign, a stable, unique ID per achievement is what keeps the analysis coherent across releases.
- Character dimension
Character is the dimension that records which in-game character, class, or avatar a player used, sent via the character parameter on several GA4 gaming events such as level_up and post_score. It lets you segment progression, scoring, and economy behaviour by character choice — which characters players favour and which perform. As a free-text label it depends on consistent naming to stay analytically useful.
- SDK version dimension
SDK version is the dimension that records which version of the measurement SDK — the gtag.js tagging build on web, or the Google Analytics for Firebase SDK in apps — produced an event. It is collection-layer metadata, not a visitor attribute. Its main value is diagnostic: when a metric shifts after a release, splitting by SDK version separates an instrumentation change from a genuine behaviour change.
- Platform dimension (web, Android, iOS)
Platform is the dimension that labels the broad surface an event came from — web, Android, or iOS — based on which data stream collected it. In a property that mixes a website and apps, it is the first cut for comparing surfaces. It is coarser than device category (which splits desktop/mobile/tablet within web) and complements the data stream ID, which is the precise per-stream key.
Other reference hubs
- AI crawlers
- Search bots
- User agents
- Referrers
- UTM tracking
- Robots & crawl control
- Crawl diagnostics
- Geo traffic
- Analytics metrics
- Event tracking
- Attribution models
- Privacy & compliance
- Conversion & funnels
- Data quality
- Analytics platforms
- Reports & dashboards
See how WebmasterID applies this in product: Bot intelligence, AI referrals, and AI visibility analytics.