Skip to content
AI for theMarketer
seo

How to Use ChatGPT for Keyword Research (and Where It Lies)

A working method for ChatGPT keyword research: what the model is good at, what it fabricates, six prompts, and how to validate every list against real data.

Rob Vail10 min read

ChatGPT is a good keyword researcher and a terrible keyword database, and most of the advice about using it for SEO confuses the two. Ask it for search volumes and it will give you confident numbers with nothing behind them. Ahrefs puts it plainly in its guide to AI keyword research: “ChatGPT has no keyword database of its own, so any volume, KD, or SERP figures it generates unprompted are fabricated.”

Ask it instead to expand a seed, group a list you exported from a real tool, label intent or mine the questions buyers actually ask, and it does in minutes what used to take an afternoon in spreadsheets. This post is the method I use: what to hand the model, what to keep away from it, six prompts, and the validation step that makes the output safe to plan against.

What ChatGPT is good at, and what it makes up

The model is strong at language work and useless at measurement. Keep that line clear and every prompt below falls on the right side of it.

Good at:

  • Expansion. Given a seed and an audience, it generates variants, modifiers, synonyms and adjacent topics faster than any suggestion tool, because it is drawing on how people actually write about the subject.
  • Intent classification. Handed a list, it labels informational, commercial, transactional and navigational queries accurately enough to plan a content calendar from.
  • Clustering. It groups keywords by meaning rather than by shared words, which is what you want when deciding whether two queries need two pages or one.
  • Question mining. It knows how people phrase questions about a topic, which is most of what “people also ask” research is.
  • Gap analysis. Given competitor headings and your own, it finds what they cover that you do not.

Makes up:

  • Search volume. Every number is invented unless a real data source is connected.
  • Keyword difficulty. Same.
  • Which pages rank. It can guess what type of page ranks, which is useful. It cannot tell you which URLs do.
  • Trends and freshness. It does not know what people searched last month.

The stakes of getting this wrong are not abstract. In Ahrefs’ analysis of roughly 14 billion pages, 96.55% received no traffic from Google at all. A large share of those pages were written for keywords somebody believed had demand. A fabricated volume is how a page joins that group.

The workflow

Six prompts, in the order I run them. The first four run on the model alone. The fifth needs real data pasted in. The sixth is the validation step, and it is not optional.

1. Seed expansion

You are an SEO strategist. Topic: [seed topic]. Audience: [who
searches for this and what they are trying to do].

List 60 search queries a person in this audience might type
about this topic. Cover: beginner questions, comparisons, "how
to" tasks, problems and errors, tools and templates, costs and
pricing, and alternatives. Write them the way people type, not
the way marketers write. No search volumes, no difficulty
scores, no guesses about rankings.

Why it works: the coverage list forces the model past the obvious head terms into the long tail, which is where most of the winnable queries live. The final sentence is the important one. Without it the model volunteers volumes, and once a fake number is in your spreadsheet it is very hard to remember it is fake.

2. Intent labels

Here is a keyword list: [paste, one per line].

Label each with its dominant search intent: informational,
commercial (comparing options), transactional (ready to buy or
sign up), or navigational. Add a second column with the page
type that most likely satisfies it: guide, comparison, product
page, tool, template, listicle. Return a table. Where the intent
is genuinely mixed, say "mixed" and explain in five words.

Why it works: the page-type column is what turns a keyword list into a content plan. Two keywords with the same intent and page type are often one page. Two with different page types are never one page, however similar the words. The “mixed” escape hatch stops the model forcing a label where the SERP itself is undecided.

3. Clustering by meaning

Here is a list of [N] keywords with intent labels: [paste].

Group them into clusters where every keyword in a cluster could
be satisfied by the same page. Name each cluster with the
keyword that best represents it. Keywords that share words but
need different pages go in different clusters. Keywords that
share no words but mean the same thing go in the same cluster.
Return: cluster name, keywords, suggested page type, and one
line on why these belong together. List leftovers that fit no
cluster at the end.

Why it works: the two rules about shared words are the whole prompt. Text-similarity clustering puts “best crm for small business” and “small business crm pricing” together and splits “email deliverability” from “why are my emails going to spam”. Meaning-based clustering does the opposite, and the opposite is correct. Treat the result as a first draft of your page map, then check the biggest clusters against the actual SERP in step 6.

4. Question mining

Topic: [topic]. Audience: [audience].

List 40 questions this audience asks about the topic, grouped by
where they are in the process: before they know they have the
problem, while choosing an approach, while implementing, and
after it goes wrong. Write them as full questions in the words
the audience would use. Flag any question a competitor's
product page would answer better than an article.

Why it works: questions are the queries most likely to appear in answer engines as well as classic results, so this list feeds both the blog plan and the passage-level work that earns AI citations. The “after it goes wrong” group is the one nobody plans for and the one with the least competition.

5. The competitor gap

Here are the H2 and H3 headings from the top three pages ranking
for [keyword]: [paste them, labeled by competitor].
Here are the headings from our page, or our planned outline:
[paste].

List every subtopic at least two competitors cover that we do
not. Then list anything we cover that none of them do. Then
suggest three subtopics none of the four pages cover that a
searcher would still expect. Do not invent what the competitor
pages say beyond their headings.

Why it works: this is the prompt that most needs real inputs. Ask the model what competitors “probably” cover and it invents plausible pages. Paste the actual headings and it does real analysis. The last instruction keeps it from filling gaps in the headings with guesses about the body copy. The output goes straight into the content brief - or into the brief prompt chain, where this same evidence feeds the gap and structure steps.

6. Validation against real data

Here is a keyword cluster from my plan, and the real data for
each keyword from [Search Console / Keyword Planner / the tool
I use]: [paste keyword, volume, current position if any].

Using only the data I pasted: rank the keywords by opportunity
(demand we are not yet capturing), flag any keyword where the
data contradicts the cluster (for example, a query I grouped as
informational that we already rank for with a product page),
and tell me which keywords have no data at all so I can decide
whether to drop them. Do not add or estimate any figures.

Why it works: the model is now doing analysis on numbers you supplied, which is the one configuration where its numbers can be trusted. Search Console is free and is the best source for keywords you already rank for. Google’s Keyword Planner is free with an ads account and gives ranges for everything else. Paid tools give you more, but the method does not depend on them.

If you use a tool that connects the model to a keyword database directly, step 6 collapses into the earlier steps, because the figures arrive with the keywords. The rule stays the same: a number the model did not fetch from a database is not a number.

Putting it together (a hypothetical run)

Imagine a small team planning content for a scheduling tool aimed at clinics. Prompt 1 turns the seed “appointment scheduling for clinics” into 60 queries, of which about a third are questions about no-shows, reminders and insurance eligibility rather than about scheduling software at all. Prompt 2 labels most of the no-show queries informational and most of the software queries commercial. Prompt 3 produces eleven clusters, including one the team had not planned: patients cancelling late, which is a problem the tool solves and nobody on the team had thought to write about.

Prompt 4 adds the “after it goes wrong” questions, which become an FAQ and two support articles. Prompt 5, run on the top three pages for the main commercial keyword, shows all three competitors cover pricing on the comparison page and the team’s outline did not. Prompt 6, with Search Console data pasted in, shows the team already gets impressions for two of the no-show queries without a page targeting them. Those two become the first posts written.

The scenario is invented. The pattern is what happens in practice: the model’s real contribution is finding the cluster you had not thought of, and the data’s contribution is telling you which cluster to write first.

Mistakes worth avoiding

Letting the model volunteer numbers. Covered above. Put “no search volumes” in every prompt that does not include real data.

Clustering by words. If two keywords are in the same cluster only because they share three words, check the SERP. Google often shows different page types for them, and one page cannot satisfy both.

Trusting the intent label over the SERP. The model’s intent guess is usually right, and the SERP is always right. For the ten keywords that matter most, look.

Skipping step 6 because the list looks good. Every list looks good. Validation is where a 60-keyword list becomes a 15-keyword plan.

Treating the output as a strategy. Keyword research tells you what people search for, not what you can say about it that a competitor cannot. That part is still yours, and it is the part that decides whether the page ranks.

FAQ

Can ChatGPT replace a paid keyword tool? It replaces the parts of the tool you used for ideas and grouping. It cannot replace the database. Search Console and Keyword Planner cover the database for free at small scale.

Is Claude or Gemini better for this? All three handle these prompts well, and none of them has search volume data. Pick the one your team already uses. The validation step matters more than the model.

Should I ask ChatGPT to check which keywords are trending? No. It does not have current search data. Use Google Trends, which is free.

How many keywords should I end up with? Fewer than you started with. A realistic quarter for a small team is 10 to 20 validated keywords with a page type each. The 60-keyword expansion is raw material, and most of it is meant to be discarded.

More on the search side of AI marketing lives in the AI SEO and GEO hub, including how to get cited by AI search engines. The keyword list from this method feeds the AI content brief workflow and the blog post prompts. For the full picture of where SEO fits, see the complete guide to AI marketing and the role guide for SEO specialists.