How to Do a Keyword Gap Analysis That Finds Buyers, Not Noise
A keyword gap analysis in five steps, including the two most guides skip: filtering the list for buyer fit, and checking it against your own Search Console.
A keyword gap analysis lists the searches your competitors rank for and you do not. You pick the rivals, pull their rankings, and keep the searches where they appear and you never do. Every SEO tool will export that list in a minute.
The export is the easy part. On our own site, a single gap pass this week put 150 searches in front of us. Four joined the plan as new pages, a dozen were parked or added as extra wordings on pages we already had, and 134 were someone else's buyer: people wanting a free tool, agencies, job searches, a different product. This guide covers the steps every tool walkthrough shows, and spends most of its time on the two most of them skip: filtering the list for buyer fit, and checking what survives against your own Search Console.
TL;DR:
- Pick rivals who sell against you, not sites that happen to rank near you.
- Pull the searches they rank for and you never appear for.
- Filter for buyer fit, not intent labels. A "transactional" search for a free tool is not your buyer if you charge.
- Check what is left against your own Search Console. Some of the "gap" is searches you already rank 30th for, which is a cheaper job than a new page.
- Record every decision, including the rejections, so the same noise is not re-judged next month.
What is a keyword gap analysis?
It is a comparison of two keyword footprints: the searches a competitor's site ranks for, and the searches yours does. The gap is the first list minus the second. What you are looking for in it is a search your buyers make that a rival has proven is winnable and you have never shown up for.
Done well, it answers "what should we write or fix next?" with evidence instead of guesses. Done badly, it hands you a long list of keywords that mostly belong to other businesses, sorted by search volume, which pushes the most irrelevant rows to the top.
Step 1: Which competitors should you compare against?
The ones who sell against you. That sounds obvious, but most tools suggest rivals by keyword overlap: sites that rank for the same words. Overlap finds whoever writes about your topic, which is a different set from whoever your buyer is choosing between. On one real site, overlap put an agency the owner had explicitly ruled out at the top of the rival list.
So name them yourself, from your pricing page and the sales conversations you have actually had. Three to five is enough. A rival that sells to a different buyer will pollute the list with their buyer's searches, and you will spend the filtering step throwing them back out.
Step 2: How do you pull the gap?
Any keyword tool with a competitor feature will do it: enter your domain and your rivals', and export the searches where they rank and you do not. Keep the columns that carry evidence: the rival's position, monthly search volume, and which rival holds it.
Two things are worth knowing about what comes back. First, a lot of it is small: of the 1,442 searches our rivals ranked for in this week's read, 504 were under 50 searches a month. Second, a rival ranking 56th for a big search is not evidence that page one is reachable. A rival ranking 5th is. Sort by where the best rival actually stands, not by volume alone.
Try it
Point an SEO agent at your own site, not just an essay about one.
QueryScope holds the plan for your site, reads your real Search Console, and hands the coding agent you already have one change at a time to rank for the searches you decided to win. From $49/month, everything included.
Step 3: How do you filter the list for buyer fit?
Ask one question of every row: does this person want what we sell, at a price we charge? Intent labels from keyword tools do not answer it. They say whether a search sounds like buying, never whether it is buying from you.
This is where our 150 went. The biggest blocks we ruled out, each with a recorded reason:
- Free-tool seekers. "free alternative to ahrefs", "free online seo tool", "best free alternative to semrush". Labelled commercial, and a real buying intent, but not for a paid product. On another SaaS we measured, 50 of its 147 buying-intent searches wanted the product free.
- A different product. "seo tools google analytics", "keywords everywhere alternative", "surfer seo". Real buyers of something we do not make.
- A different buyer. "best enterprise seo tools" wants a suite with a sales team. "b2b seo agency" wants a service.
- Drift. About 70 rows of agency, salary and website-design searches arrived from one related-searches walk that wandered off topic. When a whole block comes from one seed, rule out the seed, not the rows.
What survives is usually small and specific. Ours kept a few searches as supporting pages, added near-duplicates as extra wordings on pages we already target, and parked a handful of explainer topics to revisit in a month.
Step 4: Why check the gap against your own Search Console?
Because some of the gap is not a gap. A keyword tool reports where it looked; your own Search Console records every position where your site actually appeared, deep pages included. In this week's pass, four searches about anonymized Search Console data had no page aimed at them. Search Console showed the site already ranking 26th to 45th for them, on a post that answered the question but never used its words.
That changes the job from writing a page to re-aiming one, and an existing page carries its index history into the change. Before you write anything from a gap list, look each survivor up in your own data. If the site already appears, the work is the page you have.
Step 5: What do you do with the result?
Record the decision on every row, not just the winners. A gap analysis is repeated, and a list whose rejections were never written down comes back next month with the same 134 rows to throw out. Write the reason beside each one: "wants a free tool" is a rule you can apply to the next batch without thinking.
Then work the survivors one at a time: build or re-aim the page, record what you changed and what you expect, and judge it from the day Google recrawls the page. How to track an SEO change covers that half.
Running a gap analysis from your editor
This is the loop QueryScope runs. Your coding agent reads the repo to work out what the site sells and who it competes with, QueryScope reads your rivals' rankings and your own Search Console, and each search comes back with the evidence attached for your agent to rule in or out. The decisions are kept, rejections included, so the next pass starts from what you already know. The homepage shows the gap it finds on a real site.
Sources
- QueryScope's own records for queryscope.dev, research pass of 2026-10-03: 150 decisions recorded, rival footprint figures as reported by the keyword vendor.
- Free-intent share on a second SaaS: 30 days of Search Console on a real SaaS.
Try it
Put an SEO agent in your editor.
Ask your coding agent what to work on. QueryScope reads your real Search Console, holds the searches you decided to win, and hands back one move at a time with the proof it worked. From $49/month, everything included. 1, 3 or 10 sites.