All posts
search console

Google Search Console Average Position: Read It Right

Google Search Console average position is an impression-weighted blend, not your rank. See how it is calculated, why it misleads, and how to read it right.

By

TL;DR Average position in Search Console is the topmost position your site held, averaged across every impression in the slice you are looking at. Change the mix of queries, devices, or countries and the number moves even if no single ranking changed. Never read a sitewide average as "where we rank" -- filter down to one query, one page, and one device before you draw a conclusion.

Picture a founder who opens Search Console and panics. His blog's average position has gone from 9 to 23 in six weeks. He assumes a penalty, or a core update, or a competitor eating his lunch. He has already started rewriting his best post.

Then he opens the Queries tab. His top post still sits near the top of page one for the query it was built around. Nothing has dropped. What has changed is that four new posts have started collecting impressions for dozens of long-tail queries at positions 40 to 60. Google is testing his new content. That is good news. The sitewide number turned it into a crisis.

I see some version of this constantly, and it is the whole problem with this metric in one story. The number is accurate. The way most people read it is not.

What Google Search Console average position actually measures

Google defines it plainly. In the help article What are impressions, position, and clicks?, the position value in the Performance report is "the topmost position occupied by a link to your property or page in search results, averaged across all queries" in which your property appeared.

Three parts of that sentence matter.

Topmost. If your site shows up three times on one results page, only the highest link counts. Google's own example: one query returns your property at positions 2, 4, and 6, and another returns it at 3, 5, and 9. The recorded positions are 2 and 3, so the average is 2.5.

Averaged. Averaged over what, exactly? The help page says "across all queries," but the more precise answer is in Google's bulk data export reference. It defines a sum_top_position field as the sum of the topmost position "for each impression in that table row," and gives this formula for average position:

SUM(sum_top_position) / SUM(impressions) + 1

The +1 is there because the export counts the top position as zero. That divisor is the key. Average position is weighted by impressions. A query that generated 900 impressions pulls the average nine times harder than a query that generated 100. If you have ever wondered what average position means in Google Search Console beyond the one-line tooltip, that is the answer: it is a per-impression mean, not a per-query mean and certainly not a per-keyword rank.

Position itself is fuzzy. Google counts position top to bottom on the main column, then top to bottom on the secondary side. The same help page warns that position "is a complex metric that can be misleading," and notes that a position of 11 could mean the top of a knowledge panel on the right side of a desktop page or the first result on page two. A feature block with several links counts as one position.

So when someone asks what average position in Google Search Console actually is, my short answer is: a weighted blend of where your highest link appeared, every time anyone saw it, across whatever slice of data you have filtered to. Remove the filters and the slice is everything.

Why the sitewide number moves when nothing ranks differently

Because it is impression-weighted, Google Search Console average position is as much a measure of your query mix as of your rankings. Here is a deliberately simple example to show how.

A worked example (hypothetical numbers)

The numbers below are invented to illustrate the arithmetic. They are not from a real site.

Month one, a small SaaS site gets impressions from two queries:

QueryImpressionsAvg position
Branded product name9001.2
invoice software for freelancers10038

Weighted average: (900 times 1.2 plus 100 times 38) divided by 1,000 = (1,080 plus 3,800) divided by 1,000 = 4.9.

Month two, the founder publishes a cluster of long-tail posts. Both original queries hold exactly the same positions. On top of that, twenty new queries start appearing, together worth 600 impressions at an average of 45.

Query groupImpressionsAvg position
Branded product name9001.2
invoice software for freelancers10038
20 new long-tail queries60045

Weighted average: (1,080 plus 3,800 plus 27,000) divided by 1,600 = 19.9.

The sitewide average got four times "worse." Not one ranking dropped. Impressions rose 60 percent. The site is now in the game for twenty queries it was invisible for a month earlier -- which, for a low-authority site, is exactly the early signal you want.

Run it in reverse and you get the opposite illusion. Delete or noindex the posts that are collecting deep page-three impressions and your average position "improves" overnight while your total visibility shrinks. Any metric you can improve by making your site less visible is not a metric to optimize directly.

Device and country mix do the same thing

The Performance report lets you segment by device and country, and the Performance report help is explicit that search results are specific to the time, place, device, and recent history of the searcher. A page can sit at one position on desktop in the US and a noticeably different one on mobile in India.

Now imagine your mobile share of impressions grows because a newsletter or a social post sends more phone users searching for your brand-adjacent terms. If mobile positions for those queries run lower than desktop, the blended average drifts down even though each device-level position is unchanged. Same story with country: start getting impressions in a market where you rank on page four and your average absorbs them.

This is the same statistical trap as Simpson's paradox. Every segment can hold steady or improve while the aggregate gets worse, purely because the weights shifted.

Property view versus page view: why your numbers will not reconcile

The second source of confusion is aggregation. Google's Performance report documentation states that data grouped by queries, countries, devices, or dates is aggregated by property, while data grouped by pages or search appearance is aggregated by page. It also warns that chart totals can differ from table totals, usually because of that difference.

What does that mean in practice?

By property, Google asks: where was the highest link from this site on this results page? One impression, one position.

By page, Google asks the same question for each URL separately. If two of your pages both appear for the same search, each page gets its own impression and its own position. The impressions help article walks through a knowledge panel example where five of your pages each get one impression by page, but the property gets a single impression total.

Concretely, say a search shows your pricing page at position 3 and a blog post at position 8. The property view records one impression at position 3. The page view records the pricing page at 3 and the blog post at 8. Average the Pages table yourself and you will usually not land on the chart's number, and that is by design, not a bug.

Two practical consequences:

  • Do not add up page-level impressions and expect them to match the property total. They can be larger.
  • When two of your URLs routinely appear together for one query, the page-level positions for the lower URL describe a result that may rarely get the click. That pattern is also a hint you should check for cannibalization.

What is a good average position in Google Search Console?

For a sitewide Google Search Console average position, there is no honest universal answer, and I would be suspicious of anyone who gives one for a sitewide figure. A "good" sitewide average mostly tells you how much branded traffic you have relative to everything else. A brand-heavy site with almost no content can post a beautiful average. A young site publishing aggressively into new topics will post an ugly one. The first site is not doing better SEO.

The question only becomes answerable at a narrow grain: one query, one page, one device, one country, over a stable date range. At that level, a position trending from the 20s into single digits is meaningful, and you can sanity-check it by searching the term yourself (bearing in mind Google's note that even listed queries may not show your site when you repeat the search, because results are personalized by place and history).

For low-authority sites, I care less about the absolute value and more about direction at that narrow grain. That is why I argue a useful SEO reporting format that drives decisions tracks position deltas per post and query, not a single sitewide average.

How to read average position without fooling yourself

Here is the routine I use before I trust a Google Search Console average position figure. The number only earns trust once you have narrowed what it is averaging.

  1. Filter out your brand. Add a query filter that excludes your product name and common misspellings. Branded impressions sit near position 1 and drown everything else. If you have not separated them yet, the logic in branded vs non-branded keywords applies directly here.
  2. Pick one device. Compare mobile to mobile. Mixing devices hides real moves and invents fake ones.
  3. Drill to a single page, then its queries. A page's average across 80 queries is still a blend. The post-level trend is a starting point; the page-plus-query trend is the evidence.
  4. Read impressions next to position, always. If average position worsened and impressions rose, you likely gained new, deeper rankings. If position worsened and impressions fell, something real may have slipped.
  5. Compare like-for-like date ranges. Use the same weekdays and length, and avoid windows that straddle a big launch or a publishing burst you know changed the query mix.

Once the data is filtered this way, using it to pick refresh targets is a separate job. I covered that process in Google Search Console for keyword research, so I will not repeat it here.

How to improve average position in Google Search Console (the honest version)

People search for how to improve average position in Google Search Console as though the metric were the goal. It is not. The goal is more qualified clicks. If you chase the sitewide average, the fastest "fix" is to stop publishing into new topics, because every new long-tail query starts deep and drags the blend down.

What actually improves the number that matters, at the query level:

  • Strengthen the pages already sitting near page one for a specific query, so the topmost position for that query climbs.
  • Consolidate pages that compete for the same query, which also makes your property and page views agree more often.
  • Publish supporting posts in the same cluster so the target page has context and internal links behind it.

Expect the sitewide figure to get worse while you do this well. That is fine. If you want to project what those per-query moves are worth in traffic, the method in honest SEO forecasting for small sites starts from exactly this kind of position-by-query data. And if you are pulling the export by hand every month, the zero-cost founder reporting stack shows how to automate it, which also makes the brand and device filters repeatable.

The metric is fine. The aggregation is the trap.

Google Search Console average position is a correct calculation of something narrow: an impression-weighted mean of your topmost position across a slice of searches. Every time you look at it without filters, you are looking at a blend of brand and non-brand, mobile and desktop, home market and long tail, property and page. That blend moves for reasons that have nothing to do with whether any page ranks better.

This is a planning problem as much as a reporting one. When I sequence a content calendar in Boomranq, the assumption is that a young site's new posts will enter the results deep and climb, cluster by cluster. Measured sitewide, that strategy looks like decline for the first few weeks. Measured per query, it looks like what it is: a small site getting into rooms it was not in before. Read the number at the grain where it means something, and let the sitewide average be what it is -- a summary, not a rank.

Want this planned for your site?

Boomranq turns your product into a sequenced 30-day calendar built around what your site can actually rank for. Join the waitlist for early access.

No spam · One email when we launch · Unsubscribe anytime