21 Jun 22
UA vs GA4 – 5 Key Differences Most Businesses Should Know
The 5 Key Differences Between GA4 And UA
Ready or not, UA is on its way out when Google stops it from tracking user activities on your website from 1 Jul 2023. If you want to have comparative data for your 1 Jul 2023 analytics report, that means you would have to start implementing GA4 tracking by 1 Jul 2022.
To help you gain some insight into what you are changing into:
- if you haven’t had much experience with analytics, please read the previous article.
- if you’ve used analytics semi-regularly and want to skip to the nuts and bolts of it, read on.
Just know that if you see a rocket ship and some basic shapes on the report, you can ignore those symbols as the context for those is set in that article.
1. Reduced Number Of Ready Made Reports in Favour of Custom Reports
As already mentioned in the previous article, UA has over 100 ready made reports. GA4 has less than 20. Why? They want you to think about what works for you and gave you an intuitive, easy to use, report builder instead in the Explore section.
2. ‘Views’ Have Been Removed With Its Functionality Redistributed Elsewhere
The view is a subset of a Universal Analytics property that can have its own unique configuration settings. You can create multiple views for a single property and configure each view to show a different subset of data for the property. For example,
- the marketing team could focus on sales related goal reports (e.g. by looking at what pages lead the consumer to the sale)
- the tech team could focus on complaint form submissions and whether people are finding the tech help pages useful (e.g. how far down do they scroll)
In GA4, you could emulate some of that segmentation and filter function for your different users/department, within the Explore reports. In the previous screenshot, you would see that the owner is ‘Chromatix Services’ for all of the reports. That is because we don’t really have different departments in our organisation. But you can imagine how for bigger companies, that can be ‘Tech Department’ or ‘Sales Department’.
Sample UA Dashboard
Sample GA4 Dashboard
Where have some of those other View functions disappeared to?
Per Google Support, here is the summary of where they can be found in GA4.
UA VIEW-RELATED FEATURES | SIMILAR FEATURES in GA4 |
Website URL: View settings | Website URL: Web data-stream settings |
Timezone: View settings | Timezone: Property settings |
Currency: View settings | Currency: Property settings |
Bot filtering: View settings | Bot filtering: Bot-traffic exclusion |
Site search settings |
Send a search event each time a user searches on the site. |
User management for views |
Since Google Analytics 4 properties do not include views, user access and permissions are handled at the account and property levels. |
Goals |
Conversion events are defined for the property, whereas in Universal Analytics, goals are defined at the view level. |
Filters |
Event modifications and custom events
Create subproperties (360 only)
|
Ecommerce setup |
No need to enable ecommerce reporting in the UI. Monetization reports are provided by default as part of the Life cycle collection in the left navigation. |
Segments | |
Custom alerts | Custom Insights |
3. Reduction Of Scope For Custom Dimensions And Metrics
In UA, when adding in a custom dimension or metric, you can scope it as either User, Session, Hit or Product. In GA4, you are limited to just Event and User.
UA Scope Dashboard
GA4 Scope Dashboard
Does that mean you can’t track session scoped dimensions?
Not really. It’s because the pool of session scope dimension and metrics are quite predictable and GA4 has done the job of predefining them in the custom report, ready for your selection.
How about product scope?
It’s been replaced by item parameters. Going by Google’s developers’ guide, you will see that there are 5 optional properties in the “items” node of the ecommerce schema: “item_category” all the way to “item_category5”. In other words, if you are tracking ecommerce products, it’s probably best that you involve the developer in tracking your product scope, and leave it to them to manage the data layer wholly for you. It’s cleaner that way. Whereas, in UA, it was a mince between your product scope dimensions set through UA and the product scope dimensions set through the data layer by your developer, which could sometimes produce confusing reports due to the overlap.
4. Event Only Hit Types And Deconstruction Of Hit Type Schemas
In Universal Analytics, a website owner is allowed to build their own hits (record of user’s activity) with the aid of a developer, but governed by the Measurement Protocol Hit Builder (MPHB)/Hit Type schema.
What is a hit?
A hit is when your users engage with a website, usually through clicking a link and the link then leads you to another page, but the URL for that page contains some data about what you just did. For example, if you clicked to play a video featured on a website/landing page, chances are you will be lead to another URL that may look something like the below to watch the enlarged version of that video:
https://shopaholics.com/?v=1&t=event&tid=UA-21382531-1&cid=1027&ec=video&ea=play&el=mothersdaypromo&ev=100
All those acronyms after the ? in the url actually represent data points that will be stored in the UA server about your activity.
To break it down.
Data Points | What It Means |
v=1 | Version number (in this case it’s version 1) |
&tid=UA-21382531 | Tracking ID to send this data to |
&cid=1027 | Client ID |
&t=event | Hit type (in this case it’s event) |
&ec=video | Event category |
&ea=play | Event action |
&el=mothersdaypromo | Event label |
&ev=100 | Event value (arbitrary) |
You will find that the above tees up exactly with the Hit Type schema (MPHB) from Google for Event Tracking
The Measurement Protocol Hit Builder allows a developer the ability to send as many parameters/record about a user’s activity BUT governed by the parameters associated to the hit type from the protocol.
For example, compare the following Hit Type schemas. You would note each type has their own set (predefined schema) of parameter and values. So many rocket ships!
Social Hit | Transaction/e-commerce Hit | ||
Data Points | What It Means | Data Points | What It Means |
&t=social | Social hit type | &t=transaction | Transaction hit type. |
&sa=like | Social Action. Required. | &ti=12345 | Transaction ID. Required. |
&sn=facebook | Social Network. Required. | &ta=westernWear | Transaction affiliation |
&st=/home | Social Target. Required. | &tr=50.00 | Transaction revenue |
&ts=32.00 | Transaction shipping | ||
&tt=12.00 | Transaction tax | ||
&cu=EUR | Currency code |
Now if you want to track likes on a Facebook campaign, you would have to remember to define your hit type as social and the acronym of all those other parameters required, such as sa, sn & st.
Instead, GA4 has opted to reduce the complexity of having to memorise all those parameter acronyms and their associated hit type (where they can be found) by doing three things.
- They made every hit type into an event hit type.
- They allow the user to define their own schema/set of parameters and values for each event.
For example, if an eCommerce business owner wanted to track the user journey that lead to a conversion event (e.g. form submission), he can create some custom parameters of the values he want sent back.
The owner has created:
i. Form ID – he has several forms on the website, he wants to know which one was used
ii. Form Subject – he has a dropdown of subjects ranging from Tech Support to Refund to funnel the form to the correct department
iii. Contact name – person who submitted the form
After creating those parameters, he can get his developer to put a tracking code on the submit button to send those parameters through.
Say if a user named Karen submitted a form with the ID 200 and she chose the topic of refund on the form.
When she submits the form, it will lead her to a to a thank you page with the following URL generated by the tracking code:https://shopaholic.com/thank-you/?v=1&t=event&tid=UA-21382531-1&formID=200&message=refund&your-name=karen
Spot the difference between this and the previous URL? No more having to try to remember those parameter acronyms!
The URL above is not the exact format of how GA4 structures it. But is simplified to allow you to understand the difference from UA.
(Firstly, that tid (Tracking ID) would not start with UA, it would more likely be a GA4 data stream ID instead which is usually 10 digits.
Secondly, the parameters and values are more likely to be encrypted for security purposes) - They removed the need for an event to have Event Category, Event Action and Event Label. Just an Event Name will do. And then you can go straight into setting your parameters and values after.
5. Goal Setting Replaced by Conversion Events
With Universal Analytics, defining conversion events involve setting goals in the admin area, which was an elongated process with multiple form fields to set. With GA4, it’s now as simple as marking an event as a conversion event, which is more intuitive.
UA Goal Setting in Admin Section
GA4 ‘ Mark as conversion’ Events in Configure section
The eCommerce difference
The title of this article talks about the 5 key differences most businesses should know. Based on our experience as web developers for the past decade, the majority of the businesses that we deal with in Australia, tend to have more of an info site approach whether they are dealing with a product or services based sale. And by info site, the websites tend to not have carts but have an enquiry form, phone or email as a means of generating leads. We do have quite a number of clients with eCommerce enabled sites (sites with carts) for which the following points will be relevant to know. Please note that the main assumption when reading on is that the implementation is done through Google Tag Manager.
Data Layer Schema Differences
UA eCommerce Data Layer Schema
dataLayer.push({
'event' : 'purchase',
'ecommerce' : {
'purchase' : {
'actionField' : {
'id' : 'T-0001',
'affiliation': 'The Shirt Company',
'revenue': 30,
'tax' : 3,
'shipping': 4
},
'products' : [{
'id': 'shirt01',
'name' : 'Blue Shirt',
'price': 30,
'category': 'Tees',
'quantity': 1
}]
}
}
});
GA4 eCommerce Data Layer Schema
dataLayer.push({
'event' : 'purchase',
'ecommerce' : {
'transaction_id': 'T-0001',
'affiliation': 'The Shirt Company',
'value' : 30,
'tax : 3,
'shipping': 4,
'items': [{
'item_id' : 'shirt01',
'item_name': 'Blue Shirt',
'price' : '30',
'item_category': 'Tees',
'quantity: 1,
}]
}
}];
It is important to pay attention to the subtle differences between the two schemas such as:
- A change in the layout (e.g. No actionField object)
- A change in the parameter names (e.g. products to items, id to transaction_id or item_id)
As this will govern whether the standard reports and custom report builders on eCommerce of either UA or GA4 will work.
Implementation Differences
UA Implementation
Once you had the above UA eCommerce Data Layer Schema implemented, all you had to do was to go to your Google Analytics Settings variable. Go to eCommerce within More Settings, and just tick on ‘Enable Enhanced Ecommerce Features’ and the box underneath ‘Use data layer’ for the standard eCommerce reports offered within UA dashboard to start working.
GA4 Implementation
With GA4, instead of the configuration tag, you have to
- start an event tag for the eCommerce event (e.g. purchase)
- define the event parameters that you want extracted from the data layer
With each event parameter, you would have to extract the value based on its position within the data layer structure. For example, if you wanted to extract the value of the eCommerce transaction, you can see that transaction is just one level down from the eCommerce object (refer to GA4 Data Layer Schema above). So you would use ecommerce.value to extract that out. The ‘.’ symbolising each level down within the object. If you wanted to extract the item category, you would go down the path of defining the variable as ecommerce.items.item_category, just as another example. (In reality, you would be putting ecommerce.items[0].item_category as the items would be an array/list of items and the 0 denotes it as the 1st position within the list but explaining that would require another article).
Summary
There are plenty more differences between UA and GA4 that can be explored but these are the ones that have been filtered out for its impact value. As GA4 is still relatively new and is still being worked on by Google, there is no denying that it is not yet perfect for substituting all of your existing reporting needs that you are currently getting from UA. But rest assured that they are working to get them up.
One thing is undeniable is that whether you like it or not, UA will eventually stop getting supported and you will just be left with GA4. While you have UA turned on, it would be best to have a side-by-side GA4 implementation just so you can understand how to read the data from the GA4 reports a little bit better. Being able to compare the GA4 reports and UA reports, while you have them … is key (pun-intended).