When we do keyword research for SaaS, we’re not trying to build the biggest possible list of keywords. We’re looking for the searches that can actually lead someone to a signup, demo, or purchase, then mapping each one to the right page.
We start with bottom-funnel queries because a low-volume search from someone ready to buy can be worth far more than thousands of informational visits. We also validate what we find against our own Search Console data, rather than blindly trusting third-party volume estimates.
Our process has seven steps:
The goal is to have a keyword map that tells us what to create, why it matters, and how the page should contribute to pipeline.
The usual workflow is simple: export thousands of keywords, sort by volume, and start writing. We think that’s backwards.
Three things make this approach particularly weak for SaaS:
That’s why we don’t use traffic as the main scoreboard. A page can bring in thousands of visitors from students, job seekers, or irrelevant audiences and still generate zero pipeline.
Before we research anything, we need two things: a clear ICP and a good understanding of the problems that ICP actually describes. Otherwise, every keyword looks like a potential opportunity.
We map searches to three broad stages:
The SERP tells us what kind of page to build. If Google is showing ten comparison pages, we shouldn’t insist on creating a product page just because that’s what we want to rank.
Rate the last column high only when the searcher is naming a product, a price, or a competitor because everything else is a longer game. You’ll come back to this table when you cluster, when you score intent, and when you fill in the roadmap.
The first three steps help us build the list. The next three qualify it. The final step turns what survives into something the content team can actually use.
Keep everything in one spreadsheet from the start. Add columns as we go instead of creating a new sheet for every stage.
One rule matters throughout the process: we don’t throw away a keyword just because a tool says its volume is low. We qualify it first.
Start with your competitors’ rankings and Google’s own suggestion data, where buyer-ready queries already exist. Work the intent map patterns first, including alternatives, versus, pricing, integration, use case, and template, and ignore the category head term entirely for now.
For a worked example, consider a competitor’s pricing page that ranks for “[competitor] vs”.

Feed that one URL through the sequence and you get more seeds: “[competitor] vs [other tool]”, “[competitor] pricing”, “[competitor] alternatives”.
Your feature names came from your product team. The phrases buyers search came from their own frustration, and the two almost never match, so this step collects the second set.
Where to look, and what to take from each:
Paste every verbatim into a phrase bank tab with the source and the speaker’s role. A controller and an AP clerk describe the same broken process in different words, and only one of them is your ICP, so role matters.
Then convert the phrases by putting feature language on the left and buyer language on the right:
Run each right-hand phrase through your keyword tool and Autocomplete to find the searched variant. Some will have no demand at all. Mark those “copy only” – they become headlines and first paragraphs on pages targeting the searched variant, never page targets themselves.
Use one URL for each cluster, with every grouping decision based on the results page rather than wording alone:
Label every cluster transactional, comparison, or problem-aware from what the live SERP actually shows. Open the primary term in a clean browser session while logged out and incognito, with the location set to your main market. Before you decide, record which page types hold the top ten, what commercial signals appear, how the query itself is phrased, and whether any answer box or AI summary has already absorbed the question.
Tie-breaker: when the top ten mixes page types, follow the majority of the top five. The single number-one result is often an outlier that ranks on brand strength rather than on intent match.
For a worked example, take “best CRM for small business.” If most of the top five results are roundup articles comparing multiple CRMs, the query has commercial investigation intent, even if one vendor's product page ranks first. We would build a use-case or comparison listicle rather than a standalone product page. The important signal is the dominant page type, not the format of the number-one result.

Flag any cluster where the label contradicts the page you intended. That mismatch is a decision point, not a detail: re-scope the page to match the SERP, or drop the cluster.
Check every shortlisted cluster against your own impression data, but validate line by line only when the query appears in the export. Mark absent queries as unverified rather than treating their impressions as near zero. This step also recovers buyer-ready queries the volume filter threw away.
Handle the three possible outcomes this way:
Two more passes worth running on the same export. Sort by average position and pull everything between 8 and 25: a page already surfacing needs a refresh and some internal links, not a net-new brief, so it ships faster than anything on the new-page list. Then sort by impressions and find rows with hundreds of impressions and almost no clicks. That’s an intent mismatch, not a title-tag problem. Go re-read the SERP page type for that cluster.
Layer prompt-style queries onto the clusters you’ve already qualified rather than researching them as a separate project. Google has disclosed that 15% of daily searches are queries it has never processed before, which works out to roughly 2.1 billion brand-new queries a day, phrasings no keyword database can report because they’ve never been typed until now. You cannot research your way to those individually. You can cover their shape.
Record all of this in an extra column on the existing cluster rows. A second keyword list is a second thing to maintain and a second thing to abandon.
Then format the target pages to be quotable. Under each heading, open with a direct one-paragraph answer before any setup. Include a plain definition sentence for the core concept. Put comparisons in a table rather than in flowing prose. Name specific constraints, such as “for teams billing more than 500 customers monthly”, because vague claims don’t survive summarization.
The deliverable is one sheet a writer or contractor can open on Monday and start from, with twelve columns:
Two columns get filled in wrong almost every time. Priority order is not a gut call or a volume sort. It comes from the five tie-breakers below. Success metric must be a conversion event, such as trial starts from this page, demo requests, or template downloads that enter the nurture sequence. “Rank top 5” and “2,000 sessions” are diagnostics that explain a conversion number after the fact, not success metrics.
Sort the finished sheet by funnel stage, descending from decision. The bottom-funnel pages get built first even though they’re the least fun to write.
Once we have the qualified clusters, we score them on four things:
If a cluster fails any one of these, it doesn't make the priority list, regardless of its volume.
When two candidates compete for the same slot, we use this order:
We don't automatically reject a keyword because a tool reports zero volume. A low-volume query deserves its own page when:
If it fails one condition but already shows impressions in Search Console, we may cover it as a section of a larger page instead.
The point is that buyer-ready low-volume queries can be more valuable than high-volume informational terms. There is no magic volume threshold that makes a keyword worth targeting.
Keyword Difficulty tells us how competitive the backlink profiles of ranking pages are. It doesn't tell us whether the SERP is actually winnable.
We spend a couple of minutes checking:
A SERP dominated by strong aggregators may be difficult to win and less valuable even if we do. But if a thin or outdated competitor page sits in the top five, that's an opening.
The exception is branded and competitor-name queries. If someone searches “[your product] vs [competitor]” and we don't have a page, the opportunity can be worth pursuing even when the traditional difficulty score looks high.
The stack needs three roles rather than a shortlist, with one discovery tool for finding queries you have no presence for, one free query source for live phrasing, and your own first-party data for validation. You need one paid tool, not two – Ahrefs and Semrush overlap heavily for this workflow, and running both mostly buys you two modeled volume estimates that disagree.
Steps four, five, and seven require no paid tool at all. Intent scoring happens in a browser. Validation happens in Search Console. The roadmap is a spreadsheet. Most of the judgment in this process is free; the paid tool mainly saves you time on step one.

Ahrefs earns its place in this workflow almost entirely on competitor mining. The Organic keywords report sorted by traffic value is the fastest way to see which commercial terms a rival actually monetizes, and Top pages tells you which of their pages carry the business rather than the blog.
Its SERP overview is the other reason to keep it open during steps one and four – you can see who ranks, with what kind of page, without opening ten tabs. Treat that as a shortlist for manual inspection rather than a substitute for it.
Key features:
Pricing: Starter plan at $29/mo.
Best for: Teams that want one tool covering competitor mining and SERP inspection through the list-building steps.

Semrush makes more sense when keyword work sits inside a wider competitive and paid program. Keyword Gap comparing several competitors simultaneously is genuinely faster than running each rival separately, and Keyword Magic expands a seed into pattern variants such as “for”, “vs”, and “pricing” in bulk rather than one Autocomplete query at a time.
Position tracking matters after the roadmap ships. Grouping tracked keywords by cluster gives you movement data at the cluster level, which is the unit you actually manage.
Key features:
Pricing: SEO Toolkit Guru tier at $249.95/month; Semrush One Starter tier at $199.00/mo.
Best for: Larger marketing teams already running competitive and paid reporting who want keyword research in the same place.

Search Console is the only tool here that reports measured reality rather than an estimate, which makes it the referee for every figure the paid tools produce. When Ahrefs says 0 and Search Console shows 340 impressions over twelve months, Search Console is right.
It also answers two questions no third-party tool can. Which of your pages are stuck at position 9 for a query you care about, and which two of your URLs are fighting each other for the same one. Both are in the Performance report’s Pages tab, filtered to a single query.
Key features:
Best for: Every SaaS team, as the step-five check before any page gets committed to the roadmap.

Autocomplete is a live list of phrasings real people type, and it’s the only source here that costs nothing and lags nothing. New product names, fresh integrations, and this month’s competitor rebrand show up in suggestions long before they appear in a keyword database. Its real value is modifier discovery. Type your category, cycle the alphabet, and the “for”, “vs”, “pricing”, and “integration” patterns announce themselves, matching the bottom-funnel shape the intent map is built around.
Key features:
Best for: Seeding and expanding the list in step one, and for teams with no tool budget at all.
SaaS SEO is the whole program covering technical health, content, links, and conversion paths aimed at trials and demos. Keyword research is one input to it – deciding which queries deserve pages. The SaaS-specific part is that the target is a product signup rather than an ad impression, so bottom-funnel pages outrank blog volume in priority.
Finding the words people type into a search engine, then judging which of them are worth building a page for. The judging half is where most of the value sits, and where most workflows spend the least time.
The idea that a small share of pages drives most of the results. In SaaS it holds harder than average, but the 20% is rarely your highest-traffic pages – it’s usually a handful of comparison, pricing, and integration pages that each pull modest traffic and convert at several times your blog’s rate.
Three to five clusters, not three hundred keywords. That’s roughly one alternatives page, one or two integration pages, and one use-case page – enough to test whether search produces qualified signups before you commit a content budget.
Yes. Target the modified versions, including “[product] pricing”, “[product] reviews”, “[product] vs [competitor]”, and “[product] alternatives”. If you don’t own those, review sites and competitors will, and they’ll frame the answer.
Plan on three to six months for a new domain, faster for pages rescued from positions 8-25 since they’re already indexed and ranking. Decision-stage pages convert sooner than problem-aware ones, which is another reason to build them first.

Cindy is an Outreach Manager and SEO Specialist at ONSAAS who helps SaaS companies grow through strategic link building and SEO. Outside of work, she loves spending time in nature, especially hiking in the mountains.