Last year I remember seeing Matt Webb—one of the world's best bloggers, and the guy behind the cool AI poetry clock you might have seen around—say this:
Now, Matt's an extremely smart guy, and even he is immediately put off by the unfriendliness of the GA4 interface. Many clients have told me similar things. But the interface is frankly the least of GA4's problems. I recently spent the better part of a day—and not for the first time—trying to work out if it was possible without the BigQuery export to calculate some numbers that would've been available to me very easily in Universal Analytics.
Now, I am not one of those people out here advocating RETVRN to UA—it certainly had its problems and weird quirks, and there are some things about GA4 that I really like! But the fact remains that as a tool, GA4 is astonishingly underpowered or broken in many respects when compared to UA. I remember joking to colleagues that I was going to buy doesga4doityet.com and have it just return "no", with maybe a link at the bottom to all the things that are still—still!—years after the beta release of App + Web—not available, or in some cases just not working.
I want to leave aside any considerations about things like the botched GA4 switchover, the dreadful messaging, the awful forced migrations. I just want to focus on the changes that have come from the tool itself.
There are so many weird little things that can trip you up: having to set custom dimensions before you can report on them with no lookback; having to set 14-month data expiry otherwise you can't use explore reports past two months; automatic tracking of history changes. Some things are thankfully retroactive—reporting identity, channel groupings—but in general there are far too many things that aren't going to be immediately clear to people who just want the UA-style set-and-forget solution—who are ostensibly still the target market!
If this stuff is meant to be so easy and hands-off for the very basic just-put-the-code-on-the-site user, then why are so many things so obtuse for that class of user? I think here particularly of the absolutely certifiable decision to name the conversion version of the source/medium metric "Source/Medium", sans qualifiers, while the session version—the one you’re going to want most of the time—is called “Session Source/Medium”, which inevitably causes me a few minutes of bewilderment every couple of months when I accidentally use the wrong version in a report before I realise my mistake. Goodness knows what it must be like for normal users who aren't entirely pickled in this stuff. Is the skill step-up required to do anything even slightly more than very basic things trying to put people off?
Why are there metrics which are unavailable in the interface but are through the API and Looker Studio? Why is segmentation only possible in Explore reports? Why is data beyond a certain time horizon limited to standard reports? Some of these do have answers, sure, but they point to a larger question: what is a non-power-user supposed to make of any of this?
If you have to learn SQL to do something you used to be able to do without it, you've gone wrong somewhere
The ability to export the data to BigQuery without having to pay for 360 is one of the really good things about GA4. However, if what you can do via the GA4 interface is nerfed vs what you used to be able to do, then it quickly becomes a millstone, as you have to explain that yes, technically what you're after is possible but only if you set up this export.
Our clients are smart and engaged people but they are not made of time, which is why they work with us. For those with existing internal capacity for doing stuff with SQL, the BigQuery export is smashing, but for those without it very often might as well not exist—whether due to the difficulty of getting a corporate card plugged in to Google Cloud (it's astonishing how often this is an issue, even for clients whose data volumes would likely generate low-to-no costs) or because they’re busy people and you’re telling them that in order for this new thing to work properly you have to set up and whole new system and at very least learn a whole new language, if not set up a whole infrastructure for the data modelling.
A few years back I was providing support for someone who had promised a client a metric in a Looker Studio report (I seem to recall it was 'proportion of sessions containing searches', but don't hold me to that) that had a metric in UA but (it turned out, after a significant amount of back-and-forth) is literally impossible to do using GA4 data in Looker Studio without BigQuery. This means that for many users, it might as well not be possible.
Look, it's been said elsewhere by wiser voices than me that Google played an absolute blinder when they made GA free back in the day. They were able to lock in for the majority of people as received wisdom a way of thinking about attribution ('last non-direct click') that favoured both their paid and organic products, which has almost certainly benefited them enormously. That's in the water now! You're probably not losing that for a while. It was fairly subtle, though, whereas "a machine learning model that infers traffic and conversions and who knows if it’ll say there’s more traffic and conversions for Google Ads? not us, black box, guv"—that’s a bit less so.
There’s a button in the attribution settings that lets you attribute conversions only to Google paid channels.
Come on.
An old colleague of mine used to describe the 'session' model of analytics as a vestige of 90s-style browsing: your beige box in the corner of the living room or under the stairs, using your untabbed browser to buy a book from Amazon Dot Com and checking your emails a few times a week, etc. It's not inaccurate as a characterisation, but while sessions might be a bit arbitrary, and I can see why you'd want to de-emphasise them as the 'primary metric', but there's still a use for them. The event-based data model appeals to me on a gut level—it just feels neater, more accurate, etc. However: if I want to look at, say the for sake of example, the source/mediums for transactions, then sessions work—they're certainly not the only way of doing things, but they make sense to normal people.
This, ultimately, feels like the problem: GA4 is, as others have said before, a product analytics tool pressed into service as a marketing analytics tool, thereby not quite managing to be either. Nor is it clear who it's for—I've outlined the way it alienates the newcomer and frustrates the power user. To misquote Gramsci;
The old Google Analytics is dying, and the new struggles to be born.
I wouldn't go as far as to say GA4's a monster, but getting on for two years after the closure of UA, it still doesn't feel complete.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
code looks like this
import bpy
#get all scene objects
objs = [i for i in bpy.data.scenes[0].objects if i.type == 'MESH']
for i in objs:
#check for objects that have one material
if len(i.material_slots)==1:
dupmat = i.material_slots[0].name
print(dupmat)
#check for duplicate names
if ".0" in dupmat:
matName = dupmat[:-4]
if matName in [i.name for i in bpy.data.materials]:
mat = bpy.data.materials[dupmat[:-4]]
i.material_slots[0].material = mat
#check for objects that have more than one material
elif len(i.material_slots)>1:
for x,y in enumerate(i.material_slots):
dupmat = i.material_slots[x].name
print(dupmat)
if ".0" in dupmat:
matName = dupmat[:-4]
if matName in [i.name for i in bpy.data.materials]:
mat = bpy.data.materials[dupmat[:-4]]
i.material_slots[x].material = mat
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Block quote
Ordered list
Unordered list
Bold text
Emphasis
Superscript
Subscript