GA4: a retailer's guide to the new world of reporting
As I’m sure we’re all aware, Google sunset the third iteration of their analytics platform, Universal Analytics at the end of June this year. Their intention is to move everyone using UA over to the latest version of their platform- Google Analytics 4, a platform that the marketing community has been slow to warm to.
This is largely down to the differences between the two platforms; changes to the functionality and easy filterability of UA have meant that this feels like having to learn an entirely new platform rather than a re-invention or update of the old one.
The issue I’ve found is not that a lot of the old familiar metrics aren’t there, but that they’re presented differently, dramatically altering the functionality of the platform. This is mostly due to Google’s new data collection model; while UA used sessions to group their data and activities, GA4 measures everything by events. The reasoning for this makes sense, as this new event-focused tracking gives added flexibility to what the platform can do, and which information it gives you. However, this difference in data collection means that some of the most well-known metrics won’t map exactly between the two. GA4 has a https://support.google.com/analytics/answer/11986666#zippy=%2Cin-this-article to comparing event metrics, and has slowly been adding and improving the platform since its launch in 2020. Disgruntled GA4 users have also been putting out lengthy workarounds for reports and functions that were built into the old iteration of the software.
However, this means there are currently a lot of metrics and a great deal more potential metrics to keep track of. This guide acts to highlight some of the bigger changes that you may be experiencing in your reporting, and potential reasoning and workarounds to this.
An important thing to understand about GA4 is that Google’s goal was not to track everything so it matches up perfectly with what they had before, but rather to introduce a new model designed to give us a more accurate view of site behaviour.
Sessions and Engagement:
As mentioned above, the main difference between UA and GA4 is the way that they collect data. While UA grouped everything by sessions and made distinctions between different types of interactions in their reporting, GA4 logs everything as an event.
Sessions are now automatically tracked by the ‘session_start’ event, which is used to create the landing page report. While this report is automatically generated, an editor of your account will need to manually add it from the library in your reporting section for everyone to access it. It’s an additional step to simply clicking on the neat ‘landing page’ widget in UA, but still relatively straightforward.
Aside from this change in the tracking- another important thing to note is that you may see a larger discrepancy between UA and GA4 figures for session numbers over comparable periods of time.
In Universal Analytics a new session begins whenever the date changes, meaning a person starting a late night shopping spree at 22:45pm on the 21st July and finishing at 1.06am on the 22nd will actually track as two separate sessions - the first ending at 23.59.99pm and the second beginning at 00.00.00am, with the conversion attribution going to the latter 'direct' session. Midnight boundaries are set to the time zone in your account settings, meaning that both late-night and international visitors could be affected.
Sessions are also reset whenever a user leaves and returns via a different campaign (e.g. they come to your website via an email link, leave the site, but return within 30 minutes via a different channel such as a retargeting ad), or when a session experiences 30 minutes of inactivity. GA4 as a rule only resets a session after 30 minutes of inactivity and utilises this alongside machine learning to provide you with a more accurate view of how your various channels work together to generate conversions.
Another popular session metric altered by GA4 is the average session duration. Instead, GA4 offers multiple engagement alternatives, calculated by taking the new ‘user engagement’ metric (the sum of the time between the first and last event of every session occurring over a set period) and dividing it by various other metrics.
‘Average engagement time’ divides this ‘user engagement’ metric by the total number of active users (this again has a somewhat misleading name as GA4 simply labels active users as ‘users’, meaning the two user number metrics are ‘users’ and ‘total users’ with the latter including those who are unengaged), showing how long an individual may be engaged on a site over multiple sessions, rather than the length of time any one session is expected to last. This is tracked using ‘average engagement time per session’, which divides ‘user engagement’ by the total number of sessions. Average engagement time per engaged session is one that the platform does not provide but can be independently configured using reporting platforms such as Google Looker Studio.
The final main engagement metric change is ‘Bounce Rate’. Universal Analytics provided this metric to show the percentage of people who were not engaged in a session and left without interacting. Although GA4 did not initially include this metric in their reporting, they have since added it, but they also provide a new ‘engagement rate’ metric to act as an inverse to the bounce rate and track the sessions that are engaged with rather than those that aren’t.
GA4’s bounce/engagement rates may not exactly match to the Bounce rate reported in UA due to the differences in tracking. For example, if a user lands on an article page and spends 10 minutes reading the article but not engaging with any other element of the site, only GA4 would recognise that as engagement.
Events and Parameters:
As mentioned above, GA4 is an event-based tracking platform, logging every individual action on the site from page-views to purchases as an event. GA4 has a range of https://support.google.com/analytics/answer/9234069?hl=en including scrolls, video interactions, page views, and searches that it uses to calculate engagement rates, and of course as with UA you can set up custom events via your site’s code or a tag manager to further track specific interactions that are important to you.
All of this provides a much more reliable and centralised tracking method, but a tracking model based solely on events makes separating out the data important. Of course, you could just leave this unfiltered, but when ‘page_view, and page_scroll, and session_start mean that a single session could contain over 100 events, it can be a challenge to instantly tell whether that was simply engagement metrics brought on by browsing a site, or whether 1 key purchase event was included in there.
One way of dealing with this problem is by marking certain events as conversions (admin > property > events) but this may not always be possible.
For example, if you run an ecommerce site, you may want to keep track of mailing list sign-ups, but you want to keep your conversion tracking for purchase events only. This could make average order value lower. e.g., £2,500 revenue over 25 conversion events suggests a £100 average order size. But, if when you look at the data, 12 of these are sign-ups to the mailing list (whether they do this to get a 10% discount before making their purchase anyway) your average basket size might actually be 90% higher than your initial estimation.
This is where filters come in- unlike UA, GA4 has no way to mass filter something by creating a ‘view’, or even save a filter permanently unless it’s part of an exploration. However, there are a few workarounds for this including using a reporting platform such as Looker Studio to present and filter your data, or by assigning your custom events a unique parameter and customising the reports to filter them out.
Event parameters are another useful introduction from GA4. Every event tracked in Universal Analytics had 3 parameters automatically assigned: event_action, event_category, and event_label, meaning you had these three spaces to assign any required information. GA4, however, has no built-in parameters, but allows you to assign up to 25 of them to a single event with a total of 500 active per day, giving you much more flexibility in the variety and amount of information you can communicate with a tag.
Below is an example of how the same purchase event (an order confirmation page load) may be tracked on both systems:
UA:
Event_action: Payment Success
Event_category: Purchase
Event_label: {{transactionID}}
GA4:
Event Name – Purchase Success
Transaction_ID: {{Transaction_ID}}
Transaction_Total: {{Transaction_total}}
Discount_Code: {{Discount_code}}
Event_Type: Checkout
UserId: {{user_ID}}
Checkout_stage: 4
Event_Filter: TRUE
Of course, this additional information may not be necessary to your tracking, and if you’re happy with your current event reporting structure you can replicate the event_action/category/label events in GA4, but if there is additional information you wish to track, then Google Analytics 4 makes that possible. However, as none of these parameters are built-in, each needs to be individually added in your GA4 settings to appear in your reports.
To do this you go to admin > property > custom definitions > create custom dimension. From here you add the dimension name as you want it to appear in your GA4 reports, set the scope to Event, add a description if you want, and enter the Parameter Name exactly as it appears in the Event Parameters section of your tag configuration on GTM. *
*Note that it can take up to 48 hours for the data to start processing.
Reporting
The above changes can clearly have a lot of impact on your reporting, especially if you do most of it within the Analytics platform itself. One of the things that GA4 is lacking is the easy filterability of UA, particularly in terms of content drilldowns. The ability to click on a specific event name in a table and have the results immediately filtered out by that name is something sadly missing, making one-off investigations into behaviour slightly more complicated.
Explorations seem to be Google’s proposed solution to this reporting dilemma and offers the ability to make custom reports in a variety of visual formats via a drag-and-drop approach. Several online guides are already out there for generating popular reports from UA that did not make the cut, and with explorations being one of the places where filters can be most comfortably used, Explorations are a valuable resource when looking for specific data.
One last thing to reiterate is that because their methods of tracking are incredibly different, your month-on-month or year-on-year reporting may be affected by this switch. Hopefully you won’t have waited until the very last minute to make the switch to GA4, and so your two versions of analytics will have at least a few months of overlap for you to compare any discrepancies. If metrics are consistently higher or lower when pulling from the same data source, then it’s likely down to the differences in the data collection methods. If this difference is unusually significant or inconsistent, then you may have a larger problem with data reception that needs looking into. General advice is if it within 5-10% then that’s normal, and anything above 20% should be investigated further.