How the number is actually built
For each result set where your site appeared, Google records the highest position any of your links occupied. Two pages ranking 4th and 9th for one query record as position 4, not 6.5.
Then it averages those positions across every impression in the period. That second part is what almost nobody knows, and it changes everything: the average is weighted by impressions, not by queries. A query with 10,000 impressions counts ten thousand times; one with 3 counts three times.
Positions are also counted within the organic list only. Ads, an AI Overview and a local pack push your result down the actual page without touching the reported number — which is how a stable average position sits alongside a collapsing click count.
The averaging trap, with the arithmetic
Here's the example everyone uses. You rank 3 for one query and 60 for another, so your average is 31.5 — a position you hold for nothing.
That's directionally right and arithmetically wrong, and the real version is worse. Because the average is impression-weighted, it depends entirely on how many impressions each query produced.
| Query | Position | Impressions | Contribution to the mean |
|---|---|---|---|
| "seo agency bangalore" | 3 | 100 | 3 × 100 = 300 |
| "seo" | 60 | 900 | 60 × 900 = 54,000 |
| Reported average | 54.3 | 1,000 | 54,300 ÷ 1,000 |
| Simple mean of the two | 31.5 | — | What most people assume it shows |
The fix: filter to one query or one page
Average position becomes genuinely useful the moment it's scoped to something real. Two filters do almost all the work.
Filter by query. Add a query filter for one target term and read the position. Now it means what you thought it meant. Do this for the twenty queries in your plan and you have a real rank report, from Google's own data, free.
Filter by page. Pick a URL and see its average across everything it ranks for. Good for spotting a page that has slipped broadly, and for catching keyword cannibalisation — when two URLs trade places on one query, both look erratic and neither looks broken.
Then add the dimension people forget: country and device. India and mobile filters change the picture substantially, because the global blend hides where your buyers actually are.
- Performance report → date range 3 or 6 months → Compare to the previous period.
- Add a country filter for India, then a device filter for mobile.
- Add a query filter for one planned target term.
- Read position and impressions together. Position improving with impressions rising is the shape you want.
- Repeat across your twenty target queries. Twenty minutes a month, and it beats most paid dashboards.
Average position versus a rank tracker
A rank tracker asks a robot to search a term from a set location and records what it sees. Search Console reports where real people actually saw you. They will never agree, and the reasons are informative rather than annoying.
Results in India vary heavily by city. Search a commercial query from Bangalore and from Patna and you get different pages, especially with local intent. Search Console blends all of that into one number; a tracker gives one city's snapshot. Neither is the truth.
Personalisation, search history, device and time of day add more variance — as does Search Console reporting a period average while a tracker reports a moment.
Use each for what it's good at. The tracker tells you where you stand in one market on one day. Search Console tells you what your real audience experienced across the period. Neither is the metric worth being paid on — that's leads, which is why our own guarantee is written against a client's trailing-90-day organic lead baseline rather than any position.