AnswersAI Search

How do I track AI visibility by city or service?

9 min read|Updated June 19, 2026
A marketing analyst reviewing a city-by-service tracking grid on a large monitor
Short answer

Build a prompt matrix: list every city down one axis, every service across the other, then run the same commercial prompts — "best [service] in [city]" — for each cell, monthly, across ChatGPT, Gemini, and Perplexity. Score each cell on its own. One global number hides the truth; the grid shows which markets and services you win or lose.

Key facts
  • A single global AI-visibility score averages away the detail that matters — you can be the top recommendation in your home city and invisible two suburbs over, and one number will never show it.
  • The core tool is a prompt matrix: rows are your service lines, columns are your target cities (or vice versa), so a business with 5 services across 6 cities tracks 30 distinct city-service cells.
  • AI answers are non-deterministic and heavily location-aware — assistants weight the user's apparent location, so a logged-out spot check from your office can over-report visibility in your home market.
  • Pivoting cited sources by city and service reveals which local directories, profiles, and roundups each market's AI answers actually trust — and those lists differ city to city.
  • For an SMB, a structured spreadsheet grid run monthly is enough; dedicated AI-rank trackers add geo-simulated prompts and share-of-voice scoring but cost more and still sample the same non-deterministic answers.

Why One Visibility Number Lies to You

Track AI visibility as a single score and you'll make bad decisions, because that score is an average — and averages hide the exact information you need. The whole reason to break visibility down by city and by service is that AI recommendations are won market by market, not all at once. A plumbing company can be the assistant's first pick for "emergency plumber in Hamilton" and completely absent from "water heater installation in Burlington" — same brand, same week, opposite outcomes. Roll those into one percentage and you'll either feel falsely safe or waste effort on markets you already own.

This matters more for AI than it did for traditional SEO. Local pack rankings were already location-specific, but a global "AI visibility: 40%" gives you nothing to act on. You can't fix 40%. You can fix "we're invisible for our highest-margin service in our second-biggest city." Segmentation turns an abstract feeling into a punch list.

There are two dimensions worth separating, and they answer different questions. The city axis tells you where you're winning and losing — a function of your local entity signals, citations, and reviews in each market. The service axis tells you what you're known for — a function of how clearly each service line is documented across the web. A business can have strong location signals but weak service coverage, or vice versa. You only see which problem you actually have once the two axes are pulled apart. Start from the assumption that your visibility is uneven, because it almost always is, and build your tracking to expose the unevenness rather than smooth it over.

Build a City × Service Prompt Matrix

The practical tool is a grid. List your service lines down one side and your target cities across the top, and every cell becomes a market you track independently. A business with five services across six cities has thirty city-service cells — that's thirty small visibility questions instead of one unanswerable big one.

For each cell, write a small, fixed set of commercial prompts using the real language buyers use: "best [service] in [city]," "who should I hire for [service] near [city]," "[service] companies in [city]," and "how much does [service] cost in [city]." Keep the prompts consistent across every cell so the grid is comparable — the same four prompts for plumbing-in-Hamilton and plumbing-in-Oakville. Two or three prompts per cell is plenty; you're sampling, not surveying.

Don't try to track every cell at once if the grid is large. Prioritize. Start with your highest-margin services in your most important cities, plus a couple of cells where you suspect you're weak — those tell you the most. You can expand the grid later once the monthly habit is established.

In the spreadsheet, give every cell its own row per assistant, and capture the same fields each run: were you named, in what position or prominence, what the model said about you (and whether it's accurate), and which sources it cited. A simple scored column — 2 for first recommendation, 1 for mentioned-in-list, 0 for absent — lets you turn the whole grid into a heat map at a glance. Green cells are markets you own; red cells are your roadmap. That visual is the entire point: it makes "where are we weak" answerable in five seconds.

Get the Location Signal Right (Or Your Grid Lies)

Here's the trap that quietly ruins city-level tracking: AI assistants are location-aware, so where you appear to be asking from contaminates the answer. Run "best electrician in Calgary" from a logged-in account in your Vancouver office and the model may blend your apparent location, your chat history, and the city in the prompt — giving you a result that doesn't reflect what an actual Calgary buyer sees. Your home-city cells will look artificially strong and your distant-city cells artificially weak.

Control for this as much as the tools allow. Use logged-out or fresh sessions so your personal history doesn't flatter you — assistants personalize, and a model that knows your business will favour it. Always put the city explicitly in the prompt rather than relying on the model to infer it. Be aware that even then, your network's physical location can tilt grounded, web-searching answers; assistants that run a live search lean on local signals you can't fully suppress from a browser.

This is the single biggest reason businesses with many locations eventually move from manual checks to dedicated AI-visibility tools. The better ones can simulate prompts from different geographies, removing your office's location bias from every distant cell. For a two-or-three-city business, careful logged-out testing with the city named in every prompt is good enough. For a franchise or multi-location brand tracking a dozen cities, geo-simulation is worth paying for, because hand-testing distant markets from one location systematically misreports them. Whichever route you take, write down your method and keep it identical every month — an inconsistent location setup makes month-over-month comparisons meaningless, which defeats the purpose of a grid.

Read the Grid and Act on the Pattern

A segmented grid is only useful if you read the pattern, not the cells — and the pattern usually points straight at the fix. Scan for clusters. If a whole row is red, the problem is the service: that offering isn't clearly documented anywhere the engines trust, so no city recommends you for it. The fix is content and entity work on that service line — a dedicated, specific service page, clearer descriptions, mentions on profiles and directories that actually name the service. If a whole column is red, the problem is the city: your local signals in that market are thin. The fix is local — a real location or service-area page, a complete and consistent business profile for that city, reviews from customers there, and citations in that city's directories.

The cited-sources data, pivoted by city, is where the roadmap gets concrete. The sources AI answers trust differ market to market — "best [service] in Toronto" may cite different directories and roundups than the same prompt for Ottawa. Pull the cited URLs per cell and you get a per-city list of exactly where you need to appear. Missing from a directory that gets cited across three of your weak cities? That single listing can lift multiple cells at once.

On cadence and expectations: run the full grid monthly, judge the three-month trend rather than any single month, and expect noise — a cell flipping between mentioned and absent month to month is normal sampling variance, not a crisis. Improvements tend to arrive in steps as crawls and entity changes propagate. If segmenting and fixing this market by market is more than you want to own, that's exactly the gap-mapping work an AI-search engagement handles — our AI-visibility audit produces this city-by-service grid as its starting deliverable. Either way, the discipline is the same: measure each market on its own terms, and let the heat map tell you where to spend.

Related questions

The city axis tells you where you win or lose, which depends on your local signals — profiles, reviews, and citations in each market. The service axis tells you what you're known for, which depends on how clearly each offering is documented across the web. A grid that crosses both shows whether your gap is a weak market, a weak service, or a specific city-service combination.

As many as your grid has cells, but start focused. Prioritize your highest-margin services in your most important cities, plus a few you suspect are weak — those teach you the most. Two or three fixed prompts per cell, run monthly, is enough to see a trend. Expand the grid once the monthly habit is reliable rather than trying to cover everything from day one.

Because AI assistants weight where you appear to be asking from. Testing from your office, logged in, with your own history, inflates your home market and understates distant ones. Use logged-out sessions, name the city explicitly in every prompt, and — for many-location businesses — a tool that can simulate prompts from each city, so every cell is measured on fair footing.

For two or three cities, a disciplined spreadsheet grid run monthly is genuinely enough and you understand exactly what was measured. Paid AI-visibility trackers earn their fee for multi-location brands: they simulate prompts from different geographies and score share of voice at scale. They still sample the same non-deterministic answers, so adopt one when hand-testing distant cities becomes the bottleneck.

Monthly is the right cadence — AI visibility moves on the timescale of crawls and index refreshes, so weekly checking adds noise, not insight. Read clusters, not single cells: a red row points to a service problem, a red column to a city problem. Judge the three-month trend, and treat individual cells flipping between months as normal variance.

Want a second opinion on your situation?

Get a free, no-obligation proposal. We’ll look at your site and your market and tell you honestly what we’d do — and what we wouldn’t.

Get Free Proposal →

No upfront fees. No long contracts. If you’re not satisfied after the first 30 days, you don’t pay.

Get Free Proposal
Get Free ProposalCall