Almost every business owner you work with has already done this. Late one evening, phone in hand, they typed their own company into ChatGPT and asked it something like who is the best HVAC company in my town.
Then one of two things happened.
It named them, and they felt good about it for a day and told nobody, because what would they even say — "an AI likes us"?
Or it did not name them, it named three competitors instead, and they felt slightly sick, and they had nowhere to put that feeling. Not a report. Not a meeting. Not you.
That second version is the conversation this article is about, because it is happening to your clients right now and you are almost certainly not in it.
The front door you cannot see through
For fifteen years the question a local business paid an agency to answer had a good answer. Where do we come in the map pack? You could pull it. Screenshot it. Put it on slide four and argue about it with a number in your hand.
Some of that demand now goes somewhere else first.
A homeowner opens ChatGPT. A property manager asks Perplexity because it shows its sources. Somebody types the query into Google exactly as they always have and then reads the paragraph above the links instead of the links. In every one of those cases a machine writes a few sentences and names two or three businesses inside them — and your client is either in that paragraph or they are not.
We are not going to quote you a percentage for how much of local search has moved. Nobody has one you could check, and the figure people repeat in decks changes depending on who is selling something. Treat anybody who gives you a confident number here with the suspicion you would apply to a contractor who quotes a roof from the street.
What you can check is what the engines actually say. That is a much smaller claim. It is also the only one worth building a product on.
Why you cannot just go and look
The obvious objection is that you could do this yourself. Open ChatGPT, ask the question, write down what it says. Ten clients, twenty minutes.
It does not work, and it is worth being precise about why, because the same reason is what makes the alternative useful.
Your session is not their session. It carries your history, your location, your past conversations, and whatever the model has inferred about you from all of it. You are not sampling what a homeowner in Hoover gets. You are sampling what you get.
The answer is generated, not retrieved. There is no stored list being read out. The model writes a fresh answer every time, and asking twice in a row can give you two different sets of names. One look is an anecdote. Two looks are two anecdotes.
And the model underneath you changes without telling you. A figure you wrote down in March, from a model version nobody can now identify, is not a figure you can defend in September.
So one person looking once proves very little. Fifty observations of the same question, asked the same way, through the API rather than a logged-in session, over three months — that is something else entirely. It is not a ranking. It is a record, and a record is what a client meeting runs on.
What we built
AI Visibility Tracking is an add-on to a Nearby Now account. It does one thing.
It takes a set of natural-language questions — the ones a customer would actually type, in the cities that business actually works in — and puts them to the answer engines on a weekly schedule. Every reply is kept.
The six engines
- Google AI Overviews — the answer Google writes above the blue links
- Perplexity — answers with its sources attached, which makes what it drew a name from unusually easy to read
- ChatGPT — the one a homeowner opens by name
- Gemini — Google's assistant, asked separately from the AI Overview, and quite capable of answering the same question differently
- Claude — used heavily at work, which is where a property manager or a GC does their shortlisting
- Grok — on the list for the only reason any of them are: people ask it
Which engines a given account is asked is set by its plan and is the same for every account on that plan. That matters more than it sounds: it means two clients on the same plan are directly comparable, and neither of them has a quietly different list sitting behind their report.
The four facts
Out of every reply, four things are read and recorded.
- Whether the business was named. Three outcomes, not two: named, not named, or could not check. A provider outage, a refusal or a timeout is recorded as its own thing and kept out of the denominator — because somebody else's bad afternoon is not your client's bad month.
- Where it came in that answer's own list. First named, third named, last named. This is a position inside one paragraph of text. It is not a place in a result, and the product will not print it as one.
- Which other businesses were named. The rest of the paragraph, kept. More on this below, because it turns out to be the part agencies use most.
- Which model answered, on which day. On every single observation, without exception.
The questions are yours
When the add-on goes on an account, a starting set of questions is suggested from that business's own cities and what people search for before they find it. So the first draft already knows the trade and the towns.
Then you rewrite them. Switch off the ones that do not matter. Add the ones that do — the commercial query nobody else is asking about, the emergency-service phrasing, the neighbourhood the client keeps bringing up.
This is the part worth spending an hour on per client, because the questions are the report. A tidy chart of the wrong question is still the wrong question.
The honest part, which comes before the good part
Here is the sentence the product prints on the dashboard, in the exported PDF and inside the monthly scorecard, unabbreviated, in all three:
Each figure is a sample: one question put once to one model through its API on the date shown. Answer engines reply differently to different people, in different sessions and as their models change, so this is evidence of what an engine said when it was asked — not a position, a ranking or a score.
We print it in full, in the same place as the numbers, rather than in a footnote at the bottom of page four. If a caveat is only comfortable to print when the result is bad, it was never a caveat.
So: there is no "ChatGPT ranking" in this product. There is no visibility score. There is no grade. You will not find one on any screen, in any export, or in any email, and if you ever do, that is a bug and we would like to hear about it.
What there is instead is a citation rate — how many of the recorded answers named the business — printed beside the two counts it was calculated from, every single time. A percentage that arrives without its numerator and denominator is a percentage somebody is hoping you will not examine.
And the trend is two pairs of counts, never a percentage change. A movement between two sampled rates, each built on a handful of observations, is exactly the figure somebody would screenshot out of context. It is not printed at all.
Used the way it is meant to be used, none of this is much of a limitation. You are watching a fixed set of questions over time, under identical conditions, and asking whether the business is turning up in the answers more often than it did last quarter. That is a real, checkable thing. It is simply not a ranking, and we would rather sell you the real thing than a better-sounding one.
What agencies actually do with it
Four patterns, in the order they tend to show up.
The renewal meeting stops sounding like everyone else's. Every agency in that pitch has a rankings slide. Almost none of them can say a word about what the answer engines are doing, and every owner in the room has privately wondered. Turning up with twelve weeks of recorded answers is a different meeting, and it is a different meeting for a reason that will hold for a while: this data does not exist unless somebody has been collecting it since before the meeting.
It is per account, so you can start where it will land. Put it on the three clients who will care about it. Prove it for a quarter. Then have a much easier conversation about the other nine, with your own screenshots rather than ours.
The competitor list is the sleeper feature. Every answer keeps the other businesses it named. Read a quarter of those and you know which three competitors the models have settled on as the obvious answer in that city — in that city, in the engines' own words, not inferred from a rank tracker. Whatever you decide to do about it, that is a list worth having, and it is one you cannot get any other way.
And it feeds the report the client already reads. The monthly scorecard grows a section for it. The caveat goes inside that section, so the figure and the qualification travel together no matter who forwards the PDF.
One setup step that is not optional
An answer counts as naming the business only if the name in it matches the name on the account, or one of its saved variants.
Clients trade under more names than they think. There is the legal entity on the invoice. There is the name painted on the trucks. There is the thing people actually type, which is often neither. If an engine names Ridgeline Heating and the account says Ridgeline Heating & Air Conditioning, LLC, you want that to count — and it will, if somebody saved the variant.
Do this before the first run. It takes about ten minutes per client and it is the whole difference between a real measurement and a month of false misses that make a perfectly healthy client look invisible.
What it costs
It is a paid add-on, priced per account per month on top of the plan.
We are deliberately not printing a figure here, and the reason is not coyness. Agency partner rates differ from list, so any number on a marketing page would be wrong for a good share of the people reading it. The price that applies to a given account is shown against that account in the portal, where it is actually true.
If you are running a book of clients and want to know what it looks like across them, tell us which ones and we will quote the rate for your book, help you get the name variants right, and get the first set of questions written with you.
The short version
Your clients' customers are asking machines for a contractor. The machines are answering with two or three names. Nobody in this industry can currently tell an owner whether their name is one of them.
Now you can — carefully, with the caveats attached, and before the agency down the road works out that they should.