Latest blog posts
How To Build Your Own Niche Keyword Generator 

How To Build Your Own Niche Keyword Generator 

How to Build Your Own Niche Keyword Generator 

If you work in only one or a small set of industries, chances are you’ve honed your SEO craft to be more efficient and deliver high-quality solutions. The only problem is that it is exactly what’s expected. This cat-and-mouse game between expectations and reality can often drive innovation, which is what happened when my teammate Frank and I created our keyword generator.

What is a niche keyword generator?

A niche keyword generator produces a categorized keyword list in seconds using common query patterns specific to your vertical.

Why Build a Keyword Generator for Your Industry?

The challenge between being more efficient and effective is determining which to prioritize. A step toward one is often a step away from the other. Some tasks are repeatable and scalable; those are where efficiency shines. Other tasks deserve careful thought and a personalized approach.

The keyword generator provides either an immediate starting point for last-minute requests or a safety net to fill in any gaps at the end of a long research project. Ultimately, this generator won’t give you all of the insightful, hidden gems. By its nature, every research project is treated the same. However, its intent is to automate the obvious so you can spend more time researching where it counts.

11 steps to build your niche keyword list generator

This idea could be executed in a variety of ways. So, if you’re looking for a step-by-step guide, simply follow the instructions below. However, if you enjoy iterating and creative problem solving, apply these core principles, and make it your own.

What You Need to Get Started:

 Microsoft Power BI Desktop: $0

Microsoft Excel or Google Sheets: $0

SEMrush (free trial): $0

1. Choose Your Branded and Unbranded Root Terms

Every niche has problems and solutions. Typically, unbranded terms span both categories, while branded terms fall under solutions. Create a list of root terms in the branded and unbranded space. Shoot for terms with the following characteristics:

High Volume – The more popular your root terms are, the more long-tail variations will surface in your research, which is critical to creating this keyword generator.

Diverse – You’ll want to cast out a net as wide as your industry. The subsectors you’re most familiar with can add bias to your list, so make sure you choose root terms that are collectively representative of your entire space.

Unequivocal – Root terms with multiple meanings can create additional noise in your data. It doesn’t necessarily mean you should throw them out, but be aware they may require some extra downstream cleanup.

I’m going to explore the men’s grooming space for this exercise. I just bought some clippers for a DIY haircut, so it was top of mind. But as a quick disclaimer, I have never been able to grow a beard. As a result, I’m woefully ignorant about this category, so apologies if I missed something obvious. 

Branded Root Terms

Here are the brands I chose. You’ll notice I didn’t include popular brands like Old Spice or Gillette. That wasn’t intentional; they just weren’t on some lists I quickly searched. I trust you know your space much better.

Branded: Dollar Shave Club, Uppercut Deluxe, Pacific Shaving Company, Peckerhead Mustache Wax, Duke Cannon, The Detroit Grooming Company, Grooming Lounge, Beluga Shave Company, Harry’s, Admiral Supply Company, Ursa Major, Birchbox Grooming, Beardbrand, Bevel, The New York Shaving Company

Unbranded Root Terms

Unbranded terms are a little trickier and may require some trial and error. Although unbranded queries can be found throughout the funnel and consist of all parts of speech, it’s better to choose one spot in the funnel and mostly use nouns. Why? This generator is meant to find common query patterns, and if the root terms don’t have many commonalities, their query patterns may not either.

Unbranded: shaving products, shaving kit, shaving cream, shaving box, shaving set, shaving subscription, shaving accessories, grooming products, grooming kit, grooming box, grooming set, grooming subscription, grooming accessories, beard balm, beard oil, beard trimmer, beard wash, beard supplies, beard kit, beard trimmer, shave kit, shave cream, shave lotion, shave butter, shave gel, shave products, shave supplies, shave starter set, pomade, shave balm, lip balm, balm supplies, balm products, facial cleanser, face wash, body wash, shampoo, conditioner, razor, prep scrub, soap, hair paste, hair cream, hair putty, hair trimmer

Quick Tip: To find additional unbranded terms, download rankings from your branded sites. Then combine the data and find the most overlapping unbranded terms.

2. Adjust Terms to Phrase-Match Perfection

In step three, you’ll be downloading all keywords containing your terms (i.e., phrase match), so you’ll want to add and remove modifiers as necessary to ensure you get the most comprehensive and relevant dataset.

For instance, consider “the new york shaving company.” Do you think everyone who searches for it includes all five words? Probably not. So, if you leave it as is, you’ll miss out on some helpful data. However, if you trim too much, like to “new york,” you’ll end up with completely irrelevant terms. For this one, I settled on “new york shaving.”

Quick Tip: To ensure your revised root terms aren’t too restrictive, download rankings from your branded sites and use text filters with the same rules to see which queries wouldn’t make the cut. It’s not likely you’re going to get 100% coverage without opening yourself up to lots of irrelevant queries, but just make sure you’re in the ballpark. For others, like “harry’s” and “ursa major,” your options are limited. This is fine. It’s better to be too inclusive than too restrictive in most cases.

Official Brand Name

Phrase Match Term

Admiral Supply Company

Admiral Supply

Admiral Supply Company

Admiral Pomade



Beluga Shave Company

Beluga Shave



Birchbox Grooming

Birchbox Grooming

Birchbox Grooming

Birchbox Man

Detroit Grooming Company

Detroit Grooming

Detroit Grooming Company

Detroit Beard

Dollar Shave Club

Dollar Shave

Duke Cannon

Duke Cannon

Grooming Lounge

Grooming Lounge



Pacific Shaving Company

Pacific Shaving

Peckerhead Mustache Wax

Peckerhead Wax

Peckerhead Mustache Wax

Peckerhead Mustache

The New York Shaving Company

New York Shaving

Uppercut Deluxe


Ursa Major

Ursa Major

You’ll notice I chose two different phrase match terms for certain brands. In these situations, you’ll want to combine the keyword data into one file and de-duplicate it, so the query patterns aren’t counted twice.

If you planned out your unbranded root terms well, this step might only be needed for the branded terms.

3. Download All Phrase Match Keywords

Once you have your list of branded and unbranded phrase match terms, it’s time to download their variations in SEMrush. Once you log in, click on the Keyword Magic Tool under the Keyword Analytics menu item and then conduct your first search.

Instead of selecting “Phrase Match,” which can sometimes list your phrase in various orders, select the “Include keywords” dropdown, and list the same phrase match term again wrapped in square brackets. Click “Apply.”

Seo marketing services 8

Export the keyword list, then repeat this process for all other terms. This part of the process is easy but time-consuming. I recommend accompanying your keyword input with an album, podcast, or TV show of your choice. Quick Tip: If you can swing it, use other SEO tools in addition to SEMrush for a more comprehensive list. While I’m often partial to SEMrush, other SEO tools offer unique datasets that reach another level of comprehensiveness when combined.

4. Use ‘Find and Replace’ to Generalize the Terms

Open up each spreadsheet. For the branded sheets, use the find and replace feature to change all brand references to [Brand]. For the unbranded spreadsheets, do the same thing with the root product terms and replace it with [Product], or whatever name applies to your niche.

It should look something like this.



admiral supply


admiral supply coupon

[Brand] coupon

admiral supply shampoo

[Brand] shampoo

For some of your phrase-match terms, a single find and replace will do the trick. However, with others, you’ll need to be deliberate about which terms you use and in what order. The general rule is to start broad and get specific.

Let’s use The Detroit Grooming Company as an example. I found-and-replaced these terms in this order:

1. the detroit grooming company

2. the detroit grooming co

3. detroit grooming company

4. detroit grooming co

5. detroit grooming

In situations like this, you’ll end up with duplicates. For instance, if “the detroit grooming company shaving cream” and “detroit grooming shaving cream” were both in your dataset, you would have two terms that now say “[Brand] shaving cream.” Make sure when you de-duplicate your queries, your keyword list is sorted by volume. This will ensure your highest-searched variation makes the cut, which can be used later in selecting your final list.

While you’re in each spreadsheet, rename all of the tabs to have identical names. It doesn’t matter what the name is as long as it’s the same across all spreadsheets. This will be helpful when uploading to Power BI. SEMrush automatically names each tab for its exports.

Quick Tip: This vertical doesn’t contain many geo-modifiers, but if your vertical does generate explicitly local searches, add [City] and [State] (or region, county, etc.) to your find-and-replace process. You won’t need to do it for every location to get the main query patterns; the most popular places should be enough.

5. Upload Spreadsheets into Power BI 

While these next three steps are in Power BI, you can also accomplish this in Excel if you have a small enough dataset. The following steps are from using Microsoft Power BI Desktop 2.83.5894.822 (64-bit).

Open Power BI

If there’s a pop-up upon load, close it

In the top menu within the “Home” tab, click the “Get data” dropdown and select “More…”

Select “All,” then “Folder,” then “Connect”

Click “Browse,” and select the folder containing your branded query exports, then select “OK”

Click the yellow “Combine” dropdown, and select “Combine & Load”

You should see your common sheet name nested under a folder. Select it and click “OK”

Repeat steps 3-7 for your unbranded query exports

6. Add Overlapping Keyword Counts

On the left side of your screen, select the second of three icons called “Data.” The icon looks like a spreadsheet.

On the right side of your screen, select your branded queries.

In the top menu within the “Table tools” tab, select “New column.”

 In the top menu, the “Column tools” tab should be selected. In the “Name” text box just below, rename your column to “Overlapping Keyword Count.”

In the formula field, write this formula:

Here's what it looks like when implemented:

 6. Repeat steps 2-5 for your unbranded dataset. 

7. Find Most Common Query Patterns

Just above the “Data” icon on the left side of your screen, select the “Report” icon.

In the top menu within the “Home” tab, select “Refresh.”

Select the “Table” icon in the Visualizations menu. Professional seo company 8

On the right side of your screen, under the “Fields” pane, select your branded query dataset.

Click the boxes next to “Keyword,” “Overlapping Keyword Count,” and “Volume.”

Below the “Visualizations” pane, you should see the three metrics you just selected listed under “Values.” Change the “Overlapping Keyword Count” from “Sum” to “Count”. Note: You may have to widen your table to see the additional columns.

Click out of the table into the whitespace, and select the “Card” icon. Link building company 8

Select “Keyword” under your branded queries dataset within the “Fields” pane (far right).

Below the “Visualizations” pane just under “Fields,” change “First Keyword” to “Count (distinct).”

Click out of the table into the whitespace. Select the “Slicer” icon. Seo advertising 8

Select “Overlapping Keyword Count” under your branded queries dataset within the Fields pane (far right).

Toggle the minimum keyword count until you feel like you have a manageable list. Remember, you’ll need to validate and potentially categorize these queries, so settle on an amount you feel is comprehensive yet practical.

At the bottom of the page, click the yellow button to add a new tab. Repeat steps 3-12 for your unbranded queries.

Seo analyst 8

Your overlapping unbranded queries may include branded terms that need scrubbed. I recommend doing this in Power BI instead of later on in Excel, so you have a better idea of how your “Overlapping Keyword Count” minimum threshold affects your list's size.

8. Choose Your Keywords

If you hover over each table, you’ll see an ellipsis in the upper-right corner. Click on it to export your filtered keyword list into CSV. The rest of this exercise will be done in Excel.

Sift through your keywords and exclude those that don’t make sense. For my men’s grooming keywords, I removed dog-related product keywords and product keywords mentioning other brands. 

After cleaning my list, I was left with terms that were nearly universal to my industry. It doesn’t matter what type of men’s grooming product; people often want to know things like:

black owned [Product]

cruelty free [Product]

best [Product] for ingrown hairs

can i take [Product] on a plane

how often should you use [Product]

how to make [Product] at home 

Similarly, these queries seem to pop up regardless of the brand:

[Brand] coupon code

 [Brand] reddit

[Brand] free shipping

[Brand] samples

[Brand] travel kit

[Brand] near me

[Brand] return policy 

9. Categorize Your Keywords 

Consider Your Own Categories

When specializing in a single or small set of industries, I highly recommend developing your own standard categorization. Tools like SEMrush do a good job across an incredibly large corpus of keywords, but they’ll ultimately never know your industry as you do. Having your own categories helps you evaluate a given dataset more effectively and compare it to others in the space.

Categorize By Search Intent

The easiest way of categorizing keywords is to group by root term commonality. It gets a little more difficult when you start including synonyms. However, the most challenging way of categorizing your search queries is by intent. However, it’s also undeniably the most useful way. Let’s face it. You can say the same thing without using the same language. 

For example, consider these three phrases:

how to apply [Product]

how much [Product] should i use

putting on [Product] 

They have almost no shared words, but they are all centered on the same topic. Having keywords grouped this way enables you to know how important a particular topic is to your audience. But how do you go about efficiently doing this? 

Work Smarter, Not Harder

Like I said, grouping by search intent is difficult. One key advantage of categorizing your keyword generator list is you only have to do it once. This means each subsequent time you use the generator; your terms are instantly categorized.

You might be rightfully wondering, “What about all of my other keywords? How am I supposed to categorize those?” Fair question. At Intouch, we have built our own machine-learning categorization tool that has been fed over 50,000 rows of manually categorized training data (which was not a fun week). While I can’t speak to the ins and outs of how we built it, Andy Chadwick wrote how to build your own categorization model using SEMrush and BigML that looks simple and promising.

10. Build Your Spreadsheet

Surprise! I’ve already done that for you. Check it out!

Let’s skip to the next section to learn how to customize it for your needs and industry. 

11. Customize Your Spreadsheet

Adding a new category dynamic input (e.g., alternate product name, competitor, location, second product) adds another row above row 4. Then once you’ve added it, select the cell where someone would be writing in the new keyword in column B. Then go to the “Formulas” tab, select “Name Manager” and then “New.” Name it and select “OK.” Close out of the dialog box. 

You will need to make sure your keyword list includes these dynamic elements as well (see [Product] and [Brand]). 

Next, you will need to update the formulas in column B. Below is a breakdown of how the current formula is built for you to customize as needed. 

What’s Next?

Building a list is only one step in the keyword research process. There’s still plenty to do beyond this, like combining with your other keyword list, finishing all categorization, selecting keywords to target, and optimizing them accordingly. I wrote an extensive guide to SEO keywords in case it’s a helpful reference. 

At a more macro level, it’s critical not to let this generator go stale. The most universal keyword patterns today for your industry may not be that way tomorrow. Sometimes large events, like the COVID-19 pandemic, can turn search behavior on its head for a particular niche. However, what happens more commonly is our needs and language gradually evolve over time.

At Intouch, we hope to eventually use APIs from SEMrush and Google Search Console to update our keyword generator automatically. 

If you decide to give this a whirl by making your own keyword generator, let me know how it goes. You can reach me on Twitter or email me at tylorhermanson@gmail.com. 

Innovative SEO services

SEO is a patience game; no secret there. We`ll work with you to develop a Search strategy focused on producing increased traffic rankings in as early as 3-months.

A proven Allinclusive. SEO services for measuring, executing, and optimizing for Search Engine success. We say what we do and do what we say.

Our company as Semrush Agency Partner has designed a search engine optimization service that is both ethical and result-driven. We use the latest tools, strategies, and trends to help you move up in the search engines for the right keywords to get noticed by the right audience.

Today, you can schedule a Discovery call with us about your company needs.