Map the funnel and find the bottleneck

Stage-by-stage rates, content mapped to the funnel, and where it really gets stuck.

Hourglass with sand flowing through its neck

This step has one job: name the stage where extra effort moves revenue the most, and line the rest of the audit up behind it. On an audit I ran for a B2B SaaS, the traffic had good bases and conversion had barely been touched, so that verdict came first and the analysis centered on conversion. State what you did not dig into as well, and hold back recommendations where someone else is better placed to make them.

Throughout this chapter, say a B2B SaaS at 2M ARR sells quoting software to companies of 50 to 500 people. The numbers are invented to show the method.

Write each stage as an event someone can count

A funnel drawn on a slide proves nothing until every stage has an entry event, an exit event and one system that holds the truth. If marketing and sales count “qualified” differently, settle it before computing a single rate.

Stage Counted when Source of truth
Visit A session starts on the site Web analytics
Signup An account is created Application database
Activated The first quote is sent to a real client Application database
Qualified The account fits the target and sales accepts it CRM
Won The first invoice is paid Billing

If those events are shaky, go back to making the data reliable. A rate computed on bad attribution gives you a confident wrong answer.

Compute the rates by cohort and by segment

Follow accounts by signup month, so a deal signed in June is credited to the March signup that produced it. Leave recent cohorts out of the win rate until your usual sales cycle has passed, or they will look worse than they are.

SELECT
  date_trunc('month', signup_at) AS cohort_month,
  company_size_band,
  count(*) AS signups,
  count(activated_at) AS activated,
  count(qualified_at) AS qualified,
  count(won_at) AS won
FROM accounts
WHERE signup_at >= now() - interval '12 months'
GROUP BY 1, 2
ORDER BY 1, 2;

Averaged over twelve months, our example gives this:

Stage Monthly volume Rate to next stage
Visits 20,000 2%
Signups 400 40%
Activated 160 25%
Qualified 40 20%
Won 8
Hourglass on a windowsill

Find the bottleneck by testing what a lift is worth

A funnel multiplies, so a 20% lift at any stage gives you the same 20% more customers. The lowest rate therefore tells you very little. What you want is the stage where a lift is the most plausible and the cheapest to get, and the gap between your average and your best segment is the most honest estimate of what is plausible.

Transition Current Best segment Won per month if the whole stage matched it
Visit to signup 2% 2.6% (feature pages) 10.4
Signup to activated 40% 62% (accounts with a teammate invited) 12.4
Activated to qualified 25% 30% (paid search) 9.6
Qualified to won 20% 24% (inbound demos) 9.6

Here the bottleneck is activation, and the work moves to the activation chapter. Two checks before you commit. A best segment can be a different population, so discount it if those accounts would have succeeded anyway. And look for capacity limits: if two salespeople can only work 40 qualified accounts a month, more leads upstream will queue up and go cold. The growth equation gives you the frame for pricing each lever.

Compare the content labels with what the content does

Most teams tag content TOFU, MOFU or BOFU when they plan it and never check again. Export every content URL and fill in this grid.

Column How to fill it
Declared stage The label in the editorial plan
Observed stage Your reading of the main queries and of the page itself
Sessions, signups, qualified leads Analytics, joined to the CRM on first landing page
CTA target and its stage Where the main button actually goes
CTA position and visibility Share of readers who scroll down to it
CTA tracked Yes or no

Use a plain test for the observed stage. TOFU readers are discovering a problem. MOFU readers have the problem and are comparing approaches. BOFU readers are comparing vendors or ready to try one.

This grid tends to produce the same findings. Content labeled MOFU is often TOFU, because a how-to guide attracts people learning the job. CTAs send MOFU readers to another MOFU piece, or back to TOFU, when each click should bring the reader one stage closer. CTAs sit at the bottom of the page, where few people see them and nobody counts them.

BOFU belongs on landing pages. A blog post titled “best quoting tools” carries the wrong layout, the wrong proof and a generic CTA. And if your conversions happen on feature and pricing pages, every article should link to the feature that matches its topic. An article about payment terms in quotes links to the payment terms feature, with a sentence that makes the click obvious.

Fix the tracking at the same time. A link that leaves for the app on another domain can carry UTMs. Links inside a single GA4 property should send an event instead, because a UTM on an internal link starts a new session and overwrites the source.

<a href="https://app.example.com/signup?utm_source=blog&utm_medium=cta&utm_campaign=payment-terms&utm_content=inline-1"
   data-cta-stage="mofu" data-cta-position="inline-1">Try it on a real quote</a>
Slim hourglass beside a sunny window

Compare who reads with who buys

A handful of pages can carry a large share of the traffic and attract the wrong company size, usually because the topics are too operational. A template for freelancers will fill your signups with freelancers. Some TOFU posts bring plenty of signups and almost no qualified leads, so judge every page on qualified leads.

SELECT
  first_landing_page,
  count(*) AS signups,
  count(*) FILTER (WHERE employees BETWEEN 50 AND 500) AS icp_signups,
  count(qualified_at) AS qualified_leads
FROM accounts
WHERE signup_at >= now() - interval '12 months'
GROUP BY first_landing_page
ORDER BY signups DESC;

Sort by signups, then read the qualified column next to it. The pages at the top with an empty qualified column are the ones flattering your dashboard. The opposite choice is viable too: on the Deux.io project we went after a small number of searches with strong intent, even where a query was rarely typed, and those pages brought 35 to 50 leads per month.

What to deliver

Three things: the funnel table with its definitions, the bottleneck verdict with its calculation, and the content grid with corrected labels. Write every finding the same way, so it can be scored later.

Field Example
Observation Half of the articles labeled MOFU answer beginner queries
Evidence Grid, 40 URLs reviewed, main queries attached
Consequence The nurture path looks full while few readers are actually evaluating
Action Relabel, then write 5 comparison landing pages linked from these articles

Your next step: pull the five stage counts for the last twelve months, split them by company size, and write the bottleneck in one sentence before you open any other report.