Search Console. Diagnostics

Average Position Dropped in Search Console, but Clicks Didn’t?

19.7Reported average for one trade query
5 to 9Where it actually ranked on normal days
4xPage impressions, one quarter to the next
29 to 55Clicks on that page, same two quarters

Written by Ram Kr Shukla, SEO and growth consultant

Quick answer

Search Console’s average position is the topmost spot your site held, averaged over every impression, so it’s weighted by impressions. When Google starts showing your page for new, broader searches where it sits on page two or three, thousands of deep impressions drag the average down even though none of your existing rankings moved. If clicks are flat or up, compare a fixed set of your core queries across both periods before you call it a drop. If those queries held their positions, nothing got worse. If they slipped and their clicks fell too, the drop is real.

You open Search Console and the average position line has gone the wrong way. It was 8. Now it’s 19. You’ve paid for SEO for six months, and the one number that looks like a ranking just fell off a cliff.

Then you look at clicks. Flat. Maybe up a little.

That combination is one of the most common panic emails a local business owner sends, and most of the time nothing broke. The number moved because of what got added to it. This guide covers how Google computes the figure, why it falls while a site is growing, how to tell a fake drop from a real one in about 20 minutes, and the reporting mistakes that turn a small change into a scary one. It’s the same check I run in my local SEO work for service businesses, and two of them supply the real numbers below: a US roofing and exteriors contractor and a US lawn care and mosquito control company, both anonymised.

How Search Console Calculates Average Position

Google’s Performance report help defines it as “the average position of the topmost result from your site.” That sentence hides three rules, and every confusing drop comes from one of them.

1
Only your topmost result counts

If two of your pages show for one search, at positions 4 and 9, the site-level figure records the 4. The chart aggregates by property, so the 9 never reaches the chart total.

2
Only searches where you got an impression count

Google’s explanation of how position is recorded says a result needs an impression for its position to be recorded. If you’re on page 3 and the searcher never leaves page 1, that search doesn’t touch your average at all.

3
Every impression gets a vote

Position is recorded per impression and then averaged. A query you showed for 2,000 times pulls the number 2,000 times as hard as a query you showed for once. That’s why people call it an impression-weighted average position.

Two quieter details matter later. Every item in a carousel gets the carousel’s position. And the chart is aggregated by property while the Pages table is aggregated by page, which is why the page rows never add up to the chart total. Google says as much in the same help page. Hold on to that, because it breaks a lot of reports.

The impression-weighted formula

Multiply each query’s position by its impressions. Add those up. Divide by the total impressions.

That’s how you roll up a set of keywords yourself. Your result won’t exactly match the site figure, because the chart includes anonymised queries that never appear as rows. The API side of that problem is in why the Search Console API misses keywords.

Why Average Position Falls When Nothing Got Worse

The name for this is impression dilution. Average position is a ratio. When the bottom of the ratio grows with deep impressions, the result gets worse even if every ranking you had stays exactly where it was. Five things add deep impressions.

Google is testing your page in broader searches

When a page starts doing well for a specific term, Google often tries it in wider searches: a shorter head term, a national version of a local query, an adjacent service. Those tests usually land somewhere between position 15 and 30. Lots of impressions. Almost no clicks. Every one of them goes into the average. For local service businesses many of these test impressions come from outside the service area, which has its own diagnosis in why local service pages get impressions from outside their area.

New pages are ranking for long-tail terms

Publish ten new service or blog pages and they won’t enter at position 4. They enter at 40, 60 or 80 for hundreds of long, specific queries, each adding a few impressions at a deep position. Individually tiny. Together they hold the site average down for months, and that’s the normal shape of a growing site, as the honest SEO timeline lays out month by month. It’s also where the position 11 to 100 trap lives: a site ranking for thousands of terms on pages two to ten and getting almost nothing from them.

Demand shifted between your queries

If the query you rank best for gets fewer searches this month, it contributes fewer impressions, and your weaker queries take a bigger share of the weighting. Your rankings stayed put while the mix underneath them changed. Roofing and lawn care both swing hard with the weather and the season, so expect some of this every spring and fall.

Your device or country mix changed

Mobile and desktop rank differently, and so do countries. A jump in mobile impressions, or in impressions from searchers outside the US, changes the blend. Filter by device and by country before you trust the headline number.

Google changed what gets counted

This one runs in both directions. In September 2025 Google stopped supporting the num=100 results parameter that rank-tracking tools used to load 100 results at once. Lots of sites saw impressions fall and average position improve overnight while clicks stayed put (Search Engine Land covered the change). Nobody’s rankings got better that week. Fewer deep impressions were being logged. Same arithmetic, opposite direction.

A Worked Example: Same Rankings, Worse Average

Here’s the arithmetic with round numbers, for a made-up roofing site over two 28-day periods. Three queries bring in the work. In the second period, Google starts testing one page in broader searches.

QueryImpr. beforePos. beforeImpr. afterPos. after
gutter repair40034003
roof leak repair30063006
soffit repair30083008
New broad test queries0none2,00028
Site total1,0005.43,00020.5

Before: 400 times 3, plus 300 times 6, plus 300 times 8, comes to 5,400. Divide by 1,000 impressions and you get 5.4.

After: the same 5,400, plus 2,000 times 28, which is 56,000. That’s 61,400 over 3,000 impressions. Average position 20.5.

The chart says the site fell 15 positions. Not one of the three queries the business cares about moved. Clicks went from 65 to 67, because the test queries picked up two stray clicks.

Same rankings, worse averageCircle size is impressions. The three core queries never move.Before: 1,000 impressions1102030average 5.4After: 3,000 impressions1102030average 20.52,000 new, position 28Clicks: 65 before, 67 after. Nothing got worse.Illustrative numbers.RamKrShukla.com
The three core queries hold positions 3, 6 and 8 in both periods. Adding 2,000 impressions at position 28 moves the average from 5.4 to 20.5. Illustrative numbers.

The table shows two more things. A simple average of the four position values (3, 6, 8 and 28) gives 11.25, which matches nothing, so you can’t rebuild Google’s number by averaging rows. And if you compare only the three queries that existed in both periods, the set average is 5.4 both times. That fixed-set comparison is most of the diagnosis.

What It Looked Like for a Roofing Contractor

Here’s the real version, from a US roofing and exteriors contractor I work with. The owner asked why their soffit repair ranking kept going down. In Search Console, that query’s average position on its service page had slid to 19.7.

Split by day, the query had two kinds of day. On quiet days it got 3 to 10 impressions, at positions 5 to 7 early in the window and 7 to 9 three months later. Spike days came in three bursts, the longest running 16 days, and on those it got 50 to 150 impressions a day at positions 17 to 25. Zero clicks. That was Google testing the page in broader searches, mostly outside the area the company serves. The spike days carried so many more impressions that they set the average almost on their own.

One query, two kinds of dayWhere one service page ranked for one trade term, split by day.Quiet days3 to 10 impressions a day, positions 5 to 95 to 917 to 251102030reported average 19.7Spike days50 to 150 impressions a day, positions 17 to 25, no clicksIllustrative. Anonymised client data.RamKrShukla.com
Quiet days held page one. Spike days sat on pages two and three and outweighed them, so the reported average landed at 19.7. Illustrative. Anonymised client data.

Meanwhile the page was doing better than ever. Quarter on quarter, its impressions went from 8,170 to 32,053 and its clicks from 29 to 55. It was indexed, its canonical was right, and its review rich result was passing. An older page that used to compete for the same term had dropped to a single query, so this wasn’t cannibalisation either.

Not everything was dilution, though, and that’s the part worth copying. On the quiet days the page really had slipped 1 to 3 spots. And one local-modifier query (the service plus the town), which had sat at position 2 with 25 impressions, had stopped appearing at all. A real slip, hidden under a fake one. Stare only at the 19.7 and you’ll worry about the wrong thing and miss the right one.

The next 28-day comparison showed the reverse. As the broad fascia repair test impressions faded, the page’s impressions fell from about 12,600 to 7,200 while its average position barely moved, 11.6 to 11.9. Site clicks dipped from 211 to 188 the same month, which looked bad until brand and non-brand were split: about 17 of the 23 lost clicks were people searching the company’s name, down from 41 to 24. Non-brand clicks were roughly flat. That split is covered properly in branded vs non-branded traffic.

How to Diagnose an Average Position Drop

Run these in order. You need Search Console, about 20 minutes, and a spreadsheet for the last step.

1
Check clicks and impressions before position

Open the Performance report, pick the last 28 days and use Compare against the previous period, or the same period last year if your business is seasonal. Turn on all four metrics. Position down with impressions up and clicks flat or up is the dilution signature. Position down with clicks down needs the rest of these steps.

2
Pull both periods directly, and drop the last few days

Use Compare mode, or two exports made in the same sitting. Never work out one period from another. Leave out the most recent two or three days, because fresh data is preliminary and it fills in over the following hours and days.

3
Find the queries that are new

On the Queries tab in compare mode, sort by current impressions. Queries with impressions now and none or almost none before, sitting at position 15 or deeper, are your dilution. If most of the impression growth is in those rows, you’ve found the cause.

4
Compare a fixed set of queries

Pick the 10 to 30 queries that actually bring you work: your services, your services plus your area, and the terms that have earned clicks. Compare their positions one by one across both periods, then roll the set up weighted by impressions. If the fixed set held, your rankings held.

5
Split by page

Switch to the Pages tab. One or two pages usually account for most of the new impressions. Click into each one, go back to Queries, and repeat the new-query and fixed-set checks for that page alone.

6
Split by date

For any query that looks like it dropped, view the chart by day and look for spike days. Note the position on quiet days and on spike days separately. Quiet days at your usual position plus spike days much deeper means Google is testing the page, and the average is lying to you.

7
Bucket the positions

Export the query table for both periods and add up impressions in four buckets: positions 1 to 3, 4 to 10, 11 to 20, and 21 and deeper. If the top two buckets held and only the deepest one grew, it’s dilution. If impressions moved out of the top 10 into the lower buckets, the drop is real. Run the same check with the device and country filters if the numbers still don’t make sense.

Most drops are explained by step 3 or step 4. Steps 5 to 7 are for when the answer is mixed, like the roofing case, where dilution and a small real slip were sitting in the same number.

When the Drop Is Real

Dilution is common. It isn’t guaranteed. Treat it as a real ranking loss when you see any of these.

Signs it’s a real drop:

  • Your fixed set of money queries lost positions, and the site average isn’t the only thing that moved.
  • Clicks fell on those same queries, especially ones that used to sit in the top 5.
  • In your position buckets, impressions moved out of 1 to 10 and into 11 to 20.
  • The ranking URL for a query changed, or two of your pages now share it. That’s cannibalisation, and here is how to confirm it in Search Console.
  • A local-modifier query (service plus town) disappeared, like the one in the roofing case.
  • The timing lines up with a confirmed update on the Google Search Status Dashboard.
  • URL Inspection shows the page has an indexing or canonical problem.

Google’s own guide to debugging Search traffic drops draws a line between a small drop in position and a large one, and it suggests looking at queries, pages, countries and devices separately. Do that for your fixed set and you’ll know which kind you’ve got. If it’s real, the usual suspects are in six real causes of a rankings drop, and the most common one on local sites is a change somebody made to the site.

Never Subtract One Date Range From Another

This is the mistake that turns a modest change into a headline. It happened while preparing a monthly report for a US lawn care and mosquito control company, and a recheck caught it.

The report needed first-half and second-half impressions for a rebuilt aeration page. The full month was 1,115 and the second half was 890, so subtraction said the first half was 225. A direct pull for the first half returned 609.

Subtracted: 225. Pulled directly: 609.Impressions for one service page, worked out two ways.Full month, direct pull1,115Second half, direct pull890First half by subtraction225First half, direct pull609Illustrative. Anonymised client data.RamKrShukla.com
Subtracting the second half from the month gave 225. Pulling the first half directly gave 609. Illustrative. Anonymised client data.

Search Console numbers aren’t additive. Data aggregated by page is counted differently from data aggregated by property, rare queries are anonymised and left out of query rows, and each date range is calculated on its own. On that site, for the same window, the page rows summed to 3,838 while the site total was 3,404.

The knock-on was big. The draft said the rebuilt pages’ impressions rose 325%. The true figure was 39%. It said the aeration page climbed 25 positions. It climbed 6. Still good news, just smaller than the draft said, and a client who later checks the numbers remembers the gap.

Freshness bites too. One day’s data went from 0 clicks and 30 impressions in a morning pull to 3 clicks and 215 impressions that evening. Google marks recent data as preliminary in the Performance report, and it does move.

Reporting rules that prevent this:

  • Pull every period you report directly, in one sitting, including both halves of any comparison.
  • Don’t subtract periods, and don’t add page rows together to get a site total.
  • Don’t average position rows by hand. Weight them by impressions, or use the figure Search Console shows for that exact filter.
  • Re-pull everything right before the report goes out, and footnote any projected days.
  • Search the site before you write that no page ranks for something. The same recheck found a dethatching page that had sat at position 10 the whole time.

What to Report Instead of Average Position

On its own, average position is a weak headline for a local business. It rewards sites that rank for fewer things. Put these in the monthly report instead, or at least next to it.

1
Non-brand clicks, trended

The cleanest sign that more people found you without already knowing your name. Branded swings, like the 41 to 24 in the roofing case, shouldn’t hide in the total.

2
Fixed-set position

Your 10 to 30 money queries, weighted by impressions, with the same set every month. This is the number that moves when rankings move.

3
Position buckets

Impressions in positions 1 to 3, 4 to 10, 11 to 20 and 21 and deeper. Growth in the deepest bucket is new reach. Shrinking top buckets are a real problem.

4
Calls and form leads from organic

Where you can track them. They’re what the owner is actually paying for.

If you keep average position in the report, put impressions right beside it so anyone reading can see when the bottom of the ratio grew. And the new queries that caused the dilution are worth a second look: some of them are services you don’t have a page for yet. The service page gap analysis in Search Console turns that list into a build plan.

“An average position drop with flat clicks usually means Google is showing you to more people, not fewer. Your fixed set of queries tells you which.”

Ram Kr Shukla, SEO and Growth Consultant

Average Position FAQ

Why did my average position drop in Search Console?

Usually because your site started showing up for more searches where it ranks deeper, such as broader terms Google is testing your page for, or long-tail queries for new pages. Those impressions get averaged in and pull the number down. If your core queries held their positions and clicks are steady, nothing got worse.

Why did my average position go down but clicks stayed the same?

Your clicks come from the queries where you rank near the top, and those didn’t change. The new impressions sit on page two or three, where almost nobody clicks, so they move the average without moving clicks. That pattern is called impression dilution.

Is Search Console average position weighted by impressions?

In effect, yes. Search Console records the topmost position of your site each time it gets an impression, then averages those. A query with thousands of impressions moves the figure far more than a query with a handful.

Does a lower average position mean my rankings dropped?

Not necessarily. Compare a fixed set of your important queries across both periods. If those held their positions, your rankings held, and the site average fell because new, deeper impressions were added to it.

How do I calculate average position for a group of keywords?

Multiply each keyword’s position by its impressions, add the results together, and divide by the total impressions for the group. A simple average of the position values gives you a number that matches nothing in Search Console.

Can I subtract one date range from another in Search Console?

No. Search Console totals aren’t additive, so a period you work out by subtraction can be badly wrong. In one client report, subtraction gave 225 impressions for half a month and a direct pull for the same days gave 609. Pull every period directly.

When is an average position drop a real problem?

When your fixed set of money queries loses positions, clicks fall on those same queries, impressions move out of the top 10, or an important local query disappears. Check whether the ranking URL changed and whether the timing matches a confirmed Google update.

Why did my average position improve while impressions fell?

It’s usually the same effect in reverse: fewer deep impressions are being counted. When Google stopped supporting the num=100 results parameter in September 2025, many sites saw impressions fall and average position improve, with clicks unchanged.

Not sure whether your drop is real?

I run this check for local service businesses every month: fixed query sets, position buckets, brand split, and the pages Google is testing. Send me the property and I’ll tell you which kind of drop you’ve got.

Local SEO ServicesRoofing SEO

More on reading Search Console for a local business: impressions from outside your service area, finding service pages you should build, and location pages that never get indexed. For keyword rollups through the API, see why the numbers don’t add up.

Tags: Search ConsoleLocal SEOSEO ReportingDiagnostics

RS

Written by Ram Kr Shukla

SEO and growth consultant and Fractional Chief Digital Officer with 20+ years in SEO and growth across 50+ brands. Google Analytics and Google Ads certified. Works in Search Console every day for local service businesses, including roofing, lawn care and dental practices, and for e-commerce and enterprise sites.

Client Results, Not Claims

5x D2C revenue in 18 months via SEO
10x SaaS trials, zero new blog posts
120K Monthly organic visitors from zero

Free Resource

Steal My 40 Point SEO Audit Checklist

The exact list I run on every paid audit. Score your site in 30 minutes.

Get the checklist →

Is your site invisible to AI search?

Ask ChatGPT to recommend brands in your category. If you are not the answer, we should talk.

Book a Free Strategy Call