Connect your Google Search Console — the tool pulls your Search Analytics data and finds, on its own: Low Hanging Fruits, Content GAP, Cannibalization, Low Performers and Top Performers. With filters by period (down to the last 24 h) and search type. Analysis runs in your browser; your data is never sent anywhere.
webmasters.readonly). The token lives in the tab's memory,
it is not stored and never reaches a server. Only you see your data.
dataState: all) — the numbers may edge up over a day or two.
Queries "within striking distance" — positions ~4–20 (especially page two) with real impressions. Sorted by potential extra clicks if the query were pushed into the top 3 (using a CTR-by-position curve built from this property's own data). These are the fastest wins.
Clusters of queries where Google already shows your site, but the position is deep (>15) and clicks are almost nil. Each cluster is a separate content topic; it shows which URL currently ranks (if any) or that there is no page for the topic at all.
Queries that ≥2 different URLs of yours compete for at the same time. Clicks and authority get diluted across pages — pick a canonical one and merge/interlink the rest.
At the URL level: for each page, the queries where it underperforms are highlighted — plenty of impressions, but CTR well below what the position warrants (snippet/intent). Plus a decline flag if the page lost clicks versus the previous period.
What works: the pages that brought the most clicks, and under each one the top queries driving that traffic. Handy for knowing your "workhorses" and where to funnel internal links and updates.
The tool loads the data from the Search Console Performance report and splits it into five ready-made lists. They help you plan on-page work, find topics for new pages, check for cannibalization and spot pages that lost clicks. You need verified access to the property in Search Console. The analysis runs in your browser, and the marko-f.com server receives no data.
Click "Connect Google Search Console" and grant access. Start typing the site address in the "Property" field and pick the property. Then choose the "Period" and "Search type": web, image, video or news. Change "Min. impressions" if needed (20 by default) and click "Analyze". The "Download CSV" button saves the current tab's data.
A summary appears above the tabs: property, search type, dates, clicks, impressions and the number of queries. The "Min. impressions" threshold applies to every tab except Top Performers. The other rules differ by tab:
impressions × (CTR_top3 − current_CTR). The "Page" column shows the best-ranking URL.
impressions × (expected_CTR − current_CTR). The decline
flag appears when a page had at least 10 clicks in the previous period and has lost more
than 30% and at least 5 clicks.
The previous period has the same length and ends the day before the selected one starts.
On every run the tool builds a CTR curve for positions 1–20 from the property's data. A position uses your data if it has at least 100 impressions. Other positions fall back to an averaged curve built into the script. The note above the table shows how many positions came from the property's data.
Sign-in goes through Google Identity Services. The browser receives a short-lived token with
the https://www.googleapis.com/auth/webmasters.readonly scope, which only allows
viewing data, and calls the Search Console API directly. The
token lives in the tab's memory, and the "Disconnect" button revokes it.
One analysis makes four parallel data pulls: by query, by query × page, by page, and by page
for the previous period. Each pull loads up to three batches of 25,000 rows. All
requests use dataState: all, which includes fresh, not-yet-final data. "Last 24
hours" covers the current date in UTC, while longer periods end two days ago.
The summary adds up clicks and impressions by query, and Google doesn't disclose anonymized queries. So the totals here are usually lower than in the Performance report. On large sites some rare queries also don't fit into the row limit.
These Google pages describe the request parameters, the scope and the data gaps. They back up the facts above.
dataState, search types and required scopes.webmasters.readonly only allows viewing Search Console data.