Skip to content
Search Console · Published

Search Console average position is lying to you

It is not a Google bug and it is not a broken property. The Search Console average position does exactly what it promises: it averages. The problem is that almost nobody knows what it is averaging.

By Alejandro Verjel · Founder of Rankiamos

TL;DR

  • It is an impression-weighted average, not your position. The query that showed you most carries the most weight.
  • Only searches where you appeared are counted. The times you do not show up never enter the math, which flatters the number.
  • It blends countries, cities, devices and days into one figure. If you sell across LATAM, that is up to 18 markets in a single number.
  • It arrives 2 to 3 days late, and a 28-day view shows a 28-day average. A recent crash barely registers.
  • Search Console tells you how it went. A rank tracker tells you where you stand today. They cover each other blind spots.

How average position is calculated in Search Console, step by step

Before arguing about whether the number lies, it helps to know how average position is calculated. There is no magic and no estimation involved: it is a precisely defined piece of arithmetic, and the entire misunderstanding comes from assuming it measures something else.

1. An impression is logged every time you appear

Every time one of your links is served on a results page, Google logs an impression and records where that link sat. The user does not need to click, or even scroll far enough to see you. Being served on the page is enough.

2. Position means place on the page, not blue link number N

Google scans SERP blocks top to bottom and left to right. An image carousel, a video block, a questions section or an AI summary sitting above you all occupy slots in that count. That is how you can "drop" without losing a single spot to a competitor: the page changed shape, you did not.

3. With two URLs in one search, only the higher one counts

At property level, if one of your pages ranks third and another eighth, Search Console records a 3. The 8 appears nowhere. Filter the report down to a single page and you see that page position instead. This is why the same day, the same site and the same query can hand you two different numbers depending on the filter.

4. Everything inside the filter gets averaged

Finally, Search Console adds up all those recorded positions and divides by the number of impressions. Unfiltered, that mixes every query, every country, both devices and every day in the range. Change any filter and the number changes with it.

A tiny example makes it obvious. Say you had four impressions in a week: three at position 5 and one at position 40. The math is (5 + 5 + 5 + 40) ÷ 4 = 13.75, so Search Console shows 13.8. You were never at position 13.8. Nobody ever saw you there. That number does not describe anyone real experience; it describes an arithmetic operation.

There is a subtler detail that matters even more: the average is weighted by impressions. A query that served you 5,000 times outvotes one that served you 50, even if the second is the one bringing in customers. If your most valuable commercial term has modest volume, its position barely influences your property-level number. You can collapse on it and watch the report line stay almost flat.

This is also why average position is not comparable between sites or between sections. A blog full of long-tail queries and a store with fifty product pages can both display 15.7 on screen with opposite realities underneath. If you want to understand what each metric in the report really covers and how it lines up with your own measurements, the guide to connecting Search Console to a rank tracker is the place to start, and the full list of what the app measures lives in Rankiamos features.

Why Google Search Console average position does not match what you see

The complaint always arrives in the same shape: "the report says 15 and I search and I am at 3". The fact that Google Search Console average position does not match your own search is not a defect. It is four mismatches stacking up at once.

1. One is an average, the other is a single case

The report summarizes thousands of searches by different people. You are looking at one, yours. Comparing an average against a single observation makes no statistical sense, the same way you would not compare the monthly mean temperature with this afternoon.

2. Survivorship bias

Only searches where you appeared make it in. Queries where you rank nowhere generate no impression and therefore do not exist in the calculation. The report never tells you where you are absent, which is precisely what you need in order to grow.

3. Your own search is contaminated

History, location, signed-in session, device language. Incognito mode does not fully clean it either, because location still travels with the request. We break that down in why incognito searches do not show your real position.

4. They describe different moments

You are looking at the SERP right now. The report shows data from two or three days ago, averaged over whatever date range you selected. Even if they measured the same thing, they would not agree.

The two paradoxes that confuse everyone

Out of those mismatches come two behaviours that look absurd and are perfectly logical:

The improvement that looks like a decline. You publish new content, Google starts testing you across dozens of long-tail queries, and you enter them at position 50 or 60. Each of those appearances adds bad impressions to the average. Your good queries did not move a single spot, yet site-wide average position slides from 12 to 18. You gained surface area and the report paints it as a setback. If clicks rise during those weeks while average position worsens, you already have your diagnosis.

The decline that looks like an improvement. The symmetrical case, and a far more dangerous one. You stop appearing across a large group of queries where you sat at position 70, because a page got deindexed, because you lost relevance, because the SERP changed. Those impressions vanish from the calculation, the average sheds its ballast, and your average position "improves" from 24 to 16. The chart shows a beautiful climb while you are losing visibility. The only way to catch it is to read impressions and position together, never position alone.

The operating rule is short: never interpret average position on its own. Always pair it with impressions and clicks, always in the same date range and the same filters. Position moving without impressions moving means one thing; position moving alongside impressions means something entirely different.

Position 4 in Bogotá, 19 in Mexico City and an average nobody experiences

The arithmetic with real numbers, which is where this stops being theory.

Take a typical commercial query for an agency working across several Spanish-speaking markets. Same keyword, same language, four countries. Here is how Search Console splits the impressions over the last 28 days:

Impressions and position per country for the same keyword
Market Impressions Actual position there Contribution
Colombia 420 4.1 1,722
Mexico 380 19.3 7,334
Spain 150 28.0 4,200
US Hispanic 90 34.5 3,105
Total 1,040 15.7 16,361

16,361 divided by 1,040 gives 15.7. That is the number on your screen, and it is correct: Google got nothing wrong. The problem is that no user on the planet saw your site at position 15.7. People in Colombia saw you fourth. People in Mexico saw you on page two. People in Spain and the United States saw you on page three. The average lands in a gap where nobody lives.

Now the expensive part: what decision do you make with a 15.7? The intuitive read is "I am on the edge of page one, one push and I am in". With that diagnosis you go chase links, rewrite the title, pile more content into the same URL. None of it addresses the real problem, because the real problem points in two opposite directions at once:

  • In Colombia you are already top 5. You do not need more ranking there, you need more clicks: title, meta description, brand, reviews. Building authority in that market is paying for something you already own.
  • In Mexico you sit at 19. A better title will not fix that. You need content built for that market, local signals and, most likely, time. It is a different project with a different budget.
  • In Spain and the US you are on page three. The honest question is not how to climb, it is whether competing there is worth it at all. The answer may be no, and knowing that is worth money too.

Three different strategies hidden behind one number. And here comes the second blow: two completely different sites can display the same 15.7. One with every query hovering steadily around 15, another with half its queries in the top 3 and half at position 30. The first needs a general push; the second needs surgery in one specific market. The report renders them identical.

The conclusion is not that the average is miscalculated. It is that an average, by definition, erases variance, and variance is exactly where your opportunity lives.

In LATAM it hurts twice: 18 Spanish-speaking markets in one number

An English-language site selling in the United States has a moderate averaging problem: one dominant market, one language, one currency. Anyone doing SEO in LATAM plays a different game. Spanish is spoken across 17 countries in the region, plus Spain, plus the US Hispanic market. That is 19 distinct SERPs for the exact same string of text, with different competitors, different intent and even different vocabulary.

And by default they all land in the same cell of the report. If you never touched the country filter, your average position is a salad of 19 markets weighted by wherever you happen to collect the most impressions. Since Spanish-language search volume concentrates heavily in Mexico, Spain and Colombia, your global figure tends to describe the big market and hide the small ones completely. A Peruvian business can be sitting on page one in Lima for months and still see an average of 20 because Spain contributes the bulk of impressions from position 40.

Yes, there is a country filter. It still is not enough.

Credit where it is due: Search Console does let you filter by country, and that filter solves a good chunk of the problem above. You should use it whenever you work more than one market. But it carries four limits you cannot engineer around:

  • 1. It does not go below country. There is no breakdown for Bogotá, Medellín, Guadalajara or Rosario. And Google reorders the top 10 by city on any query with local intent, which in LATAM covers most commercial queries.
  • 2. The country figure is another average. "Colombia" bundles Bogotá, the coast and the coffee region into one number, dominated by wherever the volume is. You trade a large average for a smaller one, not for a fact.
  • 3. Small markets collapse into noise. With 30 impressions a month in Uruguay, that country average position jumps from 9 to 22 because three odd searches entered the calculation. You cannot make decisions on that.
  • 4. You only see where you already appear. If you rank nowhere in Chile, Chile does not show up in the report. A missing country is not good news, it is a blind spot.

Add to that a change that broke a lot of old habits: country domains like google.com.mx stopped serving their own results and all traffic consolidated into google.com, which adapts the SERP to the user location. There is no manual shortcut left for "view Google as if I were in Mexico". Location has to travel with the query, and only a tool that geolocates properly can do that.

For a business with one location and one market, average position filtered by country is a defensible approximation. For an agency with clients in three countries, or an e-commerce shipping across half the region, it is a figure that hides more than it reveals.

The 2 to 3 day lag: the report always talks about the past

There is a second problem, independent of the averaging, that affects decisions more than people expect: Search Console average position never describes the present. The performance report refreshes daily, but with a customary lag of two to three days. You cannot see today. Or yesterday.

For slow-moving changes that hardly matters. For real work it does. You ship a title fix on Monday morning and you get no signal until Thursday. If something broke during the deploy, a stray noindex tag, a bad redirect, a template that quietly stopped rendering, the report will tell you three days late. By then you have lost three days of traffic.

The date-range dilution effect

The lag is only half of it. The other half is that the default view aggregates a long range, and a long average flattens any recent change. Run the numbers: imagine you spent 27 days steady at position 8 and the last 3 days you collapsed to 20. That is a brutal drop, the kind that earns you a phone call from the client.

30-day average with the crash included:

(27 × 8) + (3 × 20) = 216 + 60 = 276

276 ÷ 30 = 9.2

On screen you go from 8.0 to 9.2. A 1.2-point wobble, the kind you write off as noise. Underneath it is a twelve-position drop that is already costing you money.

Two habits fix half of this without leaving Search Console: narrow the range to 7 days and switch on the comparison with the previous period, and read the day-by-day chart instead of the aggregate figure. It does not remove the lag, but it stops hiding what happened.

The third temporal limit is memory: Search Console keeps 16 months of data and deletes anything older without warning, so not even your history is guaranteed long term. How to preserve it is covered separately in the Search Console 16-month limit.

Real position vs average position: two different questions

The whole GSC vs rank tracker debate is framed wrong from the start.

The entire real position vs average position argument clears up the moment you accept they are not two versions of one number, but two answers to questions that barely resemble each other:

Search Console answers

"On average, how did my site do across every search real people ran in this period?" Observed data, complete query universe, zero control over conditions.

A rank tracker answers

"Where does this keyword rank, in this city, on this device, today?" Controlled and repeatable measurement, universe limited to whatever you chose to watch.

Differences between Search Console average position and rank tracker measurement
Criterion Search Console Rank tracker
Nature of the data Weighted average of real impressions Point measurement on a specific SERP
Query universe All of them, including unknown ones Only what you added
Geographic granularity Country at best City
Mobile and desktop Separable by filter Measured separately and comparable
Latency 2 to 3 days The day of the check
History available 16 months back from day one From the day you add the keyword
User personalization Included, it is what actually happened Excluded, neutral measurement
Good for Discovery, trends, prioritizing Diagnosis, market comparison, reporting

Look closely at the history row, because it works against us and it needs saying: Search Console hands you 16 months of data the moment you connect the property, while any rank tracker, ours included, only starts accumulating history the day you add the keyword. Retroactivity is impossible; nobody can measure a SERP that already happened. That is an excellent reason to connect Search Console even if you run a tracker, and to add today the keywords you will want to analyse six months from now.

The other uncomfortable row is the query universe. A rank tracker discovers nothing on its own: it watches what you told it to watch. Search Console, by contrast, surfaces terms you would never have imagined, and that is usually where the cheap growth hides. Running one without the other means giving up half the map.

Search Console, Analytics and rank tracker: what each one measures

The whole confusion sorts itself out with one simple idea: each tool lives at a different moment of the user journey. A rank tracker looks at the SERP. Search Console looks at what happens on the SERP. Analytics looks at what happens after the click. There is no real overlap, there is a sequence.

What each tool measures and when
Tool Moment Typical metrics Question it answers
Rank tracker The SERP today Position by city and device, competitors, changes Where do I stand right now?
Search Console Before the click Impressions, clicks, CTR, average position How did I do, and for which queries?
Analytics After the click Sessions, conversions, revenue, behaviour Was that traffic worth anything?

With that table in mind, most day-to-day questions route themselves:

  • "Did I move up or down for this keyword in Medellín this week?" · Rank tracker. Search Console does not reach city level and arrives late.
  • "Which new queries am I showing up for?" · Search Console. It is the only source with your complete query universe.
  • "Plenty of impressions, barely any clicks, what do I fix?" · Search Console flags the case; the tracker confirms whether the issue is the position or the snippet.
  • "Is this organic traffic producing sales?" · Analytics. Neither the tracker nor Search Console sees anything inside your site.
  • "The client says they cannot find themselves, are they right?" · Rank tracker. It is the only neutral measurement you can put on a screen in a meeting without arguing about somebody browser history.

One clarification for honesty: Rankiamos integrates with Google Search Console, not with Google Analytics. Conversions and revenue stay in Analytics, and that is how it should be. What we do cover are the first two rows, in one app: the queries Google reports in Search Console and the position the SERP shows today for the keywords you track, each in its own section. Comparing the two is where most client misunderstandings get cleared up.

You can check what each plan includes on the pricing page, and the full inventory of measurements in what Rankiamos does under the hood. If you are starting by connecting your property, the step-by-step process is in the Search Console integration guide.

How Rankiamos handles it

The point is not to replace Google’s average, it is to add the number it is missing: where you rank today, measured.

🔗 Search Console connected, free plan included

The Google Search Console integration ships with the Free plan, no card required. It brings up to 250 queries from the last 28 days with clicks, impressions, CTR and average position for each one, in their own section of the app, separate from the positions you measure.

📍 Position by city, not just by country

Each keyword-and-city combination is measured separately, in 52 cities across 19 countries: Spanish-speaking Latin America, Spain and the United States (measured in English). Each city uses one quota unit, and on Pro you can also track mobile and desktop separately, each one using its own unit.

⚡ No three-day wait

The Pro plan checks automatically every day (a keyword that goes 30 days without any change is checked every 3 days until it moves), and on both plans you can re-check any keyword by hand 6 hours after its last check: 13 units a day on Free, 30 on Pro. When you ship a change, verifying it does not depend on Google reporting calendar.

🧠 Context, not just the number

On Pro you get AI analysis (30 a month, on demand), competitor movements, cannibalization detection, Google AI Overview citations, map pack position, and search volume with CPC, estimated traffic value and seasonality. The top 10 competitors with 45 days of history, the iPhone and lock screen widgets and the Apple Watch app come with both plans.

What we do not do: our history starts the day you add the keyword, it is not retroactive. Search Console does give you 16 months back in its own interface (inside Rankiamos, the integration shows the last 28 days). That is why the recommendation is to connect both sources and add today the keywords you will want to analyse in six months. There is also no web or Android version: Rankiamos is an app for iPhone, iPad, Mac and Apple Watch, and its interface is in Spanish only.

Try Rankiamos free

Free plan: 2 projects, 5 keywords, weekly check, Search Console included · No card

Frequently asked questions

What exactly is average position in Search Console?
It is the impression-weighted arithmetic mean of the highest position one of your links held in every search where you appeared, inside whatever filter you have applied. If you showed up 400 times at position 4 and 600 times at position 22, your average position is not 13, it is 14.8: the bucket with more impressions carries more weight. And only searches where you appeared are counted. If you fail to rank at all for half the queries in your niche, those absences do not drag the number down, they simply do not exist in the report. That is why a site that appears rarely but ranks well can show an enviable average position alongside almost no traffic.
Why does my average position say 15 when I search and see myself at 3?
Because those two numbers answer different questions. The 15 averages thousands of real searches made from different countries, cities, devices and days, including queries you did not know you had. The 3 is a single observation, made from your location, with your history, at one specific moment. Neither is wrong; they measure different things. On top of that, your personal search is contaminated by browser personalization, and the Search Console report runs two to three days behind, so they are not even describing the same moment in time. To know your position at a specific point you need a controlled measurement, not a search of your own.
Is it normal for average position to get worse right as traffic grows?
It is completely normal, and it trips up almost everyone the first time. When a piece of content starts ranking, Google tests it across dozens of new long-tail queries where it enters at position 40, 60 or 80. Every one of those appearances adds impressions at poor positions and drags the average down, while your good queries stay exactly where they were. The result is more impressions, more clicks and a worse average position. The correct diagnosis is not "I dropped", it is "I widened my surface area". To confirm it, check the average position of your top five or ten queries individually instead of the site-wide number. If those held steady, you lost nothing.
Can I see average position by city in Search Console?
No. Search Console has a country filter, and that filter is genuinely useful, but it stops there: there is no breakdown for Bogotá, Medellín or Guadalajara. For a business with several locations that is a serious gap, because Google reshuffles the top 10 based on the user location for any query with local intent. The "Colombia" figure you see in the report is itself another average, dominated by whichever market contributes the most volume, which is almost always the capital. If you need to separate cities, the only way out is an external measurement with real city-level geolocation, which is what a rank tracker does.
How often does Search Console average position update?
The performance report refreshes daily, but with a typical lag of two to three days: you cannot see today, and you cannot see yesterday either. On top of that there is a second effect almost nobody accounts for. If you look at the 28-day range, you are looking at a 28-day average. A sharp drop that happened three days ago is diluted among twenty-five good days and barely moves the number. To catch recent changes, narrow the range to 7 days and compare against the previous period, or measure the position live with a tool that queries the SERP today.
Does average position count AI Overviews and other SERP blocks?
According to Google documentation, position is calculated by where your link appears on the page, scanning blocks top to bottom and left to right, not by counting only the ten classic blue links. That means an image carousel, a video block or an AI summary sitting above your result takes up space in that count. Links that appear inside Google AI Overviews are counted together with the rest of web results, without a separate row in the report. The practical consequence: your average position can get worse without you losing a single organic spot, simply because the SERP grew new blocks above you.
So should I stop looking at average position?
No. You should stop reading it as if it were your position. Average position is excellent for three things: spotting site-wide trends across months, discovering queries you appear for and did not know about, and finding pages hovering near the first-page threshold. It is bad at answering "what position am I in?" for a specific query, in a specific city, today. The efficient approach is to use it as a discovery radar and to base decisions on point measurements of the keywords that actually matter to you. Together the two sources cost little and cover each other blind spots.

Try Rankiamos free for 7 days.

The Free plan needs no card. The Pro trial runs through your Apple account; cancel before day 7 and you pay nothing.

iPhone iOS 17.0+
iPad iPadOS 17.0+
Mac macOS 14.0+