
Context: The Page That Ranks First and Still Loses the Click-to-Revenue Argument
Consider an illustrative B2B SaaS marketing team - a mid-market vendor operating out of Johannesburg with UK and UAE pipeline - sitting at position two for a head term like "workflow automation software." The page has been there for months. Impressions climb. Organic sessions climb. Assisted conversions from organic search are almost flat. When the team finally reads the query inside the query, the pattern is clear: the page answers what the product category is, while a meaningful share of searchers are asking how this tool compares to the incumbent they already have. The page wins the rank and loses the argument. We call this intent mismatch despite rank, and it is the most expensive SEO problem most scaling teams do not measure.
This article is about fixing that before a single word is written, and then proving the fix with retrieval-level evidence rather than rank as a proxy for relevance.
What 'SEO Intent Matching' Means Once AI Infers Intent Instead of Matching Strings
Historically, intent was inferred from the query string: it contained "vs" so it was comparison; it contained "how" so it was instructional. That still holds for well-formed queries, but modern retrieval systems - both Google's ranking stack and the generative layers layered on top - infer intent from context, entity relationships and passage-level relevance. Google Search Central's How Search Works describes ranking as a system of signals drawn from the query, the page and the user context - not a keyword lookup table. And Google's people-first content guidance is explicit that pages exist to satisfy a need, not a string.
So SEO intent matching, in a practical sense, means three things working as one: modelling what the searcher actually needs, structuring the page so its passages answer that need, and measuring whether an AI system extracted the right passage. It is a deliberate alignment exercise, not a keyword exercise.
Rank tells you the page entered the candidate set. Passage retrieval tells you whether it answered the question. These are different measurements and should be reported separately.
The Four-Layer Intent Model: Query, SERP Format, Generative Answer, Commercial Stage
We describe intent profiles in four layers. Each layer narrows the target and each produces evidence you can quote back to a writer, a designer or a client.
| Layer | Question it answers | Evidence source |
|---|---|---|
| Query | What is the searcher typing, and what modifiers appear? | Search Console, ads search-term reports, site search logs |
| SERP format | What shape does the winning content take? | Manual SERP sample, screenshot archive |
| Generative answer | What passage does an LLM-style answer quote or omit? | SERP feature text, AI overview captures |
| Commercial stage | Where is the user in the decision path? | GA4 path analysis, CRM stage, pipeline value |
Layer 1 - Reading SERP Format as an Intent Signal (and Why the Format Is the Message)
The shape of the page that ranks is a strong hint about the need. A SERP dominated by list posts signals curation and breadth; a comparison table signals a decision being narrowed; a definition paragraph signals a learner; a product grid signals transactional readiness; a step-by-step guide signals active implementation.
- A list-dominant SERP often means the searcher wants an overview within a two-minute read, not depth.
- A comparison-table SERP means the searcher already knows the category and is narrowing.
- A definition-first SERP means they are still forming the problem statement.
- A how-to SERP means they will act on the page today.
If your page is a 3,000-word definition while the SERP is a comparison grid, the mismatch is structural, not editorial.
Layer 2 - What the Generative Answer Reveals About the Underlying Need
When an AI-generated answer appears above the organic results, it is diagnostic evidence. Three things to capture for each query you are profiling: which passage got quoted, which entity set the answer uses, and what the answer deliberately omitted. If the overview quotes the fourth paragraph of a competitor's page describing trade-offs, the underlying need was comparative, not explanatory. If it lists three named vendors, the need was shortlisting. If it opens with a definition, treat that as confirmation that the searcher needed orientation.
This is evidence gathering, not a ranking trick. The Retrieval-Augmented Generation paper by Lewis et al. (2020) describes precisely the mechanic that matters here: a generator answers by conditioning on retrieved passages. Your page gets quoted only if it contains a passage that retrieves.
Layer 3 - Separating Declared Intent from Revealed Intent Using Your Own Analytics
Declared intent is what the query says. Revealed intent is what people do when they land. Read both. In GA4, look at landing-page-to-micro-conversion paths, internal site-search terms from that session, and the eventual assisted path - including HubSpot deal stages or Klaviyo flow entries where they are wired in. Consistent patterns matter more than single sessions. A query that almost always ends on a pricing or documentation page, and rarely on a sign-up, was a research query masquerading as commercial.
Building the Intent Profile Document: Fields, Evidence and Stop Conditions
The profile is one row per query cluster, with a stop condition per row so the team knows when profiling is complete.
| Field | Example |
|---|---|
| Query + volume band | "x vs y" - medium volume, high commercial intent |
| Cluster label | comparison-evaluation |
| SERP format | Comparison table + vendor reviews |
| AI answer shape | Shortlist of three, one sentence each |
| Evidence quote | Named competitor trade-off paragraph |
| Stage | Evaluation |
| Stop condition | Cluster confirmed by 3+ independent SERPs in different locales |
An AI-Assisted Intent Classifier: Labelled Set, Embeddings, Thresholds
Once the profile exists, extend it to hundreds of queries with a modest classifier. Label 150-400 queries by hand across four to eight clusters. Embed the query text and your page passages using an encoder in the family described in Sentence-BERT (Reimers & Gurevych, 2019), then compare cosine similarity. The point is not a giant prompt - it is a small, human-labelled set plus a similarity check that flags drift. Pseudocode below is deliberately tool-agnostic.
import numpy as np
from sklearn.metrics.pairwise import cosine_similarity
# queries: labelled sample, each tagged with one intent cluster
# passages: text blocks extracted from your live page
q_vecs = embed([q.text for q in queries])
p_vecs = embed([p.text for p in passages])
SIM = cosine_similarity(q_vecs, p_vecs) # queries x passages
THRESHOLD_BY_CLUSTER = {
'definition': 0.62,
'comparison': 0.68,
'purchase': 0.71,
}
for i, q in enumerate(queries):
best = SIM[i].argmax()
score = SIM[i][best]
flag = score >= THRESHOLD_BY_CLUSTER[q.cluster]
log(q.text, q.cluster, score, passages[best].id, flag)A single global threshold will overfit to one cluster. Comparison queries and definition queries sit at different similarity bands in almost every corpus we have inspected. Use per-cluster thresholds and re-check the band whenever you add new content types.
Choosing the Labelling Set: How Many Queries, Which Clusters, Who Decides
A useful sample is not random. Take the top queries by assisted-conversion potential from Search Console and paid search-term reports, then stratify by cluster so each has 20-40 labelled items. One owner - usually the SEO lead or content strategist - decides the cluster definitions, and a second reviewer checks 10% of labels for consistency. Where two reviewers disagree, the query is genuinely ambiguous: split the cluster or mark it as multi-intent, which is a legitimate label.
Interpreting Cosine Similarity Honestly: Thresholds, False Positives, Drift
Similarity is not a verdict. A high score can mean the passage is topically close but answers a different need - a definition passage scoring high against a comparison query, for example. Review the top false positives weekly for the first month, then monthly. Track the score distribution per cluster over time; drift shows up as an upward-vs-downward shift in the band, not as a single reading. If a cluster drifts, re-label 20 queries from that cluster and re-fit before changing the threshold.
Once the profile and classifier are credible, the next problem is translation: turning the profile into a brief a writer can execute, and a retrieval check a strategist can run. That is covered in the second half.
The Intent-Fit Brief: Translating the Profile into H2 Structure, Entities and Evidence
A profile that does not become a brief is a research artefact. The intent-fit brief constrains four things: the order of H2s, the entities that must appear, the evidence the section must carry, and the format the page must adopt. Map each H2 to a single sub-question implied by the profile - not to a keyword variant. If the cluster is comparison-evaluation, the first H2 is the one that names both sides of the comparison, not the one that defines the category.
Entities are named, not implied: competitors, standards, tooling, regulations. Evidence is specified: a screenshot, a data source, a spec sheet, a compliance reference. Format is copied from the SERP: if the winning format is a table, the page ships a table.
Retrieval Sanity Check: Does Your Page Contain the Passage an LLM Would Extract?
Take the top five to ten queries in a cluster and ask one question per query: is there a self-contained passage of roughly 40-80 words that answers this query on its own, without needing the surrounding page? If not, the page fails retrieval even if it still ranks. Run the check by reading the page in isolation rather than skimming it. If the answer to a comparison query sits in a bullet three screens down and depends on the previous paragraph for context, the retrieval system will skip it.
Write the target passage first. If the paragraph cannot be lifted from the page and read as a standalone answer, the structure is wrong - not the sentence.
Where Intent Matching Breaks: Ambiguous Queries, Split SERPs and Mixed-Stage Journeys
Three failure modes recur. First, ambiguous queries - "best CRM pricing" can serve a comparison need or a product need, and the SERP sometimes splits. Second, split SERPs where a comparison and a definition both perform; the right answer is two pages, or one page with two clearly separated passage blocks. Third, mixed-stage journeys where a commercial-looking query actually sits early in the funnel within your own analytics - a case for treating the query as research and routing to a softer next step.
Table: Intent Cluster → SERP Format → Page Format → Fit Score → Assisted Conversions
| Intent cluster | Query sample | SERP format AI prefers | Your page format | Intent-fit (1-5) | Assisted conv. (period) |
|---|---|---|---|---|---|
| Definition | what is workflow automation | Short paragraph + glossary | Long feature page | 2 | Low |
| Comparison | tool A vs tool B | Comparison table | Narrative explainer | 2 | Low |
| How-to | how to set up approval flows | Numbered steps | Numbered steps + screenshots | 5 | Steady |
| Commercial | workflow tool for finance teams | Product grid + specs | Product grid + specs | 5 | Higher |
| Ambiguous | best workflow pricing | Split SERP | Single blended page | 3 | Volatile |
Fit score rubric: 5 = page format matches the dominant SERP format and a standalone passage exists for each top query; 4 = format matches but passages need rewriting; 3 = format partially matches, split into two blocks; 2 = format does not match, content present but ignored; 1 = no relevant passage exists. Scores are assigned by the review owner and recorded alongside the profile.
Measurement: Passage Retrieval Success, Generative Inclusion and Snippet Ownership Rate
- Passage retrieval success rate - share of top queries in a cluster where a QA reviewer can confirm the page contains an extractable passage that answers the query alone.
- Generative inclusion rate - share of observed SERPs where an answer quotes or cites you, captured from sampled SERP features.
- Snippet ownership rate - share of top queries where your page holds the featured or equivalent snippet.
- Assisted conversion rate by intent cluster - GA4-assisted conversions divided by organic sessions per cluster, joined to CRM pipeline stage where available.
These four metrics form the intent layer in Prebo Digital's custom reporting approach: rank and sessions sit above them, revenue proof sits below. The full methodology sits inside our SEO / AI SEO service.
Running a Monthly Query-Intent Audit Without Rebuilding the Whole Programme
A 90-minute loop, one owner, once a month:
- Pull the last 30 days of Search Console queries for the priority cluster and mark any new entrants.
- Sample three SERPs per new query and capture the SERP format, AI answer shape and any omitted entity.
- Re-score the page against the fit rubric; record the delta, not the absolute score.
- Run the classifier sweep and review the top false positives and top false negatives.
- Write one brief per page that needs an H2 or passage change; nothing else.
- Log the audit against assisted conversions by cluster so changes are traceable.
Do not re-threshold every month. Change thresholds only when the distribution itself has moved; otherwise you will chase noise and destabilise the classifier's outputs.
Consent, Storage and Consent Mode Before You Store Query-Level Data (POPIA and GDPR Notes)
Query-level storage carries personal-data risk in both South Africa and the EU. Under POPIA and GDPR, confirm the lawful basis for processing, apply retention limits, and treat site-search strings as personal data where they can identify a person. Configure Google Consent Mode so analytics and advertising identifiers are suppressed until consent is granted, and mirror the same logic in HubSpot or Klaviyo where you push query context. This note is factual guidance, not a compliance certification - review with your legal counsel before relying on it.
Sources
- How Search Works - Google Search Central
- Creating helpful, reliable, people-first content - Google Search Central
- Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (Lewis et al., 2020) - arXiv
- Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks (Reimers & Gurevych, 2019) - arXiv
- Prebo Digital - SEO / AI SEO service




