For teams that are familiar with using Google Analytics Real-Time prior to gaining access to Chartbeat, we frequently receive questions about discrepancies between visitor counts between the tools, specifically between Chartbeat's Real-Time Concurrents metric and Google Analytics Real-Time's Active User count (GA Universal Analytics), or "Users in last 30 minutes" (GA4). To better understand these differences, let's begin with the basic metric definitions.
Chartbeat Concurrents: The total number of people on your site at any given moment, as measured by the number of open browsing sessions to your site. Note that this number includes both engaged and non-engaged browsing sessions open to your site. An engaged session in Chartbeat represents an active user session where the visitor has directly engaged (clicking, scrolling, typing, mousing) with your page in the last 15 seconds. A non-engaged session represents an open browser tab to your site where the visitor has not shown any signs of engagement within the last 15 seconds. If an open browser session to your site shows no signs of engagement for two continuous hours, we will stop tracking the session as a concurrent at that point.
GA4's "Users in last 30 minutes": This metric in the top left corner of the Google Analytics 4 is a cumulative metric, comprised of unique users that registered at least one pageview event within the previous 30 minutes. By definition then, this number is expected to be very different from a truly real-time session count like Chartbeat's concurrents metric. The "users per minute" GA4 metric similarly counts unique users that registered at least one pageview event within the previous 60 seconds. Note that summing GA's "users per minute" counts may not equal their "users in last 30 minutes" total because the same unique user that registers multiple pageviews across different 60 second internals will only be counted as one user in the "last 30 minutes" metric.
GA Real-Time Active Users: GA Universal Analytics Real-time (pre-GA4) defines Real-Time Users as follows: a unique user who has triggered an event or pageview within the past 5 minutes. If a user has multiple pages open to your site in the same browser, these sessions will be counted as a single active user in Google Analytics Real-Time.
Concurrents versus GA4's "users in last 30 minutes" and "users per minute"
GA4 Real-time's primary metric of site-wide "users in last 30 minutes" has replaced GA Universal Analytics Real-time primary metric of site-wide "Active Users", but these two metrics are very different. Unique users in the previous 30 minutes is a cumulative metric, not a real-time metric, and it's expected to be significantly higher than both GA's former "Active Users" metric as well as Chartbeat's concurrents total for your site. "Users per minute" totals in the bar chart directly below this metric in GA4 Real-time (screenshot below) also cannot be expected to align with Chartbeat concurrents — count of pageview events generated by unique users in the previous 60 seconds (GA4's "users per minute" total shown below) is not the same as count of simultaneous open screen views to your site right now (Chartbeat's concurrents). Chartbeat's concurrents metric is uniquely accurate in its real-time nature.
Concurrents versus Google Analytics Real-time Active Users
Both of these metrics aim to deliver the total number of current visitors to a given site, but differences in our measurement methodologies can cause significant discrepancies between the platforms. To better understand these differences, let's begin with the basic metric definitions.
Chartbeat Concurrents: The total number of people on your site at any given moment, as measured by the number of open browsing sessions to your site. Note that this number includes both engaged and non-engaged browsing sessions open to your site. An engaged session in Chartbeat represents an active user session where the visitor has directly engaged (clicking, scrolling, typing, mousing) with your page in the last 15 seconds. A non-engaged session represents an open browser tab to your site where the visitor has not shown any signs of engagement within the last 15 seconds. If an open browser session to your site shows no signs of engagement for two continuous hours, we will stop tracking the session as a concurrent at that point.
Google Analytics Real-Time Active Users: Google Analytics defines Real-Time active users as follows: a unique user who has triggered an event or pageview within the past 5 minutes. If a user has multiple pages open to your site in the same browser, these sessions will be counted as a single active user in Google Analytics Real-Time.
In Summary...
The key difference to understand most discrepancies between these systems boils down to these differences in real-time metric methodologies. Chartbeat tracking code checks in with each open session to your site, effectively asking each person on your site "where are you and what are you doing now?". This enables us to give a uniquely accurate assessment of how many active visits are occurring at any one moment in time as we know precisely when a given page session ends, whereas Google tracking does not capture this.
Google Analytics (GA) works differently. It simply receives data every time a page is loaded or a custom tracking event is triggered. From these pageview events, until the next page load on your site, Google is blind to what these visitors are doing on your site. This means they can have difficulty assessing what a user does after they reach a page, or if they are even still there at all.
In Google Analytics Real-Time, if a visitor leaves your site before 5 minutes by closing their current browser tab or returning to their previous referring website, Google will continue counting this visitor as an active user for the full five minutes. If a visitor stays on your site for longer than 5 minutes, they will vanish from Google's Real-Time user count, even if the visitor is still on your site.
What does this mean?
If Google's active users are greater than Chartbeat's concurrents:
This is probably because Google Analytics Real-Time is counting active users who are no longer on your site. If you have content that is only holding people for a short period of time, we'll remove these visitors from your total concurrent count immediately after they leave the page by closing their browser tab to your site or returning to their previous referring website like Google Search or Facebook. GA Real-Time always assumes these visitors are sticking for around 5 minutes. If 100 people visit a page but only 20 stay, Chartbeat will only show those 20 open browser sessions whereas Google Real-Time will show you 100. This can cause very significant discrepancies, especially for sites with high mobile and less desktop traffic, as mobile visitors less frequently leave open browser tabs to your site that Chartbeat would continue to count as non-engaged concurrents on desktop.
If Google's active users are smaller than Chartbeat's concurrents:
This is less common, but if you experience this discrepancy, it's likely due to GA Real-Time dropping off visitor sessions after 5 minutes where in reality, some or all of these visitors are still on your site. Our tracking script allows us to continue tracking desktop sessions open to your site for visitors who continue to engage after GA's 5 minute limitation. If 100 people visit a page on your site with video and continue engaging past the 5 minute mark, they will vanish from Google's report after 5 minutes; Chartbeat will continue tracking these 100 sessions. The resulting discrepancy is more common for sites with large amounts of desktop traffic as these page sessions tend to last longer than mobile sessions.
Measure different. Know more.
At its core, the numbers can be different because what we are tracking is different. We believe the power of real-time data is that it allows you to understand what people are doing on your site, not just that they were there recently. Chartbeat is about people and their actions; today that's knowing why a page is working, tomorrow it's making it happen again.

While it's more common that the differences in metrics between these systems as described above is responsible for publisher discrepancies, it's also possible that misaligned tracking implementations between these systems causes the discrepancy experienced by your team. Check to ensure that both systems are measuring the same platforms, and if not, consider adjusting your tracking strategy to ensure alignment across systems. The team responsible for implementing Google Analytics and Chartbeat tracking at your organization are best suited to review these implementations and make changes (if needed) to bring the systems into alignment.
Chartbeat has distinct integrations available for standard websites (including webview-based apps), single page web apps, AMP pages, Facebook's Instant Articles, native app tracking for Android and iOS apps, and other sources of reader engagement which may not be tracked by other analytics systems.