Google restarts counting. You shouldn't have to.
On page 3 of the results, Google shows you 1 through 10. Those are really positions 21 through 30. This extension numbers every result by its true rank and marks your domain in green wherever it turns up.
On the Chrome Web Store. Free and open source, no account, no tracking, no data leaves your browser.
Five surfaces, five separate counts
Paid, local and organic each count on their own scale, so an ad block at the top of the page never shifts your organic numbers.
- 24 Organic
- Continues across pages. Page 4 numbers 31 to 40, not 1 to 10.
- Ad 2 Google Ads
- Top and bottom ad blocks counted separately, matched on your domain.
- Map 3 Local pack
- Matched on business name, or on the domain behind the website link.
- LSA 1 Local Services Ads
- The Google Guaranteed block above everything else, matched on business name.
- 7 Google Maps
- Numbers the results feed on Maps itself, matched on business name.
Load every domain once
Paste your whole roster into the popup, one domain per line. Every search then tells you which of them showed up, with no switching between profiles.
walmart.com | Walmart starbucks.com | Starbucks timhortons.com | Tim Hortons # The business name is OPTIONAL. # A domain on its own matches organic results and Ads: yelp.com # A name on its own matches the local pack, LSA and Maps: Home Depot # Lines starting with # are ignored
Paste from anywhere
Pipe, comma or tab all work, so a copy straight out of a spreadsheet needs no cleaning up. Padding spaces are ignored and the two columns can be in either order.
Two fields, two jobs
The domain matches organic results and Ads, subdomains included. The name matches the local pack, Local Services Ads and Maps, where Google prints a business name instead of a URL.
Every match, all its positions
Each domain that appears gets a row listing all of its positions at once, best first. Entries that did not appear are left out, so the hits are never buried.
"windows installer" -> example.com: organic 24, ad 2, local 2. That goes
straight into an email, a report or a ticket.
Two clicks from the Chrome Web Store
It is a normal store install. Nothing to download, nothing to unzip, no developer mode. Chrome keeps it up to date on its own from here on.
-
Add it to Chrome
Open the Chrome Web Store listing and click Add to Chrome, then Add extension when Chrome asks. The only permission it wants is storage, for saving your tracked domains.
Add to Chrome -
Pin it to the toolbar
Click the puzzle piece icon next to the address bar, find Gilmedia SERP Counter and click the pin. The orange G now sits next to your address bar.
-
Run a search
Go to Google and search for anything. Numbered badges appear beside every result and the summary panel sits in the bottom right. Jump to page 2 and watch the numbers keep going instead of resetting.
Seeing a caution screen? Chrome shows "not trusted by Enhanced Safe Browsing" on extensions from publishers that are new to the store, and this one went live in August 2026. It is a note about the publisher's age, not about the code. Click Continue to install. Every line of what you are installing is public on GitHub, and the extension asks for no host permissions and sends nothing anywhere.
Rather run it from source?
Download the
latest release zip
and unzip it somewhere permanent on a local drive, not a synced cloud folder. Type
chrome://extensions into the address bar, turn on
Developer mode in the top right, click
Load unpacked and select the GilmediaSERPCounter folder,
the one with manifest.json directly inside it.
Loaded this way, updates are manual: replace the folder contents and click the refresh arrow on the extension's card. Your tracked domains survive either way.
Tell it what to look for
Click the orange G and add what you want tracked. Two fields, because Google shows a URL in some places and a business name in others.
Domain
Matches organic results and Ads. Enter example.com, not the full URL.
Subdomains match automatically, so example.com also catches
shop.example.com.
Business name
Matches the local pack, Local Services Ads and Maps, where Google prints a name
rather than a link. Partial is fine: Northside matches
Northside Windows and Doors.
Track more than one
Add your own domain and two competitors and see all three positions on the same search. Your list syncs through your own Chrome profile, so it follows you to any machine you sign into.
A long list gets a manager
Past a couple of dozen domains a textarea stops being pleasant, so Manage opens a full page: one row per domain, search by domain or business name, sort, and a duplicate check that filters down to the rows that repeat. Everything saves as you type, and comment lines stay exactly where you put them.
Reasonable questions
Is this a rank tracker?
No, and it is worth being clear about that. Google personalises and localises results, so this shows what your browser sees, from your location, signed into your account. Two people running the same search get different pages.
Use it for spot checks, client calls and quick competitive looks. For trend data over time you still want a proper rank tracking tool with a clean, consistent environment.
Is Developer mode safe?
Yes. It is a standard Chrome feature that lets you run an extension from a folder rather than from the Web Store. The tradeoff is that you are trusting the source of the folder, which is why the entire codebase here is public and readable.
Chrome will show a "Disable developer mode extensions" prompt on some updates. Click Cancel or Keep, and the extension continues working.
What data does it collect?
None. There is no backend, no analytics and no network request of any kind. The only
permission requested is storage, used to save your tracked domains in
Chrome's own sync storage.
Chrome says it is not trusted by Enhanced Safe Browsing. Is that bad?
No. That message is about how long the publisher has been on the store, not about what the code does. Google's own wording is that new developers generally take a few months to become trusted, and roughly a quarter of all store extensions carry the same notice at any given time. This one went live in August 2026.
What you can check instead of taking anyone's word: it requests one permission,
storage, and no host permissions at all. It runs only on Google search
and Maps pages. There is no backend and no network request. The whole source is
on GitHub.
The numbers look wrong. Now what?
Google rewrites its HTML without notice. Detection here is structural rather than keyed to Google's class names, which survives most redesigns, but nothing survives all of them.
Open an issue on GitHub with the search you ran and the country you ran it from, and it can be fixed. If a section genuinely cannot be read, the panel says so rather than showing you a wrong number.
The local pack is not getting numbered
Google ships several different structures for that section and rotates between them.
Open the extension popup, tick Log detection to the console, reload
the search, then open DevTools and run __gilSerpDiag().
That prints what each detection strategy matched. Paste the output into a GitHub issue and the selectors can be corrected precisely rather than by guesswork.
Does it work in Edge, Brave or Arc?
Yes. Brave and Arc install straight from the Chrome Web Store listing. Edge asks you to allow extensions from other stores first, then installs it the same way.
Loading it unpacked works in all of them too. The extensions page lives at
edge://extensions in Edge and brave://extensions in Brave.
Does it work on google.co.uk, google.ca and other regions?
It covers the common country domains including the UK, Canada, Australia, Ireland, New Zealand, France, Germany, Spain, Italy, the Netherlands, Mexico, Brazil and India. If yours is missing, open an issue and it takes one line to add.
Will it slow Google down?
No. It reads the page that has already loaded and adds a badge to each result. There is nothing to fetch and nothing to wait for.
Still stuck? The support page covers the problems that come up most often, what to send if you need to report something, and how long a reply usually takes.
Nothing leaves your browser
No collection
No analytics, no telemetry, no usage reporting. Nothing is recorded anywhere.
No server
There is no backend to send anything to. The extension makes zero network requests.
One permission
Only storage, so your tracked domains persist between sessions. That is
the whole list.