To do local keyword research, list the services you sell, cross them with the areas you actually serve, then check the live search results for each combination to see whether Google treats it as a local query. The tools come third, and for most of what you will look up, they will tell you nobody searches it.
That last part is the bit the guides leave out, so let us start there.
We measured 764 local keywords. 582 of them showed zero volume.
Before planning a Texas rollout, we pulled volume data on 764 city-qualified keyword variants across four services. Here is what came back.
| Keyword set | Terms measured | Zero volume | Share |
|---|---|---|---|
| Landing page terms | 200 | 197 | 98.5% |
| PPC terms | 200 | 171 | 85.5% |
| Social media terms | 200 | 123 | 61.5% |
| SEO terms | 164 | 91 | 55.5% |
| Combined | 764 | 582 | 76.2% |

Bar chart of zero-volume rates across 764 city-qualified keyword variants: landing page terms 98.5 percent, PPC terms 85.5 percent, social media terms 61.5 percent, SEO terms 55.5 percent, combined 76.2 percent.
Three quarters of the phrases a normal person would guess at came back empty. On the landing page set it was so close to total that the three survivors all reported ten searches a month, which is the floor the tool rounds up to.
This is not a broken tool. It is what keyword tools do with long-tail local terms: they bucket, they round, they suppress anything below a threshold, and Google's own Keyword Planner groups similar phrases together and widens its ranges further if you are not spending money on ads. Real people still type those phrases. The tool just cannot see them individually.
So the honest version of local keyword research is not "find high volume terms near me". It is a filtering exercise where relevance carries more weight than volume, and where you need a way to decide what to build when the data column says nothing.
Why the tools go blank on local terms
Worth understanding the mechanism, because it tells you when to trust the number and when to ignore it.
Google's Keyword Planner groups closely related phrases into a single reported term and shows volume as a range rather than a figure. Accounts that are not spending meaningfully on ads get the widest ranges of all, which is how "1K to 10K" ends up being the most precise answer available. Anything that falls below its reporting threshold simply disappears rather than showing as a small number.
The commercial tools mostly model their local numbers from clickstream samples and national data. A sample large enough to estimate national demand for "water heater replacement" is nowhere near large enough to estimate demand for that phrase in one suburb of 40,000 people.
Neither system is lying. Both are reporting the limits of what they can measure, and both round that limit down to zero.
The practical consequence: treat volume as a comparison tool between similar terms, and never as a yes or no on whether a query exists. Google's own local ranking guidance makes the same point from a different direction, that relevance to the searcher and their query is the first factor, before prominence or distance.
Implicit and explicit local keywords
Two shapes, and they behave differently.
Explicit keywords name the place: "emergency plumber austin", "dentist near lincoln park". You can see the local intent in the phrase.

Comparison of explicit local keywords that name a place, such as emergency plumber austin, against implicit ones such as emergency plumber that Google localizes automatically.
Implicit keywords do not, but Google localizes them anyway: "emergency plumber", "walk in dentist", "car detailing". Google knows where the searcher is and serves a map pack regardless.
Implicit terms usually carry far more volume and far more competition. Explicit terms convert better and are easier to win. Most small businesses should chase the explicit ones and let the implicit ones arrive as a side effect of the Google Business Profile work, because the profile is what decides the map pack on those queries.
Step 1: harvest the words, do not brainstorm them
Every guide says brainstorm. Brainstorming produces the words you already use, which are usually your industry's words rather than your customers'.
Harvest instead, from four places where the real phrasing already exists:

Four sources for harvesting local keywords: the Google Business Profile performance report, your own and competitors' reviews, sales calls and inbox, and Google autocomplete with People Also Ask.
Your Google Business Profile categories are also a keyword list nobody treats as one. The primary category is effectively a declaration of what you want to rank for, and it is worth getting right before any of this.
Step 2: build the grid
Two axes. Services down the side, places across the top.
Services means what you actually sell, at the granularity you sell it: not "plumbing" but "water heater replacement", "slab leak repair", "drain cleaning". Places means where you actually go, which is rarely the neat list of city names you would put on an About page. It includes neighborhoods, the suburb people say instead of the official municipality, and sometimes a landmark.

Five local keyword modifier types and what each signals: urgency means ready to call now, price means comparing, qualifier means vetting you, comparison means shortlisting, and problem phrasing means describing a symptom rather than a service.
Fill the grid and you have your candidate list. For a plumber with eight services and six areas that is 48 phrases, most of which will show zero volume, and that is fine.
Now add the modifiers that change intent rather than just adding words:
| Modifier type | Example | What it signals |
|---|---|---|
| Urgency | emergency, 24 hour, same day | Ready to call now |
| Price | cost, cheap, affordable, free estimate | Comparing, not yet committed |
| Qualifier | licensed, insured, family owned | Vetting you |
| Comparison | best, top rated, vs | Shortlisting |
| Problem | leaking, not working, broken | Describing a symptom, not a service |
The problem row is the one most businesses skip and the one that converts. Nobody searches "drain cleaning services" at 11pm. They search "kitchen sink backing up".
Step 3: check the result, not the volume column
For each candidate, run the search from the area that matters and look at what Google returns.
You are answering one question: does this query produce a map pack? If it does, the query is local and the page that wins it will be a local one. If it returns only national results, no amount of city-naming on your page will change that.

Four questions to ask of a live local search result: does it produce a map pack, is the map pack competitors or directories, how much screen is left above the organic results, and are you checking from the right location.
Do this from the right location. Search results differ by where the searcher is, and checking "plumber sugar land" from a laptop in another state gives you a picture nobody in Sugar Land will ever see. Most browsers let you set a location in the search settings, which is enough for this.
While you are there, note whether the map pack is full of your actual competitors or of directories. A page of directories usually means the query is winnable. Three strong local competitors with 200 reviews each usually means it is a longer project.
One more thing to record while you have the result open: how much of the screen is left. On a lot of local queries the map pack, the ads above it, and an AI summary now occupy everything above the fold, and the first organic link sits somewhere below all of that. A query where the organic results start at the bottom of a phone screen is worth less than its volume suggests, and a query where they start immediately is worth more. Neither fact appears in any tool.
Step 4: what to do when the tool says zero
This is the step nobody writes, so here is ours, built from the 764-term exercise above.
A zero in the volume column means one of four things, and they call for different responses.

Four interpretations of a zero-volume local keyword and the response to each: real demand below the tool's floor means build the page, wrong wording means build on the autocomplete phrasing, wrong granularity means build one page for the parent term, and no demand means do not build it.
The phrase is real but below the tool's floor. A city of 40,000 people generates genuine demand that never clears a reporting threshold. Test: does the query produce a map pack with real local businesses in it? If Google built a local result for that phrase, people are searching it. Build the page.
The phrase is real but nobody says it that way. "Dental implant services Plano" versus "dental implants Plano". Same demand, different wording, and only one of them has the volume. Test: does autocomplete offer a near neighbor? Build the page on the phrasing the autocomplete suggests.
The demand exists but not at this granularity. People search the metro, not your specific suburb. Test: does the parent city term have volume while every neighborhood term is empty? Build one strong page for the parent term rather than fifteen thin neighborhood pages.
There is genuinely no demand. Nobody in this area buys this service through search. Test: no map pack, no autocomplete, no competitor ranking for anything nearby. Do not build it. This is the case our landing page terms mostly fell into, and it is why we dropped that entire tier rather than publishing 200 pages nobody would ever find.
That last decision is worth dwelling on. We had the pages planned. The data said 197 of 200 terms had no measurable demand, the SERP checks agreed, and we killed the tier. Publishing them anyway would have produced a larger site and no more customers.
Step 5: one page, one job
Map each surviving keyword to exactly one page, and write the mapping down before you write anything else.
The failure mode here is two pages targeting the same phrase, which splits your own signals and leaves Google to pick. The other failure mode is one page trying to serve eight phrases across four suburbs, which lands convincingly for none of them.
Aerial view of a suburban neighborhood with houses and streets.
The count that works is almost always smaller than the count people plan for. Six service pages that each do one job will out-earn sixty that overlap, and they are finishable. The specifics of getting those pages to say something are in content for local landing pages, and if you are running more than one location, local SEO across multiple locations covers the structural side.
Step 6: the queries no tool will ever show you
A growing share of local searching now happens as a sentence to an assistant rather than a phrase in a box. "Who can fix a garage door in Round Rock this weekend and has good reviews" is not a keyword and will never appear in a tool.
You cannot research those directly. What you can do is make sure the answers exist in plain language on your site: your hours, your service area named the way locals name it, what you charge or at least a range, and whether you take same-day work. Assistants answer from what they can read.
A person walking a dog past a barbershop with a neon sign.
The practical test: pick five questions a customer would ask out loud, then check whether someone could answer all five from your site without calling you. Most local sites fail on two of the five, usually price and service area.
What to track once the research is done
Not rankings. Rankings on local terms vary by where the searcher is standing, so a single position number is close to meaningless.
Track these:

Four things to track after local keyword research: calls and form submissions by landing page, Google Business Profile searches and actions, map pack visibility across a grid of points, and which pages produce nothing.
More broadly, resist optimizing for volume. In local work, filtering beats volume nearly every time. We had a cash home buyer client whose problem looked like a traffic problem and was not one: plenty of leads arriving, almost none worth calling. What fixed it was subtraction. Tighter match types, a real negative keyword list, and ad copy written to put the wrong people off. Serious leads went up 600% over a single December to January stretch without adding a dollar to the budget. Choosing which keywords to target is the same move made earlier.
Who does not need to do this
If you have one location, one service, and an unclaimed or thin Google Business Profile, keyword research is not your bottleneck. Claim the profile, get the categories right, collect reviews, and work through a local SEO checklist first. Those things determine the map pack, and the map pack is where your customers are looking.
Keyword research earns its time when you have multiple services or multiple areas and need to decide what to build. That is a decision problem, and it is worth two hours.
A woman standing in front of a fruit stand holding a phone.
It stops being a DIY job when the grid gets past about fifty cells, when you are deciding between forty pages and four, or when you have already built a pile of location pages and cannot tell which are working. That is the point where SEO help pays for itself, and ours is month-to-month.
FAQs
What is local keyword research?
It is the process of finding the search phrases people in your service area use when looking for what you sell, then deciding which of them are worth building a page for. It differs from general keyword research because search volume data is far less reliable at a local level and because the live search result tells you more than the volume column does.
How do I find local keywords with no search volume data?
Check whether the query produces a map pack when you search it from the relevant area. If Google has built a local result for that phrase, people are searching it, whatever the tool reports. Also check autocomplete for a near neighbor phrase, because the demand often exists under slightly different wording.
Are zero volume local keywords worth targeting?
Often yes. When we measured 764 city-qualified keyword variants, 582 returned zero volume, and many of those queries still produced full local results in Google. Keyword tools bucket and suppress long-tail local terms. The deciding test is whether the search result looks local, not whether the number is above zero.
What is the difference between implicit and explicit local keywords?
Explicit keywords name a location, like "plumber austin". Implicit keywords do not, like "plumber", but Google localizes them based on where the searcher is. Implicit terms carry more volume and more competition. Explicit terms are usually easier to win and convert better.
What free tools can I use for local keyword research?
Your Google Business Profile performance report, which shows the searches that actually surfaced your listing, plus Google autocomplete, People Also Ask, Google Trends, and Keyword Planner. The profile report is the most valuable of these and the least used, because it reflects verified demand for your specific business rather than an estimate.
How many local keywords should I target?
One per page, and fewer pages than you think. A business with eight services and six areas has 48 possible combinations, but most should build a handful of strong pages rather than 48 thin ones. Build for the combinations that show a genuine local result, and let the rest wait.
How often should I redo local keyword research?
Once a year for the grid itself, and continuously for the Google Business Profile performance report, which is free and changes monthly. The service by area grid only shifts when your business does, so rebuilding it every quarter is busywork. What does move is which of those queries Google now treats as local, so re-check the results for anything you decided against before.
Should I make a page for every city I serve?
No. Build pages for the areas where the search actually behaves locally and where you can say something specific about working there. A page that differs from the last one only by the city name will not rank, and forty of them will do less than four real ones.
The two hours that matter
Open your Google Business Profile performance report and write down the queries already surfacing you. Build the service by area grid. Search each combination from the right location and keep only the ones that produce a map pack. Map each survivor to exactly one page.
That is the whole method, and the volume column plays almost no part in it. If you take one thing from this: a phrase that shows zero searches and produces a real local result is a better target than a phrase with 500 searches and a page of national directories.
If you get to the end of that grid and cannot tell which forty of the ninety cells are worth building, that is the problem our SEO service is built to answer, and we work month to month.