← Back to Insights
Lester Leong

Lester Leong

·8 min read

Conversion Rate by Funnel Stage: Where Startups Actually Lose Users

Your Overall Conversion Rate Is Hiding the Problem

When a founder tells me "our conversion rate is 2.3%," I know we are about to waste at least 30 minutes. That number, visitor-to-customer as a single percentage, is the equivalent of a doctor saying "you are unhealthy." It describes a symptom without locating the cause.

Over the past three years, I have consulted with 20+ SMBs and startups on analytics and growth through Gradient Growth. The pattern is almost universal: teams optimize their overall conversion rate by running experiments on whichever page feels most important (usually the landing page or pricing page), and they wonder why nothing moves. The answer is always the same. They are operating on the wrong stage.

A conversion funnel is not one metric. It is four to six sequential metrics, each with different failure modes, different benchmarks, and different interventions. Treating the funnel as a single number is like averaging the temperatures of every room in a building and concluding the heating system works fine while one room is freezing.

The Five Stages That Matter

Every product funnel, regardless of industry, decomposes into roughly the same structure. The labels change. The mechanics do not.

Stage 1: Acquisition (visitor arrives). Traffic lands on your site or app. The conversion event is a meaningful first action: clicking past the landing page, starting a signup flow, or engaging with content. Benchmark for most startups: 30-60% of visitors take at least one action beyond landing.

Stage 2: Activation (user completes signup and reaches value). The user creates an account and experiences the core value proposition for the first time. This is the most misunderstood stage. Signup completion is not activation. Activation is the moment the user understands why your product exists. Benchmark: 40-70% of users who start signup reach activation.

Stage 3: Engagement (user returns). The user comes back after their first session. This overlaps with retention, but at the funnel level, engagement measures the transition from "tried it" to "using it." Benchmark: 20-40% of activated users return within seven days.

Stage 4: Monetization (user pays). The user converts from free to paid, or completes a purchase. Benchmark: 2-8% of engaged free users convert to paid (for SaaS). For e-commerce, 3-5% of engaged sessions result in a purchase.

Stage 5: Referral (user brings others). The user actively recommends or shares the product. This stage is often ignored in funnel analysis because it sits after revenue, but it is the multiplier that separates linear growth from compounding growth. Benchmark: 5-15% of paying users generate at least one referral.

These benchmarks come from my consulting engagements and are deliberately wide. Your specific numbers depend on your category, price point, and acquisition channel mix. The point is not to hit a benchmark. It is to find the stage where the drop is disproportionately large relative to these ranges.

Finding the Broken Stage

At a financial social media startup where I worked before its acquisition, we spent our first six months optimizing the landing page. Our visitor-to-signup rate was 12%, which felt low. We tested headlines, hero images, social proof, CTA placement. We moved the number from 12% to 14%. Two points. Months of work.

Then we instrumented the full funnel and discovered the actual problem. Our signup-to-activation rate was 23%. More than three out of four people who created an account never experienced the core product. The landing page was fine. Onboarding was catastrophic.

We shifted all experimentation resources to onboarding. Within one quarter, activation went from 23% to 51%. That single-stage improvement nearly doubled our effective conversion rate from visitor to engaged user, without touching the landing page at all. That activation turnaround became a central part of the acquisition narrative.

This is the diagnostic principle: the stage with the largest gap between your number and the benchmark is where your effort belongs. Not the stage that feels most visible. Not the stage that is easiest to test. The stage that is most broken.

Stage-by-Stage Diagnostics

Each stage fails for predictable reasons. After 20+ consulting engagements, the failure modes cluster tightly.

Acquisition failures are almost always a messaging-audience mismatch. The traffic is there, but it is the wrong traffic, or the value proposition is unclear within three seconds of landing. The diagnostic question: "If I showed this page to 10 people in my target segment, could 8 of them tell me what the product does and who it is for?" If not, the page is failing at communication, not conversion. I have seen startups double their acquisition conversion by rewriting a single headline to describe the outcome instead of the product.

Activation failures are the most expensive and the most common. The user signed up but never reached the "aha moment." The diagnostic question: "What is the shortest path from signup to value, and how many steps are in that path?" At one B2B SaaS client, the answer was eleven steps. Eleven clicks and form fills before the user saw a single output from the product. We cut it to four. Activation jumped from 18% to 44%.

Engagement failures indicate the product delivered initial value but did not create a reason to return. The diagnostic question: "What trigger brings the user back?" If the answer is "they remember the product exists," you have a trigger problem. Email, notifications, and workflow integration are not growth hacks. They are the mechanism by which users re-enter the product. Without them, even a great first experience decays into churn.

Monetization failures split into two categories: pricing and timing. The pricing diagnostic: "Can the user articulate what they get by paying that they do not get for free?" If the free tier is too generous, there is no upgrade pressure. If the paid tier's value is unclear, the friction is not price; it is understanding. The timing diagnostic: "Are we asking for money before or after the user has experienced enough value to justify the cost?" Premature monetization gates kill conversion rates that would otherwise be healthy.

Python: Funnel Analysis From Event Data

Here is a practical implementation for computing stage-by-stage conversion rates from raw event data. This is the exact pattern I use with consulting clients before recommending where to focus.

```python import pandas as pd from typing import Optional

def funnel_conversion( events: pd.DataFrame, funnel_stages: list[str], user_col: str = "user_id", event_col: str = "event_name", date_col: str = "event_date", segment_col: Optional[str] = None, ) -> pd.DataFrame: """ Compute stage-by-stage conversion rates from event data.

Each row in `events` is a single user event with at minimum a user ID, event name, and date. funnel_stages is an ordered list of event names representing the funnel (e.g., ["visited", "signed_up", "activated", "subscribed"]).

Returns a DataFrame with user counts and conversion rates at each stage, optionally segmented. """ events = events.copy() events[date_col] = pd.to_datetime(events[date_col])

group_cols = [segment_col] if segment_col else []

results = [] for i, stage in enumerate(funnel_stages): stage_users = ( events[events[event_col] == stage] .groupby(group_cols + [user_col]) .size() .reset_index() ) if group_cols: counts = stage_users.groupby(group_cols)[user_col].nunique() else: counts = pd.Series( {"total": stage_users[user_col].nunique()} )

for key, count in counts.items(): results.append({ "segment": key if group_cols else "all", "stage": stage, "stage_order": i, "users": count, })

df = pd.DataFrame(results)

# compute stage-over-stage and cumulative conversion rates rates = [] for segment, group in df.groupby("segment"): group = group.sort_values("stage_order") top_of_funnel = group["users"].iloc[0] prev_users = top_of_funnel

for _, row in group.iterrows(): stage_rate = row["users"] / prev_users if prev_users > 0 else 0 cumulative_rate = row["users"] / top_of_funnel if top_of_funnel > 0 else 0 rates.append({ "segment": segment, "stage": row["stage"], "users": row["users"], "stage_conversion": round(stage_rate * 100, 1), "cumulative_conversion": round(cumulative_rate * 100, 1), }) prev_users = row["users"]

return pd.DataFrame(rates)

# Example usage events = pd.DataFrame({ "user_id": [1,1,1,1, 2,2,2, 3,3, 4,4,4,4, 5,5,5, 6, 7,7,7,7], "event_name": [ "visited","signed_up","activated","subscribed", "visited","signed_up","activated", "visited","signed_up", "visited","signed_up","activated","subscribed", "visited","signed_up","activated", "visited", "visited","signed_up","activated","subscribed", ], "event_date": "2026-03-01", })

funnel = funnel_conversion( events, funnel_stages=["visited", "signed_up", "activated", "subscribed"], ) print(funnel) # stage users stage_conversion cumulative_conversion # visited 7 100.0 100.0 # signed_up 6 85.7 85.7 # activated 5 83.3 71.4 # subscribed 3 60.0 42.9 ```

The `stage_conversion` column is where the diagnosis lives. When you see a stage with a conversion rate significantly below the benchmarks listed earlier, that is your broken stage. The `segment_col` parameter lets you slice by acquisition channel, device type, or cohort to find whether the problem is universal or isolated to a specific population.

The Biggest Drop Is Rarely Where You Think

Across the startups I have consulted, the distribution of "broken stage" skews heavily toward activation and engagement. Roughly:

- 15% of the time, acquisition is the bottleneck (bad messaging or wrong-channel traffic). - 45% of the time, activation is the bottleneck (onboarding friction, unclear value). - 25% of the time, engagement is the bottleneck (no re-entry trigger, weak habit loop). - 15% of the time, monetization is the bottleneck (pricing, timing, or free tier too generous).

Teams default to optimizing acquisition because it is the most visible stage. The landing page is the front door; it feels like the right place to start. But in my experience, working on a GenAI squad at a major finance technology company, I see the same pattern at scale: the highest-leverage funnel work is almost never at the top. It is in the middle stages where users silently disappear between signup and habitual use.

This aligns with a principle I wrote about in [experiment velocity](/insights/experiment-velocity-metric): running more experiments matters, but running them on the right funnel stage matters more. A team that runs 10 experiments per quarter on acquisition when activation is the bottleneck will learn a lot about landing pages and nothing about why their product is leaking users.

How to Prioritize Funnel Work

Once you have identified the broken stage, the next question is how to sequence the fixes. Here is the framework I use with clients.

Calculate the revenue impact of a 10-point improvement at each stage. Work the math forward from the top of the funnel. If you have 10,000 monthly visitors and your funnel converts at 50% / 40% / 30% / 5% (acquisition / activation / engagement / monetization), your current output is 30 paying customers. Now model what happens if you improve each stage by 10 percentage points. The stage where a 10-point improvement produces the largest increase in paying customers is your priority.

Estimate the difficulty of improvement. Activation improvements (onboarding redesigns, reducing time-to-value) are typically medium effort with high payoff. Acquisition improvements (messaging, positioning) are low effort but often low payoff if the traffic quality is already decent. Engagement improvements (notification systems, workflow hooks) are high effort but durable. Monetization improvements (pricing changes, paywall timing) are low effort but risky if done without data.

Sequence by ratio of impact to effort. This sounds mechanical, and it is. That is the point. Without a framework, teams default to working on whatever the loudest stakeholder cares about, which is usually not the broken stage.

The Metric Selection Connection

Funnel stage analysis also prevents one of the most common [A/B testing failures: measuring the wrong metric](/insights/ab-testing-wrong-metric). When you know which stage is broken, you know which metric your experiments should target. An experiment on the onboarding flow should be measured by activation rate, not by signup completion or D7 retention. An experiment on the pricing page should be measured by trial-to-paid conversion, not by page engagement.

The funnel decomposition gives you metric clarity. Without it, teams pick whatever metric is easiest to measure, run an experiment, get a null result, and conclude the hypothesis was wrong. The hypothesis was often right. The metric was wrong because it measured a different stage than the one the experiment affected.

What to Do With This

Instrument your funnel. Define the events that mark each stage transition. Run the analysis above. Find the stage where your numbers diverge most from the benchmarks. Redirect your experimentation resources to that stage.

This is not a one-time exercise. I rerun funnel analysis monthly with every consulting client because the bottleneck migrates. Fix activation, and engagement becomes the new constraint. Fix engagement, and monetization surfaces as the next gap. The funnel is a system, and the constraint moves as you improve each stage.

The companies that grow are not the ones with the best overall conversion rate. They are the ones that know exactly which stage is broken right now and are running experiments to fix it.

I help teams find and fix the funnel stage that is costing them the most revenue. [lester@gradientgrowth.com](mailto:lester@gradientgrowth.com)

Want frameworks like this for your company?

I work with 3 to 4 AI-era companies at a time, building the analytics systems that turn data into decisions. If that sounds like what you need, let’s talk.

Get Your Free Diagnosis

Keep Reading