Start with customer questions, not volume
I would not start keyword research with an expensive tool. I would first collect the customer’s language: what they type into search, how they describe the problem in chat, and which words the manager uses on calls.
The mistake I would remove first: Buying a tool before collecting customer questions.

What to prepare and what result to expect
- Outcome: You have a table of queries grouped by intent—not a list of hundreds of duplicates.
- Collect original customer questions, services, cities, competitors, and real phrasing from email, chats, and calls.
- Keep source data and access rights separate from the output so you can verify what keyword research without expensive tools produced.
- Open the SERP for each group and check whether page types match user intent.
Collect keywords from SERPs, forums, and conversations
- Collect live phrasing
Use Google/Yandex autocomplete, People also ask, questions from Reddit, YouTube, and customer threads. Save the phrase and the source.
Проверьте: The table has customer words, not only SEO-tool terms.
Если не сработало: Ask the manager to export last month’s questions.
- Look at the SERP yourself
For each phrase, record result types: article, service, store, map, video, forum. That is a fast intent signal.
Проверьте: You know which page format is needed.
Если не сработало: Do not merge queries only because they share a word.
- Group the queries
In the table add intent, primary_query, supporting_queries, target_url, funnel_stage, and content_owner. Merge duplicates; split different jobs.
Проверьте: Each group has one primary URL and one next step.
Если не сработало: Make two groups if the CTA and page type differ.
- Prioritize by more than volume
Score business value, reachability, proof, and production cost. A lower-volume query can win if it is closer to purchase.
Проверьте: Priority is explained by the business job, not only frequency.
Если не сработало: Add real leads that already came in on the topic to the table.

I collect queries from four free sources
Open Google autocomplete and `People also ask`, Search Console → `Performance → Queries`, Reddit/forums, and call transcripts. In the table store `query`, `source`, `intent`, `audience`, `stage`, `location`, `page_candidate`, `evidence`, and `last_checked`.
Do not mix “how to set up a CRM” and “hire CRM integration” on one page. Mark intent for each query: learn, compare, solve, buy, or check price. A page appears only when you can give a self-contained answer.
query | intent | audience | stage | page_candidate | evidence
how to connect crm to email | learn | sales ops | early | guide | 7 calls
set up crm integration | buy | owner | late | service | 12 leads
How I cut the noise
Drop queries with no matching service, overly broad phrasing, and cases where competition does not match team capacity. After publication compare the plan with real Search Console queries: sometimes a page starts ranking for a more precise phrase and needs an update for that intent.
I verify customer language in real conversations
Once a week take 5–10 new phrases from calls, chats, and losses. Add `query`, `exact_quote`, `intent`, `stage`, `service`, `page_candidate`, and `why_it_matters`. That keeps marketing language from replacing buyer language.
After publication compare the plan with Search Console. If people arrive on a different, more precise phrase, update the title, FAQ, and CTA for the real query—without creating a new page for every variation.
How to tell one intent from two similar phrases
| Criterion | Question | Good sign |
|---|---|---|
| Input | What exactly goes into keyword research without expensive tools? | Collect original customer questions, services, cities, competitors, and real phrasing from email, chats, and calls. |
| Action | What is the system allowed to do on its own? | Only pre-listed actions, without access to the entire account |
| Verification | How do you know the result is acceptable? | Open the SERP for each group and check whether page types match user intent. |
| Failure | Where does an unclear case go? | Split the group into two intents if one query needs an article and another needs a service page. |
What should change after setup
You have a table of queries grouped by intent—not a list of hundreds of duplicates.

Where keyword research turns into a list for its own sake
Buying a tool before collecting customer questions.
Merging every phrase that shares one word onto a single page.
Chasing volume and ignoring commercial value.
Not assigning a URL and owner to each group.
When research needs to connect to sales data
You need a specialist if there are many regions, languages, or brands, or if semantics must connect to CRM and real revenue.
What to keep in the keyword table
Who is this approach to keyword research without expensive tools for?
A keyword is not just a phrase with volume. You need to understand what the person wants to do, which words they use, and which page can give them the next step.
Where do I start if everything is still done manually?
Collect original customer questions, services, cities, competitors, and real phrasing from email, chats, and calls.
How do I check that the setup will not cause harm?
Open the SERP for each group and check whether page types match user intent.
What if the result is unclear?
Split the group into two intents if one query needs an article and another needs a service page.





