← All posts

30 days of Search Console on a real SaaS: what the dashboard buries

We read AppScreenshotStudio's live Search Console for a month through QueryScope. Impressions doubled, clicks stayed near flat, and one page ranked seventh with zero clicks. Here is what the dashboard hides, and the honest limit on each finding.

QueryScope team · · 12 min read ·
search console gsc dogfood

QueryScope is the tool we use to read our own Search Console, so the fair test is to point it at a real site and report exactly what it surfaced, numbers and all. We ran it for a month against AppScreenshotStudio, a live App Store screenshot SaaS, and pulled the last 28 days of its real Search Console data: clicks, impressions, position, queries with intent, countries, and indexing.

The headline looks like a win. Impressions are up 110 percent and clicks are up 156 percent over the prior 28 days. The honest reading is more interesting than the headline, because almost all of that growth is exposure no human acted on, one page is ranking seventh and earning nothing, and the single biggest source of clicks is the brand's own name. This is what the Search Console dashboard buries, finding by finding, with the caveat on each.

TL;DR:

  • Impressions rose to 53,510 (up 110 percent) while clicks reached 277 (up 156 percent off a small base). Site-wide CTR is 0.52 percent at an average position of 10. Most of the new impressions are appearances far down the page, not visits.
  • The single highest-clicked query was the brand name itself, 36 clicks at position 1. Nearly every other named query earned zero clicks. Ranking is not traffic.
  • One post ranks at position 6.9 with 7,746 impressions and a 0.00 percent CTR. On paper that is 232 missed clicks a month. The honest read is AI-Overview suppression, not a free win, and QueryScope says so instead of selling you the 232.
  • Of 147 buying-intent queries, 57 are low value: 50 want the product free, 7 are piracy-shaped. Intent class is not buying quality.
  • Nine URLs, mostly one post and its own section anchors, compete for "fastlane mcp" across 637 impressions and zero clicks. The page is splitting against itself.
  • None of this proves revenue. QueryScope sees search traffic, not what happens after the click.

What does 30 days of Search Console look like on a real site?

It looks like fast impression growth with the clicks barely following. Over the last 28 days AppScreenshotStudio earned 277 clicks against 53,510 impressions, a click-through rate of 0.52 percent at an average position of 10. Both counts roughly doubled versus the prior 28 days (clicks up 156 percent, impressions up 110 percent), and the month-by-month trend is genuinely up: 8 clicks in February, 50 in April, 110 in May, 286 in June.

So the growth is real, but read impressions next to position before you celebrate. An impression counts whenever your link appears, "whether or not the item is scrolled into view," in Google's own words. An average position of 10 across tens of thousands of impressions means most of those appearances sit at the bottom of page one or below, where few people look. Rising impressions told us the site started showing up for far more searches. They did not tell us anyone saw it. That gap between exposure and attention is the whole story of this month, and it is the first thing a clicks-only summary hides.

Why did almost every click come from one query?

Because the brand name carries the site, and the long tail does not convert to clicks yet. The highest-clicked query in the whole account was "appscreenshotstudio," 36 clicks at position 1 from 64 impressions, a 56 percent click-through rate. That one brand query, from people already looking for the product by name, accounts for a large share of all clicks. Run down the rest of the query list and the clicks column is almost entirely zeros, even on queries pulling a hundred or two hundred impressions.

This is the most common illusion in Search Console: a long list of queries you "rank for" that earn nothing. The site appears for "aso keyword research tool" (position 24.7, 126 impressions, 0 clicks) and dozens like it, but appearing at position 24 is not ranking in any sense that pays. The brand query converts because the searcher already wants you. The non-brand tail is impressions, and impressions are not attention. Reading the query view as a traffic tally, instead of as a sample of what you appear for, is how this gets misread.

How much of the traffic does the query report actually show?

Less than the page-level totals, always, because Google hides rare queries. Search Console named 662 queries for this site over the month, but the page-level view counts every click while the query table strips out searches issued by only a handful of people, to protect privacy. The two never reconcile, and the gap is not small: across accounts, Google typically leaves close to half of all clicks with no named query attached.

That matters here because the named-query report is where intent lives, and it is structurally incomplete. The honest move is to take volume and change from the page level, where every click is kept, and treat the query list as an alignment signal only. We covered the mechanism in anonymized queries in Search Console; on this account it means the 662 named queries undercount the real query surface, so any "total" you build by summing them is wrong and low by exactly the hidden portion.

What does a page ranking seventh with zero clicks mean?

It usually means something is sitting on top of the result, not that you found a free win. The clearest example on this site is the App Store metadata post, ranking at an average position of 6.9 with 7,746 impressions and a 0.00 percent click-through rate. A naive "missed clicks" calculation puts that at roughly 232 lost clicks a month, and a rank-tracker would happily sell you that number as a quick win.

QueryScope flags the page and then refuses to promise the 232. A literal zero percent CTR at a page-one position is the signature of AI-Overview suppression or impressions inflated by a SERP feature, not an under-optimized title. The post ranks seventh, but for queries where Google answers above the result, so the clicks the SERP actually offers are a fraction of the "expected" figure. The fix is not a title rewrite chasing a number that is not on the table. It is to confirm which queries still earn clicks, then decide whether the page can win them at all. Surfacing the page is easy. Capping the promise honestly is the part that keeps you from wasting a week. Telling this page apart from one where a better title genuinely would win the click is the CTR quick-win read, and it is the difference between a rewrite that pays off and one that chases a number the SERP never offered.

Try it

Read your own Search Console, not just an essay about it.

QueryScope brings your real Search Console data into Claude Code or Cursor, so your agent reads it for you. From $14.99/month.

Is the search traffic the right kind of traffic?

Mostly informational, and a real slice of the buying-intent traffic is low value. Of 662 named queries, 514 are informational, 78 transactional, 69 commercial, and 1 navigational. That mix is fine for a content engine. The catch is in the buying-intent slice: of 147 transactional and commercial queries, 57 look low value, 50 of them wanting the product free and 7 shaped like piracy. The gap between intent class and buying quality is exactly this.

The free keyword-research tool is where this concentrates. It appears for "aso free keyword research tool," "app store keyword tool free," "free aso keyword tool," and a dozen more, all carrying the word "free." Search Console classes those as transactional because they want to acquire something, but the propensity to pay is near zero. Intent class is not buying quality. A page can rank for a wall of transactional queries and still attract only people who will never convert, and you only see it by reading the actual query strings, not the intent label. Whether that is a problem depends on the page's job: a free tool earning authority from free-seekers is working as designed; a checkout page doing the same would be an intent mismatch worth fixing.

What was quietly competing with itself?

One post and its own anchors, splitting a query nine ways. Search Console shows nine URLs from this site competing for "fastlane mcp" across 637 impressions and zero clicks, and most of them are the same automation post plus its in-page section anchors (#editing-via-api, #how-does-fastlane-automate-screen-capture, and so on). Google is choosing between fragments of one page and landing on none of them well.

This is keyword cannibalization, and the page-level view hides it because the impressions are spread thin across near-identical URLs. The brand query splits too: "appscreenshotstudio" returns the homepage, the about page, the API page, and an ipad mockup page, all at position 1, with only the homepage taking the clicks. Cannibalization rarely shows up as a single bad number. It shows up as authority divided across pages that should be one, and it is invisible until something groups the URLs by query for you.

What is one push from page one?

More than the averages suggest. The free keyword-research tool has 26 of its queries sitting at positions 11 to 20, one page off the front, which the page's blended average position of 43.5 completely hides. The metadata post has 16 such near-page-one queries, the automation post has 10, the featured-on-the-App-Store guide has 4. These are the striking-distance queries: already ranking, already earning impressions, close enough that aligning the page to the exact query and deepening the answer can move them onto page one in a few weeks.

The point is not the specific edits. It is that the per-query spread holds the opportunity, and the per-page average erases it. A page can look stuck at position 43 and still be one push away from clicks on two dozen searches. You cannot see that in the headline number. You see it only when the queries are read individually, which is the per-query reading the dashboard makes tedious and a tool can make routine.

What is leaking before the clicks drop?

Several glossary pages, quietly. The early-warning signal is impressions falling while clicks hold, and on this site the App Store metadata glossary entry dropped from 377 impressions to 157 (down 58 percent), the keyword-field entry from 183 to 17 (down 91 percent), and the review-guidelines entry from 464 to 320. Clicks on all three were already zero, so a clicks-only report shows nothing wrong. The impressions tell you Google is showing these pages to fewer people, and the click loss, when it comes, follows the impression loss.

That is the difference between an early warning and a post-mortem. By the time a page shows up in a decay report because clicks fell, the cause is weeks old. Watching impressions decouple from clicks catches it while it is still a ranking wobble you can act on. It is the same decoupling as the AI-Overview case, read in the other direction: there, clicks fell while impressions held; here, impressions are falling first.

What can this data not tell you?

Whether any of it made money. This is the limit worth stating plainly: QueryScope reads one machine, search traffic, and it sees nothing past the click. Every number here is about how much traffic the site earns and how good the fit is, size and quality. None of it proves a signup, a trial, or a dollar. Conversion is a different machine with its own instrumentation, and any tool that reads Search Console and tells you an SEO fix will lift revenue is guessing.

The other limits are Google's, not ours, and we wrote them up because they shape every figure above. The query view undercounts by design. Average position is a blend that hides the per-query spread. CTR benchmarks from before 2024 broke under AI Overviews, with Ahrefs measuring a 58 percent lower top-result CTR when an AI Overview is present and Pew finding people clicked a result in 8 percent of visits with an AI summary versus 15 percent without. And Search Console keeps only a 16-month window with no delta export, so this snapshot is gone in 16 months unless something stores it forward. Reading honestly means saying what the data cannot do, not just what it can.

Reading your own Search Console this way

This whole report is four caveats applied to one site: read volume from the page level, intent from the query level, position per query, and CTR against the page's own history rather than a stale benchmark. Holding all four in your head for every page is the tedious part, and it is the first thing to slip under a deadline.

That discipline is what QueryScope is built to hold. It reads your real Search Console in your IDE, in the terminal instead of the dashboard, takes volume from the page level, reads position per query, grades the buying quality of the queries instead of just counting intent, and flags the case that matters most: clicks falling while impressions hold. If you want the one-line definition behind any metric in this report, the Search Console glossary covers clicks, impressions, CTR, and position, each with the caveat that comes with it.

Sources

Try it

Read your Search Console where you code.

Ask your coding agent how your site is doing. QueryScope reads your real Search Console data in the terminal: clicks, queries, intent, and indexing. From $14.99/month. One to ten sites.