Back to Insight
AI Search
How AI search actually works for local businesses, and how to win it

Andrew Francos
SUMMARY
A practical guide to local AI search, using a local gym's visibility as a case study and showing how to set up local tracking in Obsero.
Introduction
If you run a gym, a dental practice, a garage, a coffee shop, anything with a postcode, your customers are already asking AI where to go. The question isn’t whether to care about this. It’s whether you show up when they ask.
28% of people have tried a local business they’d never heard of, purely because an AI recommended it. Yext surveyed 3,848 people to get that number. More than four in ten now use an AI tool to search for a local business in any given month, and 71% of those say they’re doing it more than they were a year ago.
So what actually happens when someone types “best gym near me” into ChatGPT, Gemini or AI Mode? And what can a local business actually do about it? That’s what this guide covers, using our own local gym as the test case, and the product we built after seeing what the data showed.
How local AI answers work
Ask an AI assistant a “near me” question and you get a map and some text. They come from different pipes.
The map is a separate component, drawn by Mapbox and filled with structured business records: name, address, hours, rating, phone. The text underneath is built from web pages, and it shows its working in the citation links below the answer.
Which means you can be a pin on the map and completely absent from the text. Or cited five times in the text and missing from the map entirely. Two components, two different things to get right, and fixing one doesn’t fix the other.
Being named in the answer is the actual objective. That’s the recommendation a local business is after.
What the Rise Gym data shows
We tested this on a gym I’m actually a member of: Rise, in Welwyn Garden City. Two established locations (Welwyn Garden City and Stevenage), a new site opening in Brentwood in early 2027, and St Albans added as a control, an affluent town eleven miles away where Rise has no presence at all. Same prompts, same platforms, tracked every week.
Welwyn Garden City and Stevenage. The two established clubs beat PureGym and The Gym Group in their own towns, on the classes and kit Rise has actually invested in: spin, HYROX, personal training, recovery. An independent beating national chains, locally.
Brentwood. Not open until early 2027, and already showing up in a meaningful share of answers for the facilities it will have. The page exists, the town is named, the offer is described. That’s enough for the models to start including it.
St Albans. Zero, across every tracked prompt. Not for ice baths, not for personal trainers, not for “how do I join a gym near me”. There’s no address, no Google Business Profile, no location page there. The AI isn’t overlooking Rise, it has nothing to work with. Fitness First and Nuffield have sites in St Albans, and they own those answers.
Presence is the price of entry. Get a real address in a town with everything attached to it, and you can beat the chains, like Welwyn Garden City and Stevenage prove. Skip it, and nothing else saves you, like St Albans. But you can start early, like Brentwood is doing.
One thing worth sitting with: Rise’s blended national score across all four towns is around 25%. That single number describes none of the four towns individually, and it tells you to do nothing useful. This is the trap of measuring AI visibility at brand level instead of location level. It hides exactly the gap that matters.
What drives local citations
On Google’s own surfaces, AI Mode and AI Overviews, the most cited source for local answers isn’t a website. It’s the Google Business Profile. Everywhere else, it’s the gym’s own website. Not directories, not review sites, not clever content marketing.
So Google My Business is the foundation, and most local businesses have it half filled in:
• Categories. Pick the narrowest primary category that’s actually correct, then add two or three genuine secondaries. Google has changed the available categories dozens of times in the last year, so check yours is still accurate.
• Attributes. The checkboxes people skip. Accessibility, identity, service details. These now feed directly into AI answers.
• Services, with prices. If the price isn’t somewhere a model can read it, you don’t get named when someone asks what it costs.
• Photos. Google reads your images to work out what you actually offer. Upload real ones, regularly.
• Description and hours. Use the full 750 characters. Keep hours accurate, including holidays.
• A local phone number, not a generic 0800. It’s a geographic signal.
In the US it’s more mixed. Most results link to the business’s own site, but a meaningful chunk route through Yelp instead, so claiming and maintaining that listing matters too.
And within a site, location pages carry more weight than the homepage. A well-built page per town, naming what that specific location actually has, does more work than any amount of homepage copy.
What to do this week
Ask the AI about your category. Ten prompts your actual customers would use, across ChatGPT, Gemini and AI Mode. Write down who gets named, and in what order.
Do it again for every town you serve. Change the town name in the prompt. The gap will be bigger than you expect.
Click the citations. That’s the AI showing its working. Whatever keeps appearing, get on it. If a competitor’s page is cited and yours isn’t, go read theirs.
Fix your NAP, starting with Google Business Profile. Same name, address and phone everywhere, one profile per location, fully filled in.
Build a page per location, and name what you actually have. The specialism nobody else locally offers. Your prices, in a form a model can actually read.
Doing that properly for one town takes about an hour. For eight towns across six platforms, every week, it’s a full time job. Which is the reason we built Obsero Local.
Set up local tracking in Obsero
Obsero Local shows you exactly where you stand in every town you trade in, against the competitors who actually operate there. Here’s how to set it up.
1. Add your locations. You can track by city or by postcode, whichever matches how your customers actually search. Add every town you have a genuine presence in, and it’s worth adding one or two towns nearby where you don’t, as a control. That’s how the St Albans comparison above happened.
2. Set your prompts per location. Use the same category questions your customers would actually type, tagged to each town. Obsero runs them against every major platform on the same schedule, so the comparison is genuinely like for like.
3. Track your Key Competitors. Hit track on any competitor showing up in your local answers and Obsero adds them as a Key Competitor for that view, up to ten. This is what makes the town-by-town heatmap mean something, you’re not just seeing your own score in isolation.
4. Read the Local Competitor Threat score. Rather than a vague “biggest gap” metric, this tells you which single competitor is beating you in the most towns, and by what margin. It’s the one number to check first if you’re short on time.
5. Check Brands to watch. Newer entrants and adjacent competitors that aren’t in your tracked set yet but are starting to show up in your local answers. Worth a glance before you finalise a Key Competitor list.
6. Toggle between visibility, share of voice and position. Visibility tells you if you’re mentioned at all. SOV tells you your share against the competitors you’ve tracked. Position tells you where you rank in the answer when you do appear. Three different questions, three different fixes.
If you’ve got locations trading now and you’re not looking at this weekly, you’re finding out about a gap the same way most businesses do: a customer mentions it, or a competitor’s ad shows you where you’re losing.
Growth through intelligence
Capture your brand’s historic visibility, recommendation and sentiment data from AI Search in one intuitive platform
