Google Analytics vs BR Engagement

Although both Engagement and Google Analytics are reporting metrics with the same names, such as "users" or "sessions," these metrics are defined differently in each of the tools, and hence they will always have different values. It does not mean that the tools are not precise enough, they just use different definitions. This is down to the architecture and native behavior of these platforms. Google Analytics reports are created around sessions while in Engagement the essential data structure spins around individual customers/visitors, which we believe gives you a more accurate picture of your business.

Some of the differences you might come across are:

  • Number of sessions
  • Length of sessions
  • Number of users
  • Number of events
  • Traffic sources segmentation
  • Bounce rate
  • Revenue

In this article, we will highlight the major differences to explain why your reporting from GA will probably differ to that from Engagement.

Sessions

Google Analytics
By default, a session expires 30 minutes after any interaction (pageview, event, or transaction). This means that if you leave your computer for 31 minutes with a webpage opened and then come back and continue browsing, GA will count this as 2 sessions, while Engagement only as 1.

The duration of the session then is the difference between the last and first interaction (the 30-minute timeout is ignored for the purpose of calculating the session duration).

Engagement
When a customer visits your website, an event session_start is generated. A session in Engagement expires 20 minutes after the customer has closed the page, which generates the event session_end. There is no time limit for the session to expire as long as the page is still open in a browser.

The duration of the session will be the difference between the timestamps of session_start and session_end in seconds. The timestamp of the session_end will have a timestamp within 2 minutes after the customer closed the last page (similarly to GA, the 20-minute timeout is ignored for the purpose of calculating the session duration).

In other words, the timeout ensures that if someone closes the page but returns within 20 minutes, this will still be counted as a single session. However, if they don't return, those 20 minutes will not be counted into the session duration.

📘

How we know a page was closed

Once a customer starts a session, session_ping is generated every 2 minutes to check whether the page is still open in the browser. This will stop once the page was closed. In that case, an event session_end is generated 20 minutes later (the timeout) with a timestamp of the last session_ping + 30 seconds.

Note that this behaviour can be customized by changing the Javascript SDK's ping options. For example, you can change the default 2 minute pinging interval, or enable user activity tracking which makes sessions last only as long as the user is performing some kind of actions on the webpage.

Other differences related to sessions:

Google AnalyticsEngagement
Cuts any active session in midnight and splits it into 2 sessions.A single session continues normally over midnight.
If 2 page visits have different source or campaign, they are counted as 2 sessions, even if they happen within the shortest time. For example, if you use a payment gateway such as PayPal, GA counts a new session after the customer returns to the thank you page during a purchase. To avoid this, you need to set up referral exclusions in GA settings.Following the definitions explained above, if the customer returns to the website from the payment gateway within 20 minutes (when session_end would be generated), the whole process will be counted as a single session.
GA tracks time spent on a page only if it was followed by opening another page. So it doesn’t record time a user spent on the last page of the visit. If a user does a session with only one-page visit, session duration is 0.Session in Engagement starts when the first page is opened and ends when the last page is closed. It tracks how long the page was open without any timeout, thus providing a session duration even for a session with only 1-page visit. There are no special exceptions that will cause a new session to be created.

📘

Read more about how sessions are defined in GA here

Users vs cookies

Google Analytics
The number of users in Google Analytics represents the number of cookies created. Since users can come to your website multiple times from different devices and browsers (each browser and device bears a different cookie), you don’t really know how many individuals are actually behind the number of cookies. There is a feature in GA called "User-ID" that can be used for cross-device identification, however, this needs to be set up manually and is often not used.

Engagement
On the other hand, every project in Engagement is integrated with cross-device identification, which means that different cookies are merged under a single customer (once he or she is identified through logging in or making a purchase), giving you a much more accurate view on the real number of your users.

📘

Read more about identification, cookies and merging in Engagement here.

Data sampling

Google Analytics
The free version of GA begins sampling data for non-default reports that exceed 500,000 sessions. GA 360 doesn’t begin sampling data until reports exceed 100 million sessions. Sampling data means that only a subset of your traffic data is selected and analyzed, and that sample is used to estimate the overall results.

Engagement
In Engagement we don’t sample data at all.

How real-time the data is

Google Analytics
Google Analytics processes data and stores it into various ready-made tables on the (slower) hard drive of the server. Getting the data to a free version of Google Analytics would take approximately one day (it varies from several hours to more than a day). In the paid version, called GA 360, it’s usually within 4 hours.

Engagement
The data is processed in real-time (within milliseconds/seconds) at the moment a customer performs an action on your website.