Keyword Funnel Mapping for TOFU, MOFU and BOFU Pages
Keyword funnel mapping assigns each keyword to the stage of the buying journey it signals (top, middle or bottom of the funnel) and then to the single page on your site that serves that stage. The result is a table of keyword, stage, current ranking page and target page, which shows where a stage has no page at all and where two pages compete for the same searches.
TOFU (top of funnel) searchers are learning about a problem. MOFU (middle of funnel) searchers are comparing approaches or vendors. BOFU (bottom of funnel) searchers are ready to buy, book or get in touch.
Key takeaways
- Keyword funnel mapping tags each keyword as TOFU, MOFU or BOFU and assigns each keyword cluster one target page that serves that stage.
- TOFU searchers are learning about a problem, MOFU searchers are comparing approaches or vendors, and BOFU searchers are ready to buy, book or get in touch.
- Settle an ambiguous keyword's stage by searching it: if guides and explainers rank, the keyword belongs to TOFU whatever its modifiers suggest.
- Judge each funnel stage by its own number: TOFU by impressions and clicks, MOFU by comparison-query clicks, and BOFU by key events such as form submissions or purchases.
Read the stage from the query
| Stage | What the searcher wants | Common modifiers | Page that fits |
|---|---|---|---|
| TOFU | Understand a problem or topic | what is, how to, why, guide, examples, ideas | Guide, explainer, glossary entry |
| MOFU | Compare options | best, vs, alternatives, comparison, review, for a named use case | Comparison, use-case page, case study |
| BOFU | Take action | pricing, cost, buy, demo, quote, hire, near me | Pricing, product or service page, contact page |
Treat the modifiers as hints. Google's Search Quality Rater Guidelines sort queries into Know, Do, Website and Visit-in-person intents. The same document says the line between Do and Know queries "is sometimes blurry" and that many queries don't fit neatly into one category. Funnel stages have the same problem, so settle ambiguous keywords by looking at what Google already shows for them.
The other two rater categories need a decision too. The guidelines describe a Website query as one where the user is looking for a specific website or webpage, and a Visit-in-person query as a search for a specific business or a category of businesses (source). Website queries for your own brand belong in a branded bucket outside the funnel map. For a local business, Visit-in-person searches such as "accountant near me" behave like BOFU, because the searcher wants to go somewhere.
Checking the results for an ambiguous keyword is quick. Search the keyword and look at the pages that rank. If they are guides and explainers, a pricing page won't satisfy the searcher however well it's optimised, and the keyword belongs to TOFU whatever its modifiers suggest.
Build the list from real queries
Start with the queries you already appear for. The Search Console Performance report lists them, though Google's data discrepancies page says the table shows at most 1,000 rows, and anonymized queries are left out of it (Google). For a fuller list, Google points to bulk data exports.
If your property has a large volume of queries, the Insights report's query groups bundle variants of the same question, such as different phrasings of one recipe search. That saves de-duplicating by hand, though Google notes the groups are computed with AI and may change over time.
Then add keywords you don't rank for yet from keyword research, especially MOFU and BOFU terms for the products or services you sell. Group close variants into clusters so that each cluster, not each keyword, gets a page. XeoRank's keyword research does this grouping and shows the clusters in a TOFU, MOFU and BOFU funnel view, which is the table this guide builds (keyword clustering).
Tag stages with regex filters
Search Console's query filter accepts regular expressions through its "Custom (regex)" option. Google's filtering help says it uses RE2 syntax, matches anywhere in the query unless you anchor the pattern with ^ or $, and isn't case-sensitive by default. These starter patterns are a place to begin; adjust the words for your market and language.
TOFU: ^(what|how|why|when|who)\b|guide|examples|ideas|meaning
MOFU: \b(best|vs|versus|alternatives?|compare|comparison|reviews?)\b
BOFU: \b(price|pricing|cost|buy|quote|demo|trial|hire|near me)\b
Apply one pattern at a time and note clicks and impressions for each. You'll see which stage the site already earns traffic in, and which stage is close to empty. Comparison mode works with regex filters as well, as Google's announcement of the feature notes, so you can set one stage's clicks this quarter beside the same quarter last year.
Separate branded searches first. Google's branded queries filter splits them out, and Google says branded queries typically lead to higher-ranking pages and higher click-through rates.
Left in, they inflate whichever stage they land in.
Expect overlap. A query like "how much does bookkeeping cost" matches both the TOFU and BOFU patterns. Pick a precedence rule, for example BOFU first, then MOFU, then TOFU, and apply it the same way every time so the map stays consistent.
Assign one target page per cluster
For each cluster, check which of your pages Google already shows. Google's guide to common Performance report tasks explains the method: click a query in the table, then open the Pages tab to see the URLs that appeared for it.
You'll usually land in one of three situations.
- The right page ranks. Keep it as the target and improve it.
- The wrong page ranks, such as a pricing page for a "what is" query. Create or improve the right page and link to it from the wrong one.
- Several of your pages appear for one cluster. Choose one target, then merge, differentiate or re-link the others.
Before concluding that two pages compete, check canonicals. Search Console credits clicks to the canonical URL, according to Google's dimensions help page, so a duplicate may simply be reporting under its canonical.
The map itself can live in a spreadsheet. The rows below are illustrative, for an invented accounting firm, and carry no performance data.
| Keyword cluster | Stage | Ranking page now | Target page | Action |
|---|---|---|---|---|
| what is bookkeeping | TOFU | /pricing/ | /guides/what-is-bookkeeping/ | Write the guide, link to it from pricing |
| bookkeeping software vs accountant | MOFU | none | /compare/software-vs-accountant/ | Create a comparison page |
| bookkeeping services cost | BOFU | /services/bookkeeping/ | /services/bookkeeping/ | Add a pricing section to the page |
Find the gaps
Sort the map by stage and look for three kinds of gap. The first is a stage with no target pages at all: a service site may have solid BOFU pages and no comparisons, or a blog full of TOFU guides with no route to a quote. The second is a cluster whose ranking page sits in the wrong stage.
The third is a cluster where nothing on the site ranks yet.
Rank the gaps before writing anything. A BOFU gap on a product you sell usually deserves attention before a TOFU gap on a loosely related topic, because the searcher is closer to acting. That's a judgement call for each business, so write the reason next to each gap in the map.
Fill gaps your audience actually needs. Google's helpful content guidance lists content "primarily made to attract visits from search engines" as a warning sign. A missing stage is a reason to write only if your customers ask those questions, and the people who talk to customers in sales or support can tell you whether they do.
Link the stages together
Google uses links as a signal of relevance and to find new pages to crawl. Its link best practices say every page you care about should have a link from at least one other page on your site. In a funnel map, that means TOFU guides link to the relevant MOFU comparison, comparisons link to the BOFU page, and BOFU pages link back to the guide for readers who aren't ready yet.
Use descriptive anchor text, which the same Google page recommends. "Compare bookkeeping software with hiring an accountant" tells the reader and Google more than "click here", and it reminds you which stage the link is moving the reader towards.
Measure each stage on its own terms
Each stage has a different job, so judge it by a different number.
| Stage | What to measure | Where |
|---|---|---|
| TOFU | Impressions and clicks for the TOFU pattern; clicks onward to MOFU pages | Search Console, Google Analytics |
| MOFU | Clicks on comparison queries; visits that continue to a BOFU page | Search Console, Google Analytics |
| BOFU | Key events such as form submissions, bookings or purchases | Google Analytics, Organic Search channel |
For the BOFU row, mark the outcomes as key events in Google Analytics. A standard property can mark up to 30, and marking one changes reports only from that point on (Google Analytics help). Judging a TOFU guide by direct sales sets it up to fail, because it was mapped to a stage where people aren't buying yet.
Google counts clicks from AI Overviews and AI Mode within the "Web" search type of the Performance report (source), so they're already inside the stage numbers above. For how answer engines differ from classic search results, see AEO vs GEO vs SEO.
Revisit the map when the query data shifts. New clusters appear, a TOFU guide starts ranking for a BOFU term, or two pages drift into each other's queries. Put a regular review in the calendar, such as each quarter, and recheck the regex groups and the target-page column.
Related reading
Content Gap Analysis: How to Find What Competitors Cover and You Don't
Content gap analysis compares your pages with competitors' to find topics and questions they answer that you don't. Here is a process that ends in new pages.
Read more →Content Decay in SEO: How to Spot Pages Losing Clicks Early
Content decay is the slow loss of clicks on pages that used to perform. Catch it early in Search Console, rule out other causes, then refresh, merge or wait.
Read more →Internal Linking Strategy: A Repeatable Process for Any Site
An internal linking strategy is a repeatable routine for deciding which pages link where and with what anchor text. Here is how to run it, start to finish.
Read more →Ready to optimize your search rankings?
XeoRank connects to Google Search Console, analyzes content gaps with AI, and gives you actionable fixes — from the terminal or dashboard.