If this is the case then the solution would be adding a filter: Search type EQUALS WEB
Google has their reasons for this kind of aggregation:
- Privacy. Some queries are filtered out because they contain identifiable information.
- Technical differences between tools. We are using the Search Console API which processes data differently from the Search Console UI.
- Computation time. To get an estimate quickly, Google changes the sampling algorithm based on what dimensions you split the data with.
- "Data discrepancies" under https://support.google.com/webmasters/answer/7576553
- "Why do I lose data when asking for more detail?" under https://developers.google.com/webmaster-tools/search-console-api-original/v3/how-tos/all-your-data
Example when filtering results:
- When filtering by page or query, the "matches" and "does not match" totals might not add up to the unfiltered total. For example, adding the totals for "Queries containing:mouse" and "Queries not containing:mouse" might not equal the total values when no query filters are applied. This is because anonymized queries are omitted, and data is truncated due to serving limitations.
Read about it on this page: https://support.google.com/webmasters/answer/7576553?hl=en
All in all, these are Google's limitations, which we can’t go around unfortunately.