Use the total that answers your question
For overall Google Search performance, use the report’s chart total with the right filters. Use the table to investigate the rows it shows. The two can differ because rare queries are hidden, exported rows are limited, and page-level reporting counts differently from property-level reporting. A mismatch alone does not mean clicks were lost or tracking broke.
Google lists these causes in its data discrepancy documentation. The examples below show how to interpret a difference without trying to force two different totals to agree. All figures are illustrative.
The chart says 1,200 clicks; the queries add up to 980
You have selected the same 28 days, search type, country, and device. The visible queries account for 980 ÷ 1,200 = 81.7% of the clicks in the chart. The other 220 clicks are not assigned to visible rows in that table.
Search Console omits anonymized queries from the query table. They can still contribute to the unfiltered chart total. A row limit can also leave queries out, so do not label the entire 220-click gap “anonymized clicks” without further evidence.
| Question | Answer in this example |
|---|---|
| How many search clicks did the report record? | 1,200 |
| How many clicks can I attribute to the visible query rows? | 980 |
| Which exact searches produced the remaining 220? | This table does not tell us. |
Keep both figures if query coverage matters to your analysis. Do not distribute the missing clicks across the visible rows or invent an “other queries” list with names the report did not supply.
Brand and non-brand filters can leave a gap
Suppose the unfiltered chart has 1,200 clicks. A query filter that matches your brand gives 400; its “doesn’t match” counterpart gives 580. Together they account for 980 clicks, not 1,200.
A query filter excludes anonymized queries, including when the filter says “doesn’t match.” Truncation can also affect the results. Google explicitly notes that these two filtered totals need not add up to the unfiltered total in its filtering guidance.
In this example, 40.8% of the clicks in the two filtered groups are branded: 400 ÷ 980. That is a different statement from “40.8% of all clicks were branded.” The branded group accounts for 33.3% of all recorded clicks, and the 220-click remainder is unclassified by these filters. Keep the denominator in the label.
The regex builder can help group spelling variants. It cannot reveal the hidden query text or make the filtered groups exhaustive.
The Pages table can count more impressions
Imagine 100 search-result views. On each view, two different pages from the same site appear. Counting the property once per view gives 100 impressions. Counting each page gives 100 impressions for page A and 100 for page B: 200 when you add the page rows.
Those figures describe different units. Google’s aggregation documentation distinguishes one property appearance from individual page appearances. Adding page or search-appearance filters can change the aggregation used by the chart.
For a page review, use that page’s report. For a property-level trend, compare the same property-level scope in both periods. Do not use the sum of page impressions as a replacement denominator for the property’s CTR.
CTR and position are not additive totals
Two non-overlapping rows with 10 clicks from 100 impressions and 10 from 1,000 have a combined CTR of 20 ÷ 1,100 = 1.82%. Averaging their rates of 10% and 1% gives 5.5%, which is wrong for that group. Even the correct weighted calculation cannot reconstruct an unfiltered total from an incomplete or differently aggregated table.
Average position needs the same care. The average-position guide shows why changes in the mix of impressions can move the number.
A CSV is not always the complete dataset
Google’s direct-export documentation sets a 1,000-row limit for report tables. Chart totals can include data beyond those rows. It also notes that unavailable values displayed as “~” or “-” become zeros in downloads.
If a file stops at exactly 1,000 rows, check the limit before concluding that your site only appeared for 1,000 queries. If a suspicious zero appears, inspect the original report before interpreting it as measured zero performance.
The Search Console API can provide more rows but also has limits. For larger ongoing analysis, Google offers bulk export to BigQuery. These are different export routes, not a way to recover every missing query name from an existing CSV.
Our CSV opportunity finder works with the rows present in your file. It keeps its shortlist separate from your property total for exactly this reason.
A five-minute check before calling it a bug
- Match the scope. Confirm the same property, dates, search type, country, device, and filters. Record them with the export.
- Name what you are counting. Is it the property chart, a filtered chart, query rows, or page rows?
- Check the file boundary. Look for exactly 1,000 rows, omitted query names, and unavailable values exported as zero.
- Use complete days. Recent preliminary data can change. If another tool is involved, check its reporting time zone too.
- Keep the mismatch visible. Report “1,200 total clicks; 980 attributed to exported query rows” instead of silently replacing the total.
If the same report and scope still disagree after a fresh export, save the filters, export time, and one concrete example for support. A screenshot of two different totals without their scope usually leaves the most useful clue out.