One thing we hear from marketers working on user tracking is that GA4 gives an incomplete view. We cover the traditional GA4 tracking setup and demonstrate a broader measurement approach to help close the gaps.
Google Analytics 4 is a powerful tool. We’ve used it for website engagement insights, and it’s widely adopted across our client base.
However, there’s a version of GA4 user tracking that gets sold to marketers as a complete solution for understanding individual users, and in our experience, it falls short in ways that only become obvious once you’ve invested real time setting it up.
This guide is our honest account of how GA4 tracks users, where the gaps are, and what a more complete picture actually looks like.
Here’s what we’ll cover:
- What user tracking in GA4 actually means
- How to set up Client ID tracking, step by step
- How to set up User ID tracking, step by step
- Where we go for GA4 user tracking insights
- What we find Google Analytics misses
- What we use measurement the impact of clicks and impressions
💡 Pro Tip
GA4’s User ID feature falls short in two key areas: its reliance on user logins and its inability to track personally identifiable information. These limitations make it very difficult to connect your marketing activity to actual revenue outcomes.
Ruler fills those gaps using first-party tracking tags that monitor page views, traffic sources, UTM parameters, and conversions, without requiring a login. Every touchpoint gets matched to the conversion, and revenue from your CRM flows back to the marketing that earned it.
Book a demo to see how Ruler puts it all together
What we mean by user tracking in Google Analytics 4
GA4 displays most data in aggregated form. You can’t see a specific person’s browsing history, but you can track how groups of users interact with your site. That said, GA4 does offer a few ways to identify and follow individual users in a privacy-compliant way.
Client ID vs User ID
There are four main ways GA4 identifies and enriches users, but the most common is User ID and Client ID
Client ID is the default. GA4 assigns one to every visitor via a first-party cookie stored in their browser. It recognises when the same browser returns, but it can’t connect behaviour across different devices or browsers.
User ID goes a step further. If your site or app requires users to log in, you can pass your platform’s internal login identifier into GA4. This links activity across sessions and devices, gives you cleaner reporting, and reduces duplicate user counts. It’s the most consistent view GA4 can offer of how an individual uses your site.
Google Signals allows GA4 to connect data from users signed into their Google accounts with ad personalisation enabled. Useful for cross-device insights and remarketing, but dependent on users being logged into Google.
Events and custom dimensions add context on top of IDs, capturing actions like clicks, form fills, or purchases alongside details like membership type or content category.
What is Client ID and how to set it up
Client ID is GA4’s default method of recognising visitors. It doesn’t require a login, a developer, or any configuration on your part, it’s working the moment GA4 is installed on your site.
When someone visits your website for the first time, GA4 generates a random alphanumeric identifier and stores it in a first-party cookie in the visitor’s browser. Google Analytics does this because it’s unable to track personally identifiable information such as emails, phone numbers or names.
Related: How Google Analytics 4 uses cookies to track visitors

Every time that same browser returns to your site, GA4 reads the cookie, finds the Client ID, and recognises the visit as coming from a returning user rather than a new one.
That allows GA4 to stitch together multiple sessions from the same browser into a single user journey, even across days or weeks, without requiring any identifying information from the visitor themselves.

The caveat is that Client ID is tied to the browser and device, not the person. If someone visits on their work laptop in the morning and their phone in the evening, GA4 sees two separate users. If they clear their cookies, the Client ID is gone and GA4 starts fresh.
For most websites, Client ID gives you a reasonable picture of returning visitor behaviour and session continuity. It’s a starting point, not a complete solution.
You don’t need to set Client ID up, it’s automatic. You can verify it’s working and explore individual Client ID records through the User Explorer report.

Go to Explore in your GA4 account, select User Explorer, and you’ll see a list of anonymised Client IDs with their associated session activity.
From there, you can click into any record and see the sequence of interactions that visitors completed across sessions.
What is User ID and how to set it up
User ID is the step up from Client ID, and it’s the method that gets recommended most often when someone wants a more complete view of individual user journeys in GA4.
The core idea is straightforward. Rather than relying on a browser cookie to recognise returning visitors, User ID lets you pass your own internal identifier into GA4, the same ID your platform already uses to identify a logged-in user.
Because that ID follows the person rather than the browser, GA4 can connect their activity across different devices and sessions in a way Client ID simply can’t.
Say a user browses on their phone, logs in on their laptop the next day, and completes a purchase on a tablet a week later.
With Client ID, GA4 records three separate users. With User ID, it recognises all three sessions as the same person and stitches the journey together.
The catch is it only works when a user is logged in. Anonymous visitors don’t get a User ID assigned. It also requires some technical setup, here’s how that works.
Important note: This assumes you already have a GA4 configuration tag set up on your site. If you haven’t done that yet, get that in place first.
Step 1. Add the User ID field to your configuration tag
In your GA4 configuration tag, go to “Fields to Set,” click “Add Row,” and enter “user_id” as the field name. You’ll then need to point it to a variable that holds the actual ID of a logged-in visitor.
There are three ways to capture that variable.
Option A. Push the User ID to the data layer. If your site has an authentication system, a developer can modify your code to push the User ID to the data layer when a user signs in. This is the cleanest method but requires developer resource.
Option B. Capture from an existing cookie. Some sites already store a User ID in a browser cookie. In Chrome, go to More Tools, then Developer Tools, then Application, then Cookies. Select your domain and look for anything that looks like a user identifier. If you find one, create a new variable in Google Tag Manager using the “1st Party Cookie” type and enter the cookie name.

Option C. Access via a Global JavaScript Variable. Open the browser developer console, type “Window” and hit Enter, then browse the list of properties. If you spot a User ID stored there, create a new JavaScript Variable in GTM using the full property path.
Step 2. Insert the variable into your configuration tag
Once you’ve set up the variable, add it to the user_id field in your GA4 configuration tag and save.
Step 3. Test before going live
Use GTM’s Preview mode to confirm everything is firing correctly. Then check GA4’s DebugView, go to Configure, then DebugView, and look for “user_id” in the event stream. If it’s appearing there, you’re in good shape.
Step 4. Submit and publish
Once you’re satisfied it’s working, submit the changes in GTM. Allow up to 24 hours for the data to appear in GA4.
Where we go in GA4 to find user tracking insights
Once you have Client ID running and User ID set up for logged-in visitors, there are a couple of places in GA4 worth knowing about.
User Explorer is the primary report for individual user journeys. Navigate to Explore in your GA4 account and select the User Explorer template. You’ll see a list of anonymised Client IDs or User IDs, depending on which is available for a given visitor, along with the sessions, events, and conversions associated with each one. Click into any record and you get a chronological view of that user’s interactions across your site.
This is useful for understanding behavioural patterns. You can see how many sessions it typically takes before someone converts, which pages appear most often in converting journeys, and where people tend to drop off. What you can’t see is who those users actually are or what happened after they left your site.
Explorations more broadly give you flexibility beyond the default User Explorer template. You can build funnel explorations to see where users drop out of key paths, segment comparisons to understand how different user groups behave, and path explorations to map the routes people take through your site. These work on both Client ID and User ID data.
The Acquisition reports (found under Reporting, then Acquisition, then Traffic Acquisition) sit alongside user tracking and tell you how those users arrived in the first place, by source, medium, campaign, and channel. Pairing acquisition data with User Explorer gives you the closest thing GA4 offers to a complete picture of a user’s journey from first visit to conversion.
One thing worth bearing in mind. All of this data is anonymous by design.
GA4 will show you patterns and sequences, but it won’t tell you which of these journeys belong to a lead currently sitting in your CRM, or which ones eventually turned into revenue. That’s the gap the next section addresses.
What we’ve found user tracking in Google Analytics 4 misses
We want to be direct here, because this is where most guides fail to explain.
Related: 8 limitations of Google Analytics 4 and how to overcome them
User ID tracking only works if users log in. GA4 User ID is generated through your authentication system and passed to Analytics when someone signs into your site. If a visitor never logs in, which describes the majority of website visitors for most businesses, there’s no User ID. You’re back to anonymous aggregated data.
You can’t capture any personally identifiable information. GA4 strictly prohibits sending names, email addresses, phone numbers, or anything else that could identify a real person. What you get is an alphanumeric ID. That’s useful for stitching sessions together, but it creates a hard wall between your GA4 data and your CRM. You can’t see which leads came from which marketing, because the two datasets have no shared identifier.
The attribution models are limited. GA4 removed most of its attribution options in late 2023 and kept only last-click and data-driven. Last-click consistently over-credits the final channel before conversion, almost always search or direct, and says nothing about what influenced the journey before that point. Data-driven is more nuanced, but Google doesn’t disclose how the algorithm allocates credit. The 90-day lookback window is also a constraint for any business with a longer sales cycle.
What we use instead, and why it changes the conversation
GA4 User ID tells you how logged-in users move through your site. That’s genuinely useful in some contexts, SaaS products, membership platforms, apps with strong authentication.
But for most lead generation businesses or brands with longer sales cycles, it answers the wrong question.
The question that actually matters is which marketing channels, campaigns and creatives are driving pipeline and revenue. GA4 User ID, even when it’s set up perfectly, can’t answer that.
Here’s what a more complete setup looks like.
First-party multi-touch attribution
Tools like Ruler Analytics track every anonymous visitor via first-party identifers across sessions, traffic sources, keywords and more, no login required.
Related: 4 steps to create a first-party data strategy
When a visitor converts into a lead via a form, phone call, or live chat, Ruler matches that conversion to all the marketing touchpoints that preceded it.
You end up with a full click path for every lead in your CRM.

That click path is the part we find most valuable in practice. Last-click attribution pointing to Direct or Google organic is a common result, and without a click path it’s where the story ends.
With Ruler, you can see that the same person clicked a Google ad and a Facebook ad, then eventually converted through a branded search.
Google Ads and Facebook doesn’t disappear from the story just because it wasn’t the last click.
When the lead closes as a customer, whether that’s a week later or twelve months later, the revenue amount is sent back to Ruler and distributed across the contributing touchpoints using whichever attribution model makes most sense for your business.
Unlike GA4’s 90-day cap, Ruler’s lookback window is unlimited. Here’s a quick comparison of how the two approaches stack up:
| GA4 User Tracking | Ruler Analytics | |
| User identification | Requires login through your authentication system | Tracks all anonymous visitors across sessions without login |
| Data allowed | No PII, alphanumeric IDs only | Matches conversion details to marketing touchpoints and CRM records |
| Multi-touchpoint tracking | Only when the same User ID is sent across logged-in sessions | Tracks visitors until conversion, then stitches touchpoints automatically |
| Attribution models | Last-click and data-driven only. 90-day lookback | Multi-touch models with unlimited lookback window |
| Best for | Ecommerce and membership sites with strong login systems | Businesses needing full-funnel attribution, revenue tracking, and CRM integration |
Closing the loop with ad platforms
For Instagram and Facebook specifically, Ruler can send lead and opportunity data from your CRM back into Meta Ads Manager.
Related: First-party data activation—smarter path to better ad targeting
This improves reporting, Meta sees what those clicks actually produced downstream, not just that they happened, and it feeds the algorithm with stronger signals for optimisation.

For businesses with longer sales cycles, this is particularly important. If you’re waiting six months for a deal to close before sending any signals back to Meta, the algorithm is optimising in the dark.
Sending signals at earlier stages, when a lead reaches a qualified opportunity, for instance, gives it something meaningful to work with without waiting for the full cycle to play out.
Accounting for the impact of impressions
First-party attribution handles click-path journeys well, but there’s a gap that even good attribution tooling leaves open.
What happens when someone sees an Instagram ad, doesn’t click, and converts three weeks later through a direct visit or organic search? Neither GA4 nor traditional attribution captures that interaction. The impression is invisible.
Related: The future of measurement—the role of impression attribution
Ruler addresses this through machine learning probabilistic modelling. It uses a Bayesian statistics model to align impressions with conversions, drawing on marketing mix modelling outputs where available, and on click-through rates, impression volumes, and user-level signals where MMM data isn’t.
Once impressions are matched to conversions, Shapley Regression is used to allocate credit across campaigns.

Importantly, this doesn’t rely on cookies or personally identifiable information, which means it holds up as privacy standards continue to tighten.
When impression modelling is combined with Ruler’s attribution layer, you can track click-path journeys and assign revenue to them, match impressions to revenue to validate upper-funnel campaigns, and make budget decisions based on a more complete view of what’s actually contributing to growth.
We can help you track users beyond GA4
Google Analytics user tracking allows you to keep track and compare the behaviour of logged-in users.
However, for all its benefits, Google Analytics 4 user tracking alone isn’t enough when you’re trying to determine what content and marketing channels are most influential at driving leads and revenue.
That’s why visitor level tracking is the most reliable way to go. Using a tool like Ruler, you can track and record every website visitor, and even better, see which of those visitors are turning into revenue.
Don’t forget you can read our in-depth guide on how Ruler attributes revenue back to your marketing for more information.
Or, if you’re ready to book a demo, then our team would love to talk. Schedule a time that suits you and learn more about the benefits of Ruler Analytics.

Google Analytics 4 user tracking FAQs
No. GA4 User ID is generated through your authentication system and only fires when a user signs into your site or app. Without a login event, there’s no User ID to assign. Visitors who never log in, which is most visitors for most websites, remain anonymous in GA4.
No. Sending personally identifiable information to GA4 is strictly prohibited by Google’s terms of service. You can only send an alphanumeric identifier that has no direct connection to a real person’s name, email, or contact details.
Client ID is the default, it’s a cookie-based identifier that recognises the same browser returning to your site. User ID is set by you and passed to GA4 when a user logs in. User ID is more reliable for connecting behaviour across devices and sessions, but it requires a working authentication system and developer involvement to implement.
For certain businesses, SaaS platforms, apps, subscription services, where most meaningful interactions happen behind a login, GA4 User ID is genuinely useful. It gives you a cleaner, deduplicated view of how logged-in users behave across sessions and devices. The limitations matter most for lead generation businesses or e-commerce brands where the majority of valuable activity happens before a user ever creates an account.
Ruler uses first-party deterministic tracking. Every time a user visits your site, Ruler’s tracking code fires and stores session data, source, medium, campaign, pages visited, and so on. When a user returns, Ruler matches the new session to the existing record using first-party data. When they convert via a form, call, or chat, that conversion is matched to all prior touchpoints and passed to your CRM. No login required at any stage.
