Site Search Reports
Google Analytics contains four pre-configured reports for your search data:
- Overview: Top-level statistics, such as sessions with search, proportion of refinements, and proportion of exits.
- Usage: How searchers and non-searchers compare in terms of engagement and conversion.
- Search Terms: What terms your users have been searching for, and how they engaged with the results.
- Search Pages: Which pages your users were on before submitting their search, and how they engaged with the results.
Overview and Usage are good for looking at the impact of site search on the user’s journey, whereas Search Terms and Search Pages allow you to dive into what actually happened.
For me, the Search Terms report is most useful of the four; much of the other data is derived from this table and it provides the granular insight we need to take action to improve things.
Take this example from the Builtvisible blog; ecommerce is the most commonly searched term by a mile, but almost all searches result in the user leaving the site. We know we have lots of really great ecommerce content, so why is this?
Google Analytics 4 (GA4)
As with a lot of things in GA4, it’s very easy to get data collection going but a little more complex to access the insight.
For a simple breakdown of search queries, head to the Events report, find “view_search_results”, and click it to open the summary report for the event.
For the more advanced metrics we have in Universal Analytics, such as search depth or % exits, you’ll need to head over to BigQuery.
I can’t find that event!
If you can’t find the “view_search_results” event, double-check the search parameter in the Enhanced Measurement settings then use the DebugView to ensure the event is firing correctly.
If you’re seeing the event firing but you’re still not getting the data in reports, it may be that the data has been withheld. GA4 does this when data volume is low and may be considered identifiable. You can read more about data thresholds here.
Solution? You could turn off Google Signals, as without Signals thresholds are only applied to demographic data, but the data should still be available in BigQuery, so I’d recommend heading over there.
Improving Search Insights
So, we’ve seen how easy it is to set up Site Search and get some insights from it, but how insightful were they really? Let’s take another look at that Builtvisible blog example, why are people who search for ecommerce content leaving the site?
If you have a high % exit for most queries then it’s probably a UX problem with the results page, or technical problem with the engine itself. At this point, a quick check of your JavaScript Error events or a reccy in Hotjar should put you on the right track.
But, if it’s just a couple of terms, it’s more likely an issue with the search results; either they’re not relevant enough, or there weren’t any at all. The trouble is, we have no way to know which is true with the data in Google Analytics Site Search reports.
We also don’t know whether the search was filtered, and what effect that had on the results returned – maybe we have lots of SEO content for ecommerce, but not so much Data content.
Google Analytics will never give you all the answers, you’ll need to turn to some UX tools to dig into some of these questions, but with a bit of customisation we can get a better steer as to where to direct those efforts.
The data layer
As always, the first step to improving our data in Google Analytics is to get the missing data into the Data Layer.
When the search results page loads, have your developers push a data object containing all the search context: term, filters, and results count. Ideally, this should be added before the container loads, so that you can pass it in with the existing pageview.
dataLayer.push({
"event": "site_search_results",
"search_term": "ecommerce",
"search_filters": "digital_pr",
"search_results": 0
});
Custom dimensions and metrics
To collect this search context data, you’ll need some custom dimensions and metrics:
- Search Filters: Dimension – Hit
- Search Results: Metric – Hit
- Search Count: Metric – Hit
The Search Results custom metric will provide the total number of results returned across all searches, which isn’t that helpful in itself. So, I recommend getting a Calculated Metric set up for Avg. Search Results.
Wait, why do you need to create a Search Count metric? Google Analytics provides only a count of unique searches, which would cause inaccuracies in your calculated metric, so we create a count of total searches to improve this.
Amend the tagging
First up, create Data Layer variables for search_term, search_filters, and search_results.
Then we need to create our search count metric, we can do this by creating a Custom JavaScript variable which returns 1 when the search data is detected.
function(){
if("{{dlv – search_term}}" != undefined){
return 1;
}
}
Finally, we need to add our new custom dimensions and metrics to the GA Settings variable. This will send the additional search data whenever it is defined in the data layer.
GA4
Adding the data to GA4 events is almost exactly the same; in your GA4 Configuration tag, add parameters for search_filters and search_results.
Parameters set in this way will be globally applied – in other words, they will be set whenever the data is available, exactly the same as with the GA Settings Variable for Universal Analytics.
You’ll notice in the example below that I haven’t included the search_count for GA4, this is because I’m building my reports in BigQuery and can create my count in there.
Custom reports
Armed with this new search context data, we can create a custom report which allows us to explore search in more detail. Which might show us something like this:
Now we know exactly what we need to do – create more Data content about ecommerce! Looks like I have a busy month ahead!
Another analysis that might be worth looking at is % Search Exits for your top queries broken down by search filters. If you have a particularly high % Search Exit for some filtered searches, it may indicate lower relevance of those results specifically.
For GA4, you may find it tricky to get this level of detail in Analysis Hub. This is because many of the metrics we’re familiar with (e.g. % Search Exits) aren’t pre-defined in GA4. I’d recommend using BigQuery for this level of analysis for now.
Data is only as valuable as what you do with it
Site Search is a really rich source of data and the default reports are a great starting point, but with a little effort we can make them so much more actionable.
Take the time to expand your understanding of site search, then pop it at the heart of your marketing efforts.
Still not sure where to begin with Site Search? Fear not, our Data team are here to help.