How we set up local GEO tracking for a new client
Our first month with a new local client: sorting locations into walk-in and service-area, coordinate monitors versus city monitors, the prompt set, two baseline weeks and the plan check we do before promising anything.
The first month with a local client decides whether the next twelve are useful. If the monitors are set up loosely, every later report argues with itself: the prompts drift, the locations don't match how the business actually sells, and nobody can tell a real change from a different setup. So we spend most of month one on setup and very little on fixing things.
This is the onboarding sequence we run. For how a multi-location program looks once it's up and running, see how we run city-level AI visibility for multi-location clients. This post covers the part before that.
Week one: sort the locations before touching software
We start with a spreadsheet, not a dashboard. Every place the client earns money gets a row, and each row gets one of two labels.
A walk-in location is somewhere customers physically come: a clinic, a showroom, a restaurant, a gym. What matters there is what an AI engine says to someone standing a few streets away.
A service-area market is a town the client covers without a storefront. A roofer based in one town might do most of its jobs in four others. There is no front door to stand near, so the useful question is what the engine says to someone in that town generally.
Then we ask sales which rows actually matter this year. A client with thirty locations rarely needs thirty monitors in month one. We start with the ones carrying revenue and the ones the client is worried about, and park the rest.
Coordinate monitors for doors, city monitors for areas
We run client programs on Promptwatch, where every monitor carries its location, language, optional persona and the models it runs. Prompt panels run daily per model. The location can be a country, a state or a city, and since October 2026 it can also be a set of exact coordinates.
That coordinate option (Promptwatch calls it local GEO/SEO targeting) pins a monitor to a point with a radius between 20 m and 5 km. ChatGPT, Google AI Overviews and Google AI Mode then answer as if the prompt were asked from that spot. Other models fall back to the monitor's country, state or city.
So our rule of thumb from the spreadsheet is simple. Walk-in locations get a coordinate monitor centred on the storefront. Service-area markets get a city monitor per town. We pick the radius by density: a tight radius in a busy city centre where three competitors share a street, a wider one for a suburban location whose customers drive in.
Because coordinates only change the answer on those three engines, we keep the coordinate monitor to ChatGPT, AI Overviews and AI Mode, and put the other engines we track (Perplexity, Gemini, Copilot and so on) in a matching city monitor. That way nobody reading the report has to remember which row was measured from a street corner and which from a whole city.
Freeze the prompt set
Every location gets the same prompts, word for word. We copy monitors instead of retyping them, because "dentist" in one city and "dental practice" in another is enough to make a comparison meaningless.
A starting set is usually 12 to 20 prompts. Most are unbranded category questions a customer would ask. We add a "near me" version of each main topic, since that phrasing depends entirely on where the engine thinks the user is. Then a few brand prompts (is this location open on Sundays, does it offer a given service) and the competitor comparisons the front desk hears most often.
We check Promptwatch's prompt volumes and difficulty scores on each candidate and drop the ones nobody seems to ask. The location name stays out of the prompt text, because the monitor already sets the location.
Connect the data that explains a drop
While the monitors collect their first days of data, we wire up the two sources we'll need later to explain what we see.
Crawler logs go in through whatever the client's site runs on: Cloudflare, Vercel, Netlify, the WordPress plugin or one of the other integrations. Promptwatch's Agent Analytics verifies AI crawler visits by IP, so a fake GPTBot user agent doesn't inflate the numbers. Visitor analytics goes in through a small script, the Google Tag Manager template or the WordPress plugin, so AI-referred visits and conversions can be tied back to location pages.
Neither of these is glamorous. Both are what turn "we dropped in one town" into a task someone can actually do.
Two weeks of baseline, no conclusions
We don't report anything during the first two weeks. AI answers move from day to day, and a single snapshot makes noise look like news. Two weeks of daily runs gives a range for each location and engine, and that range is what later changes get compared against.
During those weeks we do read responses. Wrong opening hours, a closed location still being recommended, or a competitor's address attached to the client's name all go straight onto the fix list. Those are facts to correct, not trends to wait for.
The plan check we do before signing off on scope
This is where we say no to some briefs. City and state targeting in Promptwatch are on the Business brand plan ($579/mo) and every agency plan. Coordinate targeting is narrower: Business, Agency Scale ($799/mo) and Enterprise. Essential ($95/mo) and Professional ($245/mo) track by country only. We go through the plan question in more detail in which Promptwatch plan includes city and state tracking.
Then the response budget. Prompts times models times days, per location. Fifteen prompts on three models every day is about 1,350 responses a month for one location. Agency Scale includes 65,000 responses a month, so we size the location list to fit rather than cutting prompts or models to squeeze more rows in.
What the client gets at the end of month one
A location list with a label on each row, a monitor map showing which locations are measured by coordinates and which by city, the frozen prompt set, connected crawler and visitor data, and a baseline report with one row per location per engine. Plus the list of factual errors we found in AI answers and who is fixing each one.
Month two is where the work on visibility starts. If you're about to start local AI tracking and want the setup right the first time, send your location list to hello@1001seomedia.com.