Google Search Console under-reports impression and click data for specific queries in its Performance report. How, and why?
If you have a website, Google Search Console is a useful tool to monitor your traffic from organic search on Google. But a downside of Search Console is that it often hugely under-reports data for specific search queries. Let me walk you through an example....
One of the more popular pages on this site is my article about Forminator form submissions. To find out how it is performing in organic search on Google, I do the following in Search Console:
And it's good news - the page has received 1,434 impressions in Google organic search over the past three months. Even better, those impressions have generated 75 clicks through to my site:
Incidentally, this roughly matches what I'm seeing in Google Analytics 4, where a quick Exploration tells me that this article has been the landing page for 87 organic search sessions over the same period:
Now I know one click doesn't always mean one session (or vice versa), but these two metrics are close enough to reassure me that nothing is terribly amiss.
But back in Search Console, and still with my 'Page' filter enabled, I click over to the 'Queries' tab. This should show me the search queries that generated those 1,434 impressions and 75 clicks. Instead, this is what I see when I order the queries from most to least clicks:
Search Console is listing 79 queries, none of which generated a single click. I also exported the data (EXPORT > Download CSV), and a quick sum in Excel told me that those queries were responsible for 708 impressions in total (out of the 1,434 I saw on the Pages tab). So I'm missing detail on 51% of my impressions and 100% of my clicks! But why?
One explanation for missing data is that the Search Results report only shows a maximum of 1,000 rows in its tables and exports. If you want more than that, you could look at using the Search Console API.
But in my case, that isn't the problem: my data only contains 79 rows (queries), so I'm nowhere near the 1,000-row maximum. There must be something else going on.
Search Console Help provides the following explanation:
"To protect user privacy, the Performance report doesn't show all data. For example, we might not track some queries that are made a very small number of times or those that contain personal or sensitive information."
On the face of it, it does explain why the Pages tab contains more data than the Queries tab. Aggregating by page puts the data into bigger buckets, so user privacy is less of an concern here. However aggregating by query leads to some quite granular data, which Google might want to hide.
That said, many of the queries that Search Console provides me with have a very low number of impressions. Here are some from that article with only a single impression each:
I can click on any of these queries (to add a query filter) and then use the other tabs in the report to identify each user's country and device type, as well as the date of the search. For example, I can tell that a user in Russia searched for 'google tracking tags' on 16 August 2023 using their desktop device.
I found an even worse example on another article. Here I received one impression and one click for the query 'define followers on instagram':
As well as being able to identify this user's country, device type and so on, I could potentially also tie that to their behaviour on my site. I'm not sure how any of this protects user privacy!
For me, it would make sense if Google masked any queries that received a number of impressions and/or clicks under a particular threshold (say <3) within the chosen time period. But that doesn't appear to be what's happening.
My other question is around the complete absence of click data. If, in my example, Google isn't listing any terms that have received clicks, that means it's only showing terms with a low (i.e. 0%!) click-through rate. It would be wrong for me to optimise my page based on data from an unrepresentative set of terms.
I can, however, gain some good insight by looking at what terms are absent. If I filter the 'Queries' tab to only show queries that contain the word 'Forminator', I can see that Search Console lists seven such queries - and collectively they are responsible for only 51 impressions:
That's just 4% of the page's total impressions, or 7% of impressions in the granular query data. There are two possible explanations for this:
A. My article about Forminator isn't ranking well for Forminator-related queries
B. My article about Forminator is ranking well for Forminator-related queries, which are generating clicks and as a result aren't listed in Search Console's 'Queries' tab
To me, B seems much more likely. And if that's the case, it suggests that the Forminator-related queries have a much higher CTR than the non-Forminator-related queries. Hardly surprising, but still good to know.
My Forminator example, where Search Console is giving me granular query data for 0% of my clicks, is an extreme one. I also checked my top five posts, and the percentage ranged from 3% to 18%.
I also checked one of my client's accounts, and Search Console is providing granular query data on a whopping 67% of clicks to their homepage!
I suspect this is because of the nature of the queries. My client's homepage attracts a lot of clicks on brand terms (e.g. variations of the company name). My articles, conversely, get their clicks from all sort of long-tail keywords: highly specific queries with low search volumes. It would seem that long-tail keywords are more open to privacy concerns than brand terms, either because they are lower volume or more specific (or both).
I'd be very interested to know how much of your query data Google Search Console is giving you. Perhaps together we can shed more light on this.