User-scoped describes a value in Google Analytics 4 that belongs to the visitor as a whole, so it applies across all of their sessions and events rather than to one page view or one click. A user-scoped dimension answers “what kind of visitor is this?” rather than “what happened just now?”.
How user scope works
Every dimension in GA4 has a scope, which decides what the value is attached to. There are three main levels, plus item scope for ecommerce products:
- Event scope: the value belongs to one action, such as the link text of a single click.
- Session scope: the value belongs to one visit, such as the source that brought it.
- User scope: the value belongs to the visitor, such as the channel that first brought them or a user property your site has set, like membership tier.
When you create a custom dimension in GA4 you choose its scope, and you cannot change it afterwards. Picking user scope tells GA4 to apply the latest value to everything that visitor does from then on.
“Visitor” here means a browser or app install, not a person. Unless your site sends a user ID for logged-in customers, the same person on a phone and a laptop is two users, each with their own user-scoped values.
Why it matters
Scope decides what a report actually means. Two dimensions can share a name and give different answers because they sit at different levels. GA4’s “First user source” is user-scoped and credits the channel that first brought someone; “Session source” is session-scoped and credits whatever brought each visit. A London accountancy firm asking “did LinkedIn bring us new clients?” gets one answer from the first and quite another from the second, and both are correct for their own question.
Problems start when scopes are mixed carelessly. Putting a user-scoped dimension beside session or event metrics invites timing errors. A user property only attaches to events sent after it was set, so if a customer joined your loyalty scheme on their fourth visit, the first three visits sit outside the member group. A report saying “members convert better” may partly mean “people who had already decided to buy then joined”.
Common mistakes
- Registering a value as user-scoped when it changes constantly, such as the last product category viewed, so reports show whatever happened most recently.
- Comparing first-user dimensions with session dimensions and assuming one of them is broken.
- Treating users as people and reporting user-scoped counts as a headcount of customers.
- Forgetting that the scope of a custom dimension is fixed once created, then building reports on the wrong level.
How to act on it
Before adding any custom dimension, write down the question it will answer and the level that question sits at. Facts about the customer that hold for weeks or months (account type, plan, sector for B2B) belong at user scope. Facts about a visit or an action belong lower down.
When you read a report, check the dimension name. GA4 prefixes many user-scoped dimensions with “First user”, which is a reliable clue. If a number surprises you, rebuild it with a session-scoped equivalent and see whether the difference is a scope effect rather than a real change.
Getting scopes right is part of building reports a business can trust, which is the measurement side of the performance marketing work I do for UK companies.
