Google Search Console report analyzer
Turn Search Console CSV exports into a scored action queue — every rule, factor and evidence row stays visible.
- SECURE
- NO UPLOADS
- NO SIGNUP
- BROWSER BASED
- FREE
- FOREVER.
Support us with a link or a share
Upload Search Console CSV files
Your files stay in this tab. Parsing, scoring and exports run in your browser; there is no report upload endpoint.
Add one Query, Page or query + page CSV. You may add one of each grain.
Use the same grain and a comparable date range to unlock decline detection.
Prioritized action report
Add a current-period file. A standard Queries or Pages CSV is enough for the first two rules.
What a Google Search Console report can actually show
The Search results performance report measures clicks, impressions, click-through rate and average position. Those four metrics answer different questions. Impressions describe how often a result was eligible to be seen. Clicks describe visits from that result. CTR divides clicks by impressions. Position is an average of the topmost result credited to the property or page, depending on the report's aggregation. A row at position 8.2 did not necessarily sit in one fixed eighth position for a month.
That is why this analyzer treats position as a queueing signal rather than a verdict. Google itself recommends looking primarily at trends in clicks and impressions and using average position as supporting context. Every ranking action here therefore includes a verification step that returns to clicks and impressions. Moving an average from 9.1 to 8.7 is not a useful outcome if the page reaches fewer searches and receives fewer visits.
Query, Page and query + page are different report shapes
A Queries CSV has one row per visible search query. It can find query-level CTR gaps and phrases ranking in positions 4 through 20, but it does not identify the page behind each row. A Pages CSV groups the same metrics by canonical page. It can find page-level opportunities, but it cannot prove which query produced them. Add both files for a broader report; the tool keeps the two granularities separate rather than adding unlike rows together.
A file with both Query and Page carries a third, more specific shape. Google's Search Analytics API can group returned rows by both dimensions. That file unlocks the two rules that genuinely require the relationship: a query split materially across several pages, and a low-confidence screen for queries whose meaningful words do not occur in the URL path. The second rule never pretends to understand page copy or intent. It creates a manual review queue and explicitly warns against changing a useful URL just to insert a keyword.
A direct Search Console export is a sample, not the whole property
The export button carries the report's current filters, date range, selected search type and table grouping into the downloaded file. Direct report exports are limited to the data shown in the interface: up to 1,000 representative table rows. The chart totals can include anonymized or truncated rows that do not appear in that table. A small property may fit almost completely; a large one often will not.
The receipt above reports how many valid rows the browser actually read and which grain it detected. It does not compare the file total with Search Console's chart total because that total is not present in the table CSV. For a larger, repeatable dataset, use the Search Analytics API or Search Console's BigQuery bulk export and reshape the relevant rows to the accepted columns. Keep the source and filters beside the action plan so the next period is comparable.
Five deterministic rules, each with a rule ID
SC-CTR-01 screens for a meaningful number of impressions and a CTR well below rows in the same broad position bucket. SC-RANK-01 collects rows between positions 4 and 20. SC-CANN-01 opens a review when a second page owns at least one fifth of a query's impressions. SC-LOSS-01 compares two like-for-like files and looks for a fall of at least five clicks and 20 percent. SC-MATCH-01 is the lexical query-to-URL screen and is permanently assigned lower confidence.
The rule ledger is as important as the findings. It says what ran and what did not. Uploading a Pages file without a previous period should never create a fake cannibalization finding or imply that declines were checked. Instead, the ledger names the missing query + page or comparison file. A report with fewer findings can therefore be weaker than one with more if it skipped the rules you needed.
How the priority formula turns findings into a work queue
Each result shows impact, confidence, reach and effort on a scale from 1 to 5. Impact uses the modeled CTR gap, lost clicks or the size of the opportunity. Reach follows impressions. Confidence rises with the amount of evidence and is capped for rules that can only suggest a manual check. Effort starts with the action itself and shifts by one point according to what you said your team can change.
The raw formula is impact × confidence × reach ÷ effort. Dividing that result by
the largest possible raw score, 125, turns it into the displayed 0–100 priority. It is a
sorting mechanism for this report, not a site quality score and not a traffic forecast. Two
rules can also describe the same row from different angles, so modeled click gaps must not be
added together as if every intervention were independent.
Compare equivalent periods before calling a row a lost winner
Name the periods rather than relying on filenames. Use date ranges of equal length and, when possible, align days of the week. Keep search type, country, device and other filters the same. A 28-day Web report for all devices and a seven-day Image report on mobile are valid files, but comparing them would not isolate a performance change.
The loss rule preserves both versions of every evidence row. Begin by asking which component moved. Lower impressions can mean less demand or less visibility. Stable impressions with lower CTR points toward a changed result page, snippet or intent mix. A position movement can support either investigation, but seasonality, site edits and competitor changes still need a human timeline. The generated verification text asks for that timeline instead of inventing a cause from five numeric columns.
Your CSV stays in the browser
Selected files are read into this tab and passed to a dedicated browser worker. The worker performs CSV parsing, period matching, grouping and scoring away from the page's main thread, so a larger export does not freeze every control while it is being examined. No report body is sent to CreatorValet, Google or an AI provider. Closing the tab discards the result.
The complete report appears on this page first. Download the CSV when the findings need to become a sortable backlog, Markdown when they need to become a review note, or PDF when the report needs to be shared as a finished document. The PDF has a small linked byline below its title pointing back to this analyzer. All three files contain the rule ID, action, verification and the same factor values shown on screen. If you first need to inspect an unfamiliar export's delimiter, encoding or row shape, open it in the CSV viewer; it solves file integrity, while this page solves the narrower question of what to investigate next in Search performance. If you do not yet know whether indexing, visibility, CTR or local search is the first problem, begin with the interactive Google ranking diagnosis and bring its chosen Search Console rows back here. When search demand and rankings look stable but the affected page feels slow, use the PageSpeed Insights and Lighthouse report analyzer to turn the separate performance evidence into a version-aware action queue.
Questions
Which Google Search Console report should I export?
Start in Search results under Performance, choose a complete date range, and export the table as CSV. A Queries file can reveal low click-through rate and ranking opportunities by search phrase. A Pages file runs the same screens by canonical page. You can add one of each for the same period. Search Console applies the active date range, search type and filters to the export, so name the period here and keep a note of those filters. Google limits a direct report export to the rows shown in the report, commonly 1,000 representative rows, while chart totals can include rows that are absent from the table. The analyzer therefore describes the selected export; it does not claim to represent every query on a large property.
Why does keyword cannibalization require a different CSV?
A standard Queries export groups metrics by query, while a standard Pages export groups them by page. Neither file on its own proves which pages appeared for the same query. Cannibalization needs rows containing both Query and Page. The Search Analytics API can group by both dimensions, and some spreadsheet connectors can produce that shape. When such a file is present, rule SC-CANN-01 groups each query across pages and opens a review only when the second page owns at least 20 percent of the query’s impressions. Multiple pages are not automatically harmful. The report tells you to inspect intent before consolidating anything, because two pages can legitimately serve different needs.
How is the priority score calculated?
Every finding uses the same visible formula: impact multiplied by confidence multiplied by reach, divided by effort. Each factor is an integer from 1 to 5. The largest possible raw score is 125, so the page divides the raw result by 125 and displays it on a 0–100 scale. Impact reflects a click gap, lost clicks or the size of a ranking opportunity. Reach reflects impressions. Confidence rises with sample size but remains deliberately low for the lexical query-to-URL screen. Effort starts from the action type and shifts by one point according to whether you can edit content and code, content only, or only pass on recommendations. Changing that answer never changes the underlying evidence.
What counts as high impressions and low CTR?
You choose the minimum number of impressions; the default is 100. For CTR, the analyzer compares a row with others in the same broad position bucket: positions 1–3, 4–10, 11–20 or below 20. When at least five qualifying peers exist, their median CTR becomes the benchmark. Small files use a published fallback rubric of 10, 4, 1.5 and 0.5 percent for those buckets. A row enters the queue when its CTR is at most 60 percent of the benchmark and the modeled gap is at least three clicks. This is a screening rule, not a universal CTR promise. Search features, brand demand, query intent and the exact position distribution can all change what a reasonable CTR looks like.
Can this report tell me exactly why traffic fell?
No. With two equal-shape period files, SC-LOSS-01 finds rows that had at least ten clicks and then lost at least five clicks and 20 percent. It also preserves clicks, impressions, CTR and average position from both periods, so you can see which metric moved. That narrows the investigation but does not establish a cause. Seasonality, changes in demand, a different result page, site edits, indexing, competitor changes and Google systems can produce similar patterns. The action asks you to review those possibilities and record a suspected cause before making a change. The verification step then uses a comparable period and the metric that originally fell, rather than treating a small position movement as proof.
Is my Search Console data uploaded or used by AI?
No. The browser reads the selected files and sends their text to a worker in the same tab, not to CreatorValet or an AI service. The worker parses columns, applies five fixed rule IDs and returns structured findings. The on-page report and the CSV, Markdown and PDF downloads are created from that same local result. The PDF writer is loaded only when you request that format, and the file carries a small linked byline to this tool. Closing the tab discards the files and report. This also means there is no account connection, saved history or scheduled monitoring. If you need a recurring report, download the action plan and keep the original exports with their period names and filters so the next comparison uses equivalent data.