Google Maps rank tracking & activity
A customer two miles away sees a different top three than the one outside your door. RankOnDemand measures your position from 25 points across the area you actually sell in, every day — and sends real activity to your listing from those same places.
25 points · 5 mi across · business name withheld
Every circle is its own search, made from that spot on the map. The number is the position your listing held there that day.
Watch
What gets measured, how the grid fills in, what happens to your listing afterwards, and what the movement looks like when it comes.
It starts on its own with the sound off, the way every browser insists. Turn it on with the button — or leave it off, every word is on screen.
Why one rank number is worthless
So the first question was never how to track a position. It was how to stand somewhere on purpose. Three ways of doing that were tested on one clean profile, reading the location Google itself prints at the bottom of its results page.
| Method | What happened | Verdict |
|---|---|---|
| Google’s uule location parameter, three spellings | The footer still read “Unknown — can’t determine location” | ignored |
| Browser geolocation override, permission granted | The results came back identical | no effect |
| The connection’s own exit address | Footer read “Clark County, Nevada”, and the listings came back from Las Vegas | works |
That is why there is no latitude box to fill in anywhere in this system: it would be a control that changes nothing. Position comes from the line each check goes out on, and every check records the location Google reported back. A rank measured from the wrong city looks perfectly plausible and is worth nothing — here it comes back flagged in red instead of being filed as a number.
The system
Built over months against the real thing, not against a documented API. Every part below exists because a simpler version of it was tried first and gave a wrong answer.
You paste your Google Maps link. The CID inside it identifies your listing exactly, so a competitor with a similar name — or your own second location — is never counted as you.
25 points across the area you sell in. Each one is a separate search made from that spot, read down the local pack and into the full list behind “More businesses”.
Every check gets a browser profile built for it alone, with its own fingerprint, no history and no account, deleted the moment it finishes. Nothing in the page says automation, so the position that comes back is the one a stranger would see.
A keyword can be measured inside an actual Android phone’s Chrome — real touch, real device, a carrier connection — and the line takes a new address between checks.
A check that finds you does more than write the number down: it opens your website, asks for directions and taps call, in a random order, then reads a page or two the way a visitor does.
The day’s checks are planned across your working hours, each drifting inside its own slot and pushed apart from the others, so the pattern stays irregular and never clusters.
If Google answers from the wrong city, the check is thrown away and retried on another address instead of being filed as a number. A blocked search is re-queued, not lost. A crash puts its work back in the queue.
A check costs about a minute and they run one at a time per line. If the volume ordered does not fit the day, the dashboard says so, instead of quietly dropping the rest.
Your listing is also watched for “temporarily closed”, “permanently closed” or vanishing from Maps. That alert goes out within the hour, not at the end of the month.
A site with no place on Maps is tracked on its position among the ordinary organic results, matched by domain — ads not counted, sitelinks staying with their own result. Each check that finds the site clicks into it with a real mouse click and reads two or three pages before going back to Google.
How a check runs
A throwaway browser carrying the project fingerprint and your target’s connection. Ten are kept pre-aged, so no check waits on one.
Somewhere within a third of a mile of one grid point — first the points nothing has visited today, so the whole map gets covered.
Through the homepage, typed, the cookie wall dismissed, the way a person arrives. The location Google prints back is read and kept.
Then “More businesses” is clicked and the full local list is paged through, as deep as your plan asks, until your listing turns up.
Taken from the Directions link on each card, the one place Google still exposes it. An exact match, never a guess on the name.
Your position, the competitors around you, the location Google reported, the coordinates the check stood on, and which of your controls were used.
Website, Directions and Call, in a random order, while that point’s budget for the day lasts.
Closed and deleted before the next check begins, so nothing carries over and tomorrow’s number is measured the same clean way.
Results
Nobody can promise you a position — Google decides that, and anyone who guarantees a number is selling you something else. What we can show you is what the checks measured on accounts we run. These are real scans, redrawn from the data, with the businesses and their towns kept out of it.
A local service keyword, 25 points over a metro area. The first scan found the listing around position 30 nearly everywhere. Four weeks later every point on the grid came back #1.
The scan above: twenty places of average gain in four weeks, and the whole grid in the top three. This is the best we have on record, not the normal month.
Sixteen days on another keyword of the same account: out of the tail of the local list and into the three cards people actually see, at three quarters of the points.
A keyword that already ranked (average 3.9) and had little room left. It went to an average of 1.2 and stopped dropping out of the pack at the edges of the area.
Four weeks is how long these took; some keywords take longer and some barely move, and those months are in your report too, with the same numbers. No client is named on this page and nothing here is a forecast of what your listing will do.
What you get
Every client gets a portal account. It opens on your listings, your rank map for each keyword, and a comparison between any two dates you were tracked — your first week against this week, say. Export it and it comes out as a PDF with the maps inside.
| Keyword | Avg pos | In top 3 | Visible |
|---|---|---|---|
| emergency plumber | 7.4 −2.1 | 24% +12 | 92% +8 |
| water heater repair | 9.1 −0.6 | 16% +4 | 88% −4 |
| plumber open sunday | 11.8 −3.3 | 8% +8 | 76% +16 |
Numbers here only show the layout. Yours are whatever the checks measured, month over month, including the rows that did not move.
The average counts only the points where you were actually found. A point that could not find you is reported as not found, instead of being quietly scored as a big number that drags the average into looking like a ranking.
Every listing seen on the way to yours is stored, so the map also tells you who is above you at each point, by name.
Run it across your own client book: each client gets a login that sees only its own listings, while your agency account sees all of them, under your name.
No access to your Google Business Profile, no website login, no passwords, nothing to install. The public Maps link to your listing and the keywords you want to be found for is the whole setup. Nothing on your listing is edited by us — it is measured and used, which is all it needs.
Pricing
What it costs depends on how many listings you track, how many keywords each one carries and how many checks a day you want behind them — a single shop and a thirty-location agency are not the same job. Tell Jake what you have and you get a figure, usually the same day.
Contact
Send the Maps link to your business and the keywords that matter, and you get back what your position actually looks like across your area. Jake handles sales and onboarding, and answers on the phone, on WhatsApp, or by email.
Calls and messages in English. The form goes to the same inbox.