Any Google Analytics user can answer how many users visited my site from Facebook or Google. Right?
This post is going to highlight how it’s not so simple.
Personal Aside: I fell in love with Google Analytics 10+ years ago. I realized I could answer simple questions quickly and still apply advanced features, and go much deeper. What made it so accessible to me was that no matter how I did my analysis, I would end up with the exact same report/numbers. A simple standard report would show the same data if I used Advanced Segments or BigQuery. I’m sharing this post to help the community understand what’s happening with their reports and suggest improvements to Google.
So how many users visited our site?
Let’s try and answer how many users visited our site from Google Search.
We will review each traffic source report and highlight why it doesn’t fully answer this question. If you are new to GA4, this will be incredibly helpful in understanding how Traffic Sources work in GA4. There are three different traffic reports to choose from, each associated with a different scope/capability.
- User Acquisition Report (First-Touch User-Scope)
The first report is our user acquisition report. This report shows you what the very first traffic source was for each user that visited your site. It only indicates that first source, so if a user had their first visit from Social and came the next week from Organic, it only will show Social since that’s their first touch.
This report doesn’t answer how many users visited us from Google Search. Instead, it only answers how many users first visited us from Google Search.
- Traffic Acquisition Report (First-Touch Session-Scope)
Next, we have the default traffic acquisition report. Almost everyone uses this report for their GA4 traffic source reports. It’s also the most misunderstood report.
This report shows you the first traffic source of each individual session.
Many users of Universal Analytics would describe this as the same last non-direct attribution report they used to use. This is only partially right. It’s true that non-direct still applies, meaning if a user comes from Organic and their next visit is Direct, both visits will be reported as Organic (in GA4, Direct never takes credit from another traffic source). What’s different is what happens when multiple traffic sources are present within the same session.
One of the features highlighted the most about GA4’s flexibility is that it fixed an issue in Universal Analytics where new traffic sources would end a current visit and start a new, completely separate visit. GA4 no longer splits sessions, but currently, it causes another challenge, where it only reports the first traffic source of the session. If a user clicks a paid ad and starts their first visit to your site, immediately does some additional product research, and also clicks a Google organic search result, that entire visit is assigned to Google Paid Search, and Google Organic Search won’t get any credit in this report.
This is the core of the challenge I’m trying to highlight. When doing traffic source reports, the traffic acquisition report will always be missing some traffic sources from sessions with two or more different traffic sources within the same session. So this commonly used session-scoped traffic dimension will always miss some traffic from sessions that have multiple touches within the same session.
There is one other oddity to point out. Todd Bullivant @ Wpromote pointed out that in that previous example where the user comes from Paid Search and Organic within the same session, we shared how Organic doesn’t get credit for the session. If the user has a second session that’s direct, Google will assign Organic only to the second session, which wasn’t the true origin. There is no built-in dimension for true direct like Universal Analytics, so you would be unable to figure out this is happening (without BigQuery).
- Conversions Report (Event/Attribution-Scoped)
If you are more experienced with GA4, this is where you might think our next report will help. GA4’s last report type is our conversions report, which is event/attribution scoped. This is where each individual event is evaluated, and everyone can receive the credit they deserve.
Most people don’t realize that the scope only provides attribution (credit) for users with a conversion.
This attribution-scoped dimension is the cause of much confusion when GA4 users create custom reports. Here is a common exploration report using Default Channel Group (Event/Attribution-Scoped) with ‘Total Users.’
If we were trying to answer how many users who converted came from Search, this report would be great. However, we are trying to answer how many users came from Google Search regardless if they converted or not, and this attribution-event scoped dimension/report won’t do that.
So how many users visited our site?
This can’t be answered fully in the GA4 UI today. The attribution/event-scoped dimensions omit users who have no conversions, and the session-scoped reports miss some traffic from sessions with multiple traffic sources within the same session. Advanced Segments/Audiences aren’t able to help since they use the same dimensions. BigQuery is the only answer right now to help ensure sessions with multiple traffic sources are properly accounted for basic user/session reporting.
I hope Google rolls out more functionality to help. One proposal would be to allow the event-scoped traffic sources to apply to all events, not just events tied to converting paths. I also think we need significantly enhanced tooltips and tutorials to help new users learn how to properly use the different reports/scopes properly.