Most intent classification at scale works by pattern-matching the query: "how to" means informational, "buy" means transactional, a brand name means navigational. It is cheap, it is what most keyword tools do under the hood, and it is wrong often enough to corrupt every downstream decision — which pages you build, which templates you assign, which keywords you call "commercial."
There is a better ground truth available, and it is sitting in public view: the SERP itself.
Why keyword patterns fail
The modifier taxonomy descends from Broder's early-2000s classification of web queries into informational, navigational, and transactional. As a taxonomy it holds up. As a classification method, keyword patterns fail for a structural reason: most queries contain no modifier at all. "standing desk" carries no "how to" and no "buy." A pattern rule either guesses or shrugs.
Worse, identical patterns map to different intents in different markets. "crm pricing" is commercial investigation; "gold pricing" is an informational data query. And intent is not stable — a product-category query can shift toward informational during a news cycle and back. Static rules encode none of this.
The deeper problem is epistemic: a pattern rule is your hypothesis about what searchers want. You have a way to check the hypothesis against the judgment of a system with vastly more evidence than you — and pattern-based classification never checks.
The SERP is the intent model's output
Google's ranking systems are, among other things, an intent model trained on behavior at enormous scale. What Google chooses to show for a query — the result types, the features, the mix of page formats — is that model's output, rendered where you can crawl it.
To be precise about the epistemics: Google has not documented "we compose SERPs as an intent classification you may read off." That is inference. But it is a strong one, because the composition is the consequence of whatever satisfied users historically: if a local pack appears, Google's evidence says a meaningful share of searchers want nearby options; if the organic results are all product-listing pages, the evidence says people who typed this wanted to shop, whatever the words suggest.
Reading the SERP is therefore not a heuristic on par with keyword patterns. It is reading the answer key — noisy, occasionally wrong, but generated from data you will never have.
Reading composition programmatically
Pull the SERP for each query — via any SERP API or your own compliant collection — and extract two layers.
Layer one: features present. Each feature is evidence for an intent, and the evidence is directional, not proof:
| Signal on the SERP | Evidence for |
|---|---|
| Shopping ads, product grids | Transactional |
| Local pack, maps | Local / visit intent |
| Featured snippet, PAA, AI-generated answer | Informational |
| Video carousel | Instructional or visual how-to |
| Sitelinks on one dominant result | Navigational |
| "Best/vs/review" titles among top results | Commercial investigation |
Layer two: what the organic results are. Classify the page type of each top-ten result — product page, category page, listicle/comparison, editorial guide, forum thread, tool. This is the stronger signal of the two, because it reflects what actually ranks rather than what modules Google bolted on. A simple classifier over titles and URLs (or page templates, if you fetch them) gets you far; ten results per query gives you a distribution, not a verdict.
Score each query as a vector across intents — say, 70% commercial investigation, 30% transactional — rather than forcing a single label. The vector is the honest representation, and it is what makes the next section tractable.
Mixed SERPs are information, not noise
A SERP with three product pages, four comparison articles, and a PAA box is not a classification failure. It is Google hedging across a fractured intent — different searchers typing the same words wanting different things.
For you, a fractured SERP answers a question no keyword tool answers: what format has a chance here? If the top ten contains zero product pages, pointing a product page at the query is a format mismatch, and no amount of on-page work fixes a format mismatch. If the split is 50/50, both formats are viable and the vector tells you the odds. This is the single most actionable output of SERP-based classification — it converts "what does this keyword mean" into "what should this page be."
Intent drifts, so classify on a schedule
Because the SERP reflects a living model, re-collection turns classification into monitoring. A query whose results shift from editorial guides toward product grids is a documented change in what Google shows, and the reasonable inference is a shift in what searchers accept. Sites lose rankings this way while the page itself is unchanged — the page stopped matching the intent, not the query. Quarterly re-classification of your money queries catches this while it is still a trend; annotate shifts and check them against your rank-tracking history for the same terms.
The cost side is real: SERP collection at scale costs money and rate limits, where regex costs nothing. The workable compromise is tiered — SERP-classify the queries that drive revenue and any query where a template decision hangs on the answer; let cheap pattern rules cover the long tail, flagged as low-confidence.
What to do
- Stop trusting single-label intent columns from keyword tools for anything that decides a template. Treat them as priors.
- Build the two-layer extractor: features present, plus a page-type classifier over the top ten organic results. Store a vector per query, dated.
- Audit your existing mappings. For each important query-to-page assignment, check whether your page's format appears in the top ten at all. Format mismatches are your cheapest wins to reassign.
- Re-collect quarterly for revenue-driving queries and diff the vectors. Investigate any query whose dominant intent changed.
- Validate the classifier occasionally by hand-labeling a sample. The SERP is ground truth for what Google believes — your extraction of it can still be buggy, and that distinction is worth ten minutes a month.