Finding lower-competition search keywords with three numbers
When you are about to run search ads in Google Ads and you type the words you can think of into Keyword Planner, the general words with both high search volume and high competition stand out. If you choose by search volume alone, words whose intent is too broad, and words you cannot test properly on your budget, stay on the list.
What you want is a word that has demand and thin bidding. There is a procedure for finding it. This article is about choosing keywords to add to ads. At the end I write what Shoryaku AI is doing automatically to do the same thing. I am building Shoryaku AI ( https://shoryaku.net ), a marketing-support SaaS.
Keyword Planner is not enough if you want topics for blog posts. The procedure that also combines Search Console, ad search terms, and inquiries is in Choose blog SEO keywords from your own data.
Look at only three numbers
To use Keyword Planner, you need to finish Google Ads account setup and enter billing information. Google’s guide says you can find related keywords from a product, a service, or a website, and check average monthly searches and an estimate of how much it costs to show ( Google Ads Help, “Use Keyword Planner” ).
Put two or three words you can think of into “Discover new keywords,” and a long list of related terms comes back. Look at these three.
| Number | Meaning |
|---|---|
| Avg. monthly searches | The average monthly search count, based on the period, location, and search network you selected |
| Competition (0–100) | How densely advertisers are bidding on that word |
| Top of page bid (low range / high range) | The range of bids that led to a top-of-page impression in the past |
The number people misread most is competition.
Competition is not an SEO difficulty score. It is not how hard it is to rank in the organic results, and it is not how full the ad slots actually are. In Google’s definition, it is a relative measure of how many advertisers showed ads on that keyword, for the location and search network you specified ( Google Ads Help, “About Keyword Planner forecasts” ).
So “competition is LOW” does not mean the slot is empty. A place with fewer bidders is less likely to see the price rise, so it is a better place to test on a small budget. Use it as that kind of indicator.
Run them through four filters
Download the CSV and drop rows from the top of the list downward.
Filter 1: cut by the search-volume band
The floor is 50 a month. Below that, the numbers do not move even if you run the ad, and you cannot tell whether it is good or bad.
Cut the ceiling too. This is the part that gets skipped. Words with too many searches are usually bid on by large advertisers, so the price is up, and the intent is scattered. You cannot tell what a person searching “gym” wants.
A rough ceiling is 5,000 a month, but it changes a lot by industry.
| Industry | Rough ceiling |
|---|---|
| Local services such as hair salons, bodywork clinics, and licensed professional practices | 2,000 |
| Restaurants | 3,000 |
| Classes and schools | 5,000 |
| B2B SaaS and real estate | 7,500 |
| E-commerce and mail order | 15,000 |
If you sell in a local area, a lower ceiling is fine. Even if national search volume is high, only people who can actually come become customers. E-commerce sells nationwide, so take a wider band.
Filter 2: cut by competition
Make 35 or below the primary picks. Above 35 and up to 60 go to “runners-up,” and you use them only when the primary picks are fewer than 5. Drop anything over 60.
The useful part is not opening the range to 60 immediately. Look at the thin places first, and widen only if you do not have enough. If you take a wide set from the start, you end up with the words you already see everywhere.
Filter 3: cut by word count
Drop one-word terms. Words like “gym” or “renovation” scatter intent, the price is high, and they are a poor fit for a small test.
Split match type by word count for what remains.
- 2 words → phrase match
- 3 or more words → exact match
The more words, the clearer the searcher’s intent, so you aim narrower.
Filter 4: sort by intent
Put “words a person uses just before buying” at the top. Specifically, words that contain modifiers like these.
comparison / recommended / reviews / reputation / price / cost /
nearby / vendor / without mistakes / cheap / how to choose / going rate
On top of that, score three things: whether your product name, or the words for a problem the customer has, are in it, and whether a place name is in it.
- 0.4 points for 3 or more words, 0.2 points for 2 words
- 0.3 points if it matches the product name or the customer’s problem
- 0.3 points if it contains a modifier above or a place name
The total is out of 1.0. Anything under 0.5 points is set aside for now.
How to sort them, and what to bid
Sort what passed the filters with this formula.
score = ln(monthly searches + 1) × (0.5 + intent score)
÷ ( competition ÷ 10 × estimated CPC ÷ 100 )
It looks complicated. What it does is simple. Higher demand and intent go up. Higher competition and cost go down. The log on search volume is there so a word that is only large in searches does not take the whole top of the list.
For the bid, use 1.15× to 1.2× the “top of page bid, low range” as a guide. The clearer the intent, the closer you move to the upper end.
Then check it against the budget.
estimated CPC × monthly searches > monthly budget × 0.5
If a keyword matches this, that one word might spend half the budget. You do not have to exclude it, but mark it.
Have AI do the sorting
The filters themselves are mechanical, so you can hand over the CSV. Here is a form you can paste as is.
The attachment is output from Google Keyword Planner.
Narrow it in the following order.
1. Drop rows whose avg. monthly searches are under 50, or over (ceiling)
2. Drop rows whose competition is over 60. Treat 35 or below as primary, and 36–60 as runners-up
3. Drop one-word keywords. Use phrase match for 2 words, and exact match for 3 or more words
4. Mark rows that contain "comparison recommended reviews reputation price cost nearby vendor without mistakes cheap how to choose going rate"
or (your product name and place name)
5. Sort what remains so that high demand and intent, and low competition and price, come first
6. Make a table of the top 10. Columns: keyword / monthly searches / competition /
low-range bid / suggested bid (low range × 1.15) / match type
Use only numbers that are in the CSV. Do not fill missing values with a guess.
At the end, count how many rows each step dropped, by reason.
Always include that last line.
If you do not keep “how many you looked at, how many you dropped, and why,” you cannot later check “did we consider this word?” Three months from now, you will not have to run the same research again.
Doing this every month is a lot of work
The steps are simple. Keeping them going is a different problem.
- Coming up with seed words depends on one person. The only entrance is words you already know
- Keyword Planner numbers change. A list you made once goes stale
- The reason for a drop is not kept. Delete the CSV and the research itself disappears
- It does not connect to the other ad decisions. Choosing keywords does not, by itself, decide whether that is what to do this month
What Shoryaku AI does
When you connect Google Ads, Shoryaku AI runs this procedure automatically on every analysis.
Seed words are built from the business information you registered and from the site. Candidates are then pulled from the Keyword Planner API, and the filters and score above are applied with the same numbers. At most 10 are kept. Runners-up (36–60) are added to fill the list only when the primary picks (competition 35 or below) are fewer than 5.
What comes out is not only the candidates. Dropped rows are counted by reason and kept.
| Reason for exclusion | What it means |
|---|---|
| Demand out of range | Searches below the floor, or over the ceiling for that industry |
| Competition too high | Competition over 60 |
| Intent too weak | A one-word keyword |
| Duplicate of a seed | The word used as the entrance itself |
Each candidate gets a written reason for why it was kept. The form is things like “monthly searches: ◯ (accepted range: ◯–◯)” and “competition_index=◯ (LOW). A proxy for bidder density, and not the same as how much of the ad slot is actually occupied.” It shows both the material for the judgment and the limit of that material.
And this is mixed into the ad recommendations. If Google Ads is connected and there is at least 1 keyword candidate, the recommendations always include at least 1 paid-ad action. The basis attached to it is the demand and competition, plus a comparison with the candidates that were excluded.
If you want to look it up in a conversation, you can call get_keyword_opportunities via MCP. From an AI tool on your machine, you can pass seed words and look it up directly.
Using this feature requires the Pro plan (¥4,980 a month) and a Google Ads connection. It stops at candidates and the basis. It does not bid. It does not create campaigns or change bids.
To try it
The 14-day free trial can be started with no card at the start.
How to get AI to produce actions is in another article. How to pass your own numbers to an AI tool on your machine is in the MCP article.
If the goal is to decide SEO article topics, look first at more than search volume: queries the site already shows for, and the words people use in inquiries. The specific way to combine them can be tried in this article.