What does average position mean in Search Console?
Average position in Google Search Console is the average of your site’s topmost position in Google’s results, taken across every impression in the date range, where position 1 is the first element on the page. A lower number is better. It is not your rank for any one search: it blends every query, device and country, counts only your highest-placed link each time, and moves whenever the mix of searches changes, so always read it alongside clicks, impressions and CTR (clicks divided by impressions).
Those four numbers sit at the top of Performance → Search results as Total clicks, Total impressions, Average CTR and Average position. Each has rules that most guides skip:
| Metric | What Google counts | How it is calculated | Common misread |
|---|---|---|---|
| Clicks | A click that takes the user to a page outside Google Search, Discover or News | A count; returning and clicking the same link again counts once | Treating clicks as visits or sessions |
| Impressions | Your link was on the page of results the user loaded, or came into view in carousels and some tabs | A count; once per property or once per URL, depending on the view | Assuming someone actually looked at the result |
| CTR | Derived, not counted | Clicks ÷ impressions, from totals | Averaging the CTRs of individual rows |
| Average position | The position of your topmost link in each search | Averaged over all impressions | Reading it as “our ranking” |
We make GSC MCP Server, a read-only Search Console MCP server that reads these metrics through Google’s and Bing’s APIs, so the prompts below use our tool names. The definitions themselves come from Google’s and Microsoft’s own documentation, checked on 30 October 2026, and hold whatever tool you use.
What counts as an impression in Search Console
Google’s help page What are impressions, position, and clicks? defines an impression as a user having seen, or potentially seen, a link to your site in Search, Discover or News. “Potentially” does a lot of work. It is also why impressions are a weak stand-in for search volume, a point we cover in keyword research with Search Console.
The page-of-results rule
- In ordinary results, an impression counts when your link is on the page of results the user loaded, whether or not they scrolled down to it.
- A result on page 2 only earns an impression if the user goes to page 2.
- Where results load as you scroll, with no paging (Google’s example is image search on mobile), the item usually has to be scrolled into view.
- Scrolling or paging away and back during the same search doesn’t add impressions.
Carousels, expandable results and AI features
Compound elements follow their own rules, summarised here from Google’s documentation:
| Element | Impression counted when | Position | Click counted when |
|---|---|---|---|
| Plain blue link | Standard rule | Its own position | The main link is clicked |
| Featured snippet | Standard rule | Standard position rules | The link to your page is clicked |
| AI Overview | Standard rule | One position, shared by every link in it | A link to an external page is clicked |
| AI Mode | Standard rule; follow-up questions are new queries | Same method as a results page | A link to an external page is clicked |
| Carousel | The item is scrolled into view in the carousel | One position, shared by every item | Depends on the item type |
| “People also ask” | The item is expanded | Standard position rules | A link in the expanded section; expanding isn’t a click |
| Job and event lists | The item is visible in the short list | The list container’s position | An item in the list is clicked |
Google’s help for the generative AI report says it draws on the Web search type of the Performance report, so AI Overview and AI Mode impressions and clicks are already inside your normal Web totals, not added on top. For what you can and can’t isolate, see Search Console’s generative AI report for AI Overviews and AI Mode.
Images, Discover and News
- Images tab: the image must be scrolled into view; data is credited to the page hosting the image, and positions run left to right, then top to bottom.
- Discover: an impression counts when the card scrolls into view, there is no position at all, and impressions are never aggregated by property. The Google Discover guide covers its own report.
- News: the News tab in Search uses standard position rules, while the Google News app and news.google.com record no position.
What counts as a click, and what doesn’t
A click is any click that sends the user from Google Search, Discover or News to a page outside Google. Interactions that keep the user on Google are not clicks.
| Counts as a click | Doesn’t count |
|---|---|
| Clicking your organic result or its featured snippet | Expanding a “People also ask” answer |
| Clicking a link to your site in an AI Overview or AI Mode | Expanding an image thumbnail |
| Clicking a link inside an expanded “People also ask” item | Query refinement links, which start a new Google search |
| Tapping a Discover card | Clicking the same result again after returning (counted once) |
| Clicking an item in a job or event list | Clicks on ads, which aren’t part of the report |
Clicks vs impressions is the simplest distinction in the report: an impression means your link was shown, a click means someone left Google for your page. A click is still not a visit. If the page fails to load, the user hits back before your analytics fires, or they block tracking, Search Console counts the click and your analytics records nothing. Our Search Console vs Google Analytics 4 comparison covers why the two never match.
How Search Console calculates average position
Average position takes two steps. For each search, Google records the position of your topmost link and ignores any others. It then averages that value across every impression in your date range. Google’s own example: one query shows your site at positions 2, 4 and 6, so it counts as 2; another shows it at 3, 5 and 9, so it counts as 3. The average across the two is 2.5.
How positions are counted
- Top to bottom down the main column (the left in left-to-right languages), then top to bottom down the side panel.
- Each element takes one position. A knowledge panel, a carousel or an AI Overview takes a single position shared by every link inside it. If an AI Overview is the first element, every link it cites is recorded at position 1.
- Ads don’t occupy a position.
- A dash (-) means there is no recorded position, because the user never saw your site for that query.
Impressions weight the average
Google says the metric “averages the position value for all impressions”, so busy queries dominate. In this illustrative example, the site-wide figure is nowhere near the simple average of the rows:
| Query | Impressions | Position |
|---|---|---|
| invoice template | 900 | 2 |
| invoice template for plumbers uk | 100 | 40 |
| Simple average of the rows | 21.0 | |
| What Search Console reports | 1,000 | 5.8 |
The 5.8 is (900 × 2 + 100 × 40) ÷ 1,000. Any tool or spreadsheet that averages the position column instead is wrong.
Why average position can look better than reality
- Only your best link counts. A second page of yours at position 9 is invisible in the property-level figure.
- Shared positions. Every link in an AI Overview or carousel inherits the element’s position, even if users rarely reach your link.
- Losing deep impressions improves the average. When Google stopped supporting 100 results per page around 10–12 September 2025, many sites saw desktop impressions fall and average position jump. The widely reported explanation is that rank trackers stopped generating impressions for deep results. Rankings didn’t change.
- A logging error. Google’s data anomalies page says impressions were not reported accurately from 13 May 2025 to 27 April 2026, affecting impressions, CTR and average position but not clicks.
Why it can look worse when things are going well
Say a page ranks third for its main query with 1,000 impressions a month. You expand it, and it starts appearing for twenty long-tail queries at around position 45, adding another 1,000 impressions. Its average position goes from 3 to 24, although nothing lost ground and clicks probably rose. Before you call a position change a ranking change, look at the query rows underneath it.
For example.com on Google, run get_search_overview for the last 28 days, then query_search_analytics with dimension query, limit 1000. Recompute average position from the query rows as an impression-weighted mean and compare it with the overview figure. Then show how much of the total impressions comes from queries at positions 1–10, 11–20 and beyond 20, and tell me whether a shift in that mix explains last month’s change in average position.
Search Console CTR: the maths and the traps
CTR is clicks divided by impressions. 30 clicks from 1,200 impressions is a 2.5% CTR. The Average CTR in the chart is total clicks divided by total impressions for the period, which is not the same as the average of the rows below it:
- Query A: 10 clicks from 100 impressions, a CTR of 10%.
- Query B: 10 clicks from 10,000 impressions, a CTR of 0.1%.
- The mean of the two CTRs is 5.05%. The real CTR is 20 ÷ 10,100, or about 0.2%.
Three more traps:
- CTR depends on position and layout. A 3% CTR is poor at position 1 and healthy at position 9. An AI Overview, shopping results or a video block above you lowers CTR at the same position, so compare CTR within position bands, not across them.
- Small numbers are noise. A query with 12 impressions and 3 clicks shows a 25% CTR that means very little. Set an impressions floor before sorting by CTR.
- Units differ. The interface shows a percentage; the Search Analytics API returns a fraction between 0 and 1. Our tools convert it to a percentage and label it, so an assistant shouldn’t multiply by 100 again.
Using get_search_queries for example.com, last 90 days, limit 1000, group queries with at least 200 impressions into position bands 1–3, 4–10 and 11–20. For each band, give total clicks ÷ total impressions as the band CTR (don’t average the row CTRs), then list the 15 queries whose CTR is furthest below their band’s CTR.
Queries far below their band are usually snippet problems or SERP features you can’t beat. The striking distance and low-CTR keyword playbook covers what to do with that list.
By property vs by page: why the numbers change
Search Console aggregates data in one of two ways, explained in Google’s Performance report: About the data help page:
- By property: all your results for one search count as one impression, at the position of your best link. If a user clicks one of your links, returns and clicks another, that is one click.
- By page: each URL is counted separately, so the same search can produce several impressions and several clicks.
The chart is always aggregated by property. In the table, the Queries, Countries, Devices and Dates tabs are by property, while Pages and Search appearance are by page. Here is an illustrative search for “invoice template” where your site shows two pages and the user clicks the second:
| View | Impressions | Clicks | CTR | Position |
|---|---|---|---|---|
| By property (chart, Queries tab) | 1 | 1 | 100% | 3 |
| By page: /templates/invoice | 1 | 0 | 0% | 3 |
| By page: /blog/invoice-guide | 1 | 1 | 100% | 5 |
| Page rows combined (summed counts, mean position) | 2 | 1 | 50% | 4 |
That is why Google says CTR and average position are generally better when aggregated by property, and why the Pages tab can show more impressions than the chart. The “property” is your Search Console property, so a Domain property that covers www, blog and shop subdomains counts them as one site (see how to use Google Search Console for Domain vs URL-prefix properties).
Why Search Console totals don’t match
If the rows in the table don’t add up to the chart, or two exports disagree, one of these is almost always the cause.
- Anonymised queries. Queries not issued by more than a few dozen users over two to three months are hidden to protect privacy, according to Google’s deep dive into performance data filtering and limits. They are included in chart totals unless you filter by query, so the query rows always sum to less than the chart.
- Row limits. The table shows at most 1,000 rows. The Search Analytics API goes further, up to 50,000 rows per day per site per search type, but Google’s API guide warns that some data may be dropped when you group by page or query, and that accurate totals need a request without those dimensions.
- Aggregation. Pages and Search appearance count by URL; the chart counts by property.
- Filters. A query or page filter removes anonymised queries, so “matches” plus “doesn’t match” won’t add up to the unfiltered total. This matters when you split branded and non-branded queries or use the regex filters.
- Search type. The Web search type excludes the Image, Video and News tabs; Discover and Google News have reports of their own. Since a rollout that began on 24 September 2026, the filter also offers Web: multimodal (Lens, Circle to Search, image uploads and Chrome’s “Search this image”) next to Web: text-based, with no query data for the multimodal type, per Google’s announcement. The API reference doesn’t list a multimodal search type (checked on 30 October 2026), so API-based tools, ours included, can’t separate it.
- Different days. Search Console days run on Pacific Time, so a daily comparison with a tool on UTC or your local time drifts.
For example.com on Google, last 28 days, use multicall to run get_search_overview and get_search_queries with limit 1000. Sum the query rows and tell me what share of total clicks and impressions is missing from them, which is roughly the anonymised and long-tail share. Say whether the query list was truncated.
Whatever the size of the gap, quote the chart total: it is the more complete figure.
Data freshness, Pacific Time and the 16-month limit
- Delay. Google says collected data is usually available in 2–3 days. The newest data can be preliminary, still being collected and liable to change for a few hours; the chart shows it with a dotted line. The report shows complete days by default.
- The 24-hour view. Added in December 2024, it shows hourly data for the most recent 24 hours with a delay of only a few hours, preliminary data included.
- Final vs all. In the Search Analytics API,
dataStateisfinalby default;alladds fresh data andhourly_alladds an hourly breakdown. - Pacific Time. Every daily figure is labelled in Pacific Time, except in the 24-hour view.
- 16 months. The Performance report keeps 16 months of data. To keep more, store it yourself through the API or a Bulk data export.
- Weekly and monthly views. Since December 2025 you can group the chart by week or month, which removes the weekday pattern most sites have.
Our query_search_analytics tool mirrors the API: dataState defaults to final, and all includes fresh data with a note saying so. Across all our tools, the preset ranges of 7, 28 and 90 days end three days before today in Pacific Time, so they contain finalised days only.
Run query_search_analytics for example.com with dimension date, startDate and endDate covering the last 10 days, and dataState all. Then run it again with dataState final. Show daily clicks and impressions side by side and mark which days are still preliminary.
Bing Webmaster Tools: the same four metrics, with differences
Bing’s Search Performance report shows clicks, impressions, CTR and average position, so it looks familiar. A few differences matter before you put the two side by side:
- Web and chat are combined. Since its September 2023 update, Bing’s performance data covers web and chat (Copilot) together.
- Up to 16 months of data since an October 2024 update, the same window as Google.
- Two kinds of position. Bing’s API reports an average impression position and an average click position for each query and page. Our tools use the impression figure, the closer match to Google’s. Bing’s site-level daily totals come back with no position at all.
- Less documented method. We couldn’t find Bing documentation that explains how compound elements or chat answers are positioned in the detail Google gives (checked on 30 October 2026), so don’t treat a Bing position and a Google position as the same scale.
Compare the two engines on clicks and on direction of travel, not on absolute position. Why Bing matters for ChatGPT and Copilot is covered in Bing Webmaster Tools and AI search visibility.
If you see X, it usually means Y
Most misreadings of Search Console metrics follow a handful of patterns. Check these before you change anything on the site.
| If you see | It usually means | Check |
|---|---|---|
| Impressions fall sharply, clicks hold | A reporting change or a lost SERP feature, not lost demand | The dates against known anomalies; Search appearance |
| Average position improves, clicks flat or down | You lost low-ranking impressions, not gained rank | Impressions by position band, before and after |
| Average position worsens, clicks rise | You started appearing for new queries lower down | New queries in the period comparison |
| Position steady, CTR falling | An AI Overview or other feature now sits above you | The live results page; the generative AI report |
| Position 1.0 but a low CTR | Your link sits in a shared element such as an AI Overview | Search the query yourself |
| Query rows sum to less than the chart | Anonymised queries and the 1,000-row limit | Nothing to fix; quote the chart total |
| Pages tab shows more impressions than the chart | By-page aggregation counts each URL separately | Use the chart for site totals |
| The last two or three days look low | Preliminary or not yet processed data | Look again in a few days |
| Daily clicks are off by a day against analytics | Pacific Time days versus your time zone | Compare weeks, not days |
| Image or video traffic seems missing | The Search type filter is set to Web | Switch the Search type |
How to make an AI assistant read these metrics correctly
Language models are good at spotting patterns in Search Console data and surprisingly prone to the same mistakes people make: summing rows, averaging positions and CTRs, and mixing aggregations. Give the assistant explicit rules.
- Take totals from the property-level figure. Our
get_search_overviewtool gets Google totals from a request with no dimensions, the same way the chart is built, so they include anonymised queries. - Weight positions by impressions and calculate CTR from summed clicks and impressions, never by averaging rows.
- Name the aggregation for every number: by property or by page.
- Use finalised data unless you ask for fresh data, and label anything preliminary.
- Compare equal periods aligned on weekdays.
compare_search_periodswithprevious_yearcompares against the same weekdays 52 weeks earlier. - Keep Google and Bing apart. Set
providertogoogleor read the per-provider figures, because a blended position mixes two scales.
Rules for this conversation: take site totals from get_search_overview, never by summing rows; calculate CTR as summed clicks ÷ summed impressions and weight average position by impressions; say whether each figure is by property or by page; use finalised data only; keep Google and Bing separate. Now explain why example.com’s average position changed over the last 28 days compared with the previous period, using compare_search_periods with dimension query.
Each prompt in this article uses one or two tool calls, so the Free plan’s 30 calls a month covers a dozen or so checks; heavier weekly use needs a paid plan. If you haven’t connected an assistant yet, follow the setup guide for Claude, ChatGPT and Cursor, then borrow more prompts from 40 Search Console prompts for Claude and ChatGPT. If you would rather call the API directly, the Google Search Console API guide covers the same aggregation rules from the request side.
Frequently asked questions
What is a good average position in Google Search Console?
There is no universal good number, and lower is better: position 1 is the top of the page. A site-wide average mixes every query you appear for, so a site with lots of long-tail visibility can have a high number and plenty of traffic. Judge position per query or per page over time, and treat queries averaging 8–20 as candidates to improve.
Does an impression mean someone saw my page?
Not necessarily. For ordinary results, Google counts an impression when your link is on the page of results the user loaded, even if they never scrolled down to it. Items in carousels, in the Images tab and in results that load as you scroll usually have to come into view first. An impression means your link was shown or could have been seen, not that anyone read it.
Why is my average position improving while my clicks fall?
Usually because you lost impressions at low positions rather than gaining rank. When deep, rarely seen results stop being counted, the average moves towards your best positions while clicks stay flat or fall. Results inside AI Overviews and carousels share a single position, which can also make position look healthy while CTR drops.
Why don’t the query table and the chart totals match in Search Console?
The chart includes anonymised queries, which Google hides from the query table to protect privacy, and the table shows at most 1,000 rows. The Pages tab also counts each URL separately, while the chart counts once per property. The chart total is the more complete figure.
How is CTR calculated in Search Console?
CTR is clicks divided by impressions. The Average CTR in the chart is total clicks divided by total impressions for the whole period, not the average of each row’s CTR. Averaging row CTRs gives the same weight to a query with 20 impressions as to one with 20,000 and produces a misleading number.
How fresh is Search Console data and how long is it kept?
Collected data is usually available within 2–3 days, the newest data can be preliminary and change for a few hours, and the 24-hour view shows hourly data with a short delay. Daily data is labelled in Pacific Time. The Performance report keeps 16 months of data, so export or store anything you need for longer.