Your funnel is leaking somewhere. Visitors land, poke around, and vanish before they buy, sign up or fill in the form, and you are left staring at a flat conversion rate with no idea which step is bleeding people. Guessing at fixes wastes weeks and rarely moves the number. Funnel analysis solves this by showing you the exact step where people fall out, so you can fix the right thing first. This guide walks through what funnel analysis is, the stages and types, how to run one yourself, the tools, and the mistakes to sidestep.
What is funnel analysis?
Funnel analysis is a method for measuring how users move through an ordered sequence of steps toward a goal, and pinpointing where they drop off. The goal might be a purchase, a sign-up, a booking or a completed form. You count how many users reach each step, then read the gaps between steps to find the leak.
Product, marketing, growth and data teams all lean on it, because the same technique works whether you are studying a checkout, an onboarding flow or an ad campaign. It matters for one simple reason: you cannot fix a drop-off you cannot see.
What a funnel actually is
A funnel is the shape your users make as they move toward a goal. Picture a physical kitchen funnel: wide at the top, narrow at the bottom. Plenty of people pour in at the first step, and only a fraction make it out the other end. Each step filters a few more out, which is why the numbers shrink as you go down. That narrowing shape is the whole idea, and it is where the name comes from.
A simple worked example
Say you want to understand your sign-up flow, so you define four steps: visited the homepage, signed up, started a trial, then bought a plan. Now imagine 1,000 people enter at the top. Here is how the funnel might look.
| Step | Users | Conversion from previous | Conversion from total |
| Visited homepage | 1,000 | — | — |
| Signed up | 600 | 60% | 60% |
| Started trial | 200 | 33% | 20% |
| Bought a plan | 50 | 25% | 5% |
The gaps tell the story. Sign-ups are healthy at 60 percent, but only a third of those who sign up start a trial, and that trial-to-paid step is where most of the value quietly slips away. Without the funnel laid out this way, you would see a 5 percent overall conversion rate and have no idea which step to blame.
Why funnel analysis matters
Improving conversion is the obvious payoff, but funnel analysis earns its place for a handful of distinct reasons. Here is what it actually does for you.
It pinpoints where users drop off
The headline benefit is precision. Instead of knowing your conversion rate is low, you know that 67 percent of trial-starters never pay, or that half your visitors abandon at the delivery-details page. That turns a vague problem into a specific one you can act on.
It improves conversion rates
Once you know the weakest step, you can concentrate your effort there rather than spreading small tweaks across the whole journey. Fixing the single step that leaks the most tends to lift the overall conversion rate far more than polishing steps that already work.
It improves the customer experience
A drop-off usually signals friction rather than a simple lack of interest. A confusing form, a slow page or an unexpected cost can all push people out. When you trace where users leave, you usually uncover the rough patches in the experience, and smoothing those makes the product better for everyone who stays.
It quantifies revenue impact
Funnel gains translate straight into money, which makes them easy to justify. Say you get 50,000 visitors a month, a 1.7 percent conversion rate and an average order of S$82. That is about S$69,700 a month. Lift conversion by a tenth, to 1.87 percent, and you are at roughly S$76,670, close to S$84,000 more over a year from the same traffic.
It aligns marketing, product and sales teams
Marketing worries about turning prospects into customers, product worries about keeping them, and sales worries about closing. A shared funnel gives all three the same picture of where people move and where they stall, so the teams argue from one set of numbers instead of three.
Funnel stages: the models you’ll actually use
There is no single correct funnel. The stages you track depend on your business and the question you are asking. A few models come up again and again, so it helps to know them before you build your own.
The classic marketing funnel
The traditional marketing funnel runs through five stages: awareness, consideration, conversion, loyalty and advocacy. People discover you, weigh you up, buy, come back, then tell others. You will often hear these grouped as top, middle and bottom of funnel, shortened to TOFU, MOFU and BOFU. This model suits content and demand-generation work, where you are guiding strangers toward a first purchase.
The pirate metrics (AARRR) funnel
For products and startups, the counterpart is AARRR, or “pirate metrics”, a framework the investor Dave McClure introduced in 2007. It tracks five stages: acquisition, activation, retention, referral and revenue. The name is just the acronym read aloud, but the sequence is a genuine product funnel, running from a user’s first contact through to the point where they pay and refer others.
The e-commerce purchase funnel
Online stores usually track a tighter, transaction-focused funnel: view a product, add it to the cart, begin checkout, then complete the purchase. Each step has a clear event behind it, which makes this one of the easiest funnels to measure and one of the most revealing when a step leaks.
The SaaS onboarding funnel
Software products care most about the path from sign-up to habit. A typical onboarding funnel runs sign-up, activation (the “aha” moment where the user first gets value), then conversion to a paid plan. Because activation predicts whether someone sticks, this funnel gets a lot of attention in SaaS teams.
Types of funnel analysis
Beyond the shape of the funnel, the kind of analysis you run depends on what you are measuring. Most work falls into one of a few types.
Pageview funnel analysis
This looks at how people move through your content, page by page. It suits publishers and content-led sites, where the aim is to keep readers moving deeper rather than exiting. Pages with high exit rates flag where attention drops.
Conversion funnel analysis
This is the default type most people mean by “funnel analysis”. You track a defined goal, such as a sign-up, a download or a form submission, and measure how many users reach it. The point is to lift the overall conversion rate by fixing the weakest step.
E-commerce funnel analysis
Here the goal is a purchase, and you measure the path from product view to completed order. It surfaces the drop-off points in the buying process, so you can see whether people abandon at the cart, the shipping step or the payment page.
Sales funnel analysis
Sales funnel analysis tracks prospects through a pipeline rather than a website: lead, qualified lead, opportunity, closed deal. It measures conversion between stages so a sales team can see where deals stall. The idea is the same as sales funnel analytics on the marketing side, applied to a CRM instead of a product.
How to do funnel analysis (step by step)
You do not need an expensive platform to run a funnel analysis. You need clear steps, clean event data and a way to count users at each one. Here is the process from start to finish.
Step 1: define your funnel steps
Start by writing down the three to five key actions a user takes on the way to your goal. Keep it to the events that matter, not every click. You also need to decide whether the steps must happen in a strict order, or whether any order counts, because that choice changes the numbers you get.
Step 2: get the data you need
Every funnel is built from event data, and each event needs three things: who did it, what they did, and when. In practice that means a row per event with a user identifier, an event name and a timestamp, such as user_id, event_name and event_time.
If your data is spread wide, with one row per user and separate columns for each date, you will need to reshape it into this long, one-event-per-row format before you can build a funnel.
Step 3: calculate conversion rates
Once the data is clean, the maths is simple. Count the unique users who reach each step, then work out two rates: the step-to-step rate (users at this step divided by users at the previous step) and the overall rate (users at this step divided by everyone who entered). Those two percentages are what every funnel chart is really showing.
Step 4: configure the funnel correctly
Before you trust the numbers, check how the funnel is set up. A few settings quietly change the result, so it is worth knowing what each one does.
Counting method (unique vs total)
Decide whether repeated actions by the same person count once or every time. Counting unique users answers “how many people converted”, while counting totals answers “how many conversions happened”, which matters for things like repeat purchases.
Conversion window
The conversion window is how long a user has, after entering the funnel, to reach the goal and still be counted. A tight window suits a quick checkout; a longer one suits a considered purchase that plays out over days.
Conversion ordering (specific vs any order)
Some funnels require the steps in an exact sequence, while others count users who complete the steps in any order. A strict checkout funnel usually wants a specific order; a looser engagement funnel might not.
Exclusion steps
An exclusion step removes users who took an action you want to filter out between two steps. It is how you narrow a funnel to the exact behaviour you are studying, rather than everyone who happened to pass through.
Constant or held properties
Holding a property constant means a user only counts if some attribute, such as the device or campaign, stays the same across every step. It keeps a single journey clean instead of stitching together actions from different sessions.
Step 5: segment to find the drivers
An overall funnel tells you that people drop off, not who or why. Break the funnel down by segment, such as device, channel, campaign, country or user cohort, and the picture sharpens. You might find mobile users abandon the checkout while desktop users sail through, which points you straight at the fix.
Step 6: act, test and iterate
Analysis only pays off when you change something. Turn each finding into a hypothesis, then test it, often with an A/B test on the weakest step, and measure whether the drop-off shrinks. Fixing the friction you uncover is the domain of conversion rate optimisation, and it works best as a loop: find the leak, patch it, measure, repeat.
How to calculate a funnel with SQL and Python
If your events live in a database or a data warehouse, you can build a funnel without a dedicated analytics tool. The trick in both SQL and Python is the same: count the distinct users who reach each step, then compare the counts.
Calculating a funnel with SQL
The common pattern is conditional aggregation. You count distinct users for each step in one pass over an events table, using a CASE expression to flag which users hit which event.
SELECT
COUNT(DISTINCT CASE WHEN event_name = 'visited_homepage' THEN user_id END) AS step_1,
COUNT(DISTINCT CASE WHEN event_name = 'signed_up' THEN user_id END) AS step_2,
COUNT(DISTINCT CASE WHEN event_name = 'started_trial' THEN user_id END) AS step_3,
COUNT(DISTINCT CASE WHEN event_name = 'purchased_plan' THEN user_id END) AS step_4
FROM events;
That gives you the user count at each step. Divide each step by the one before it for the step-to-step rate, and by step one for the overall rate. If step order matters, you would add a self-join or a windowed check on event_time so a user only counts at step three once they have passed steps one and two.
Calculating a funnel with Python
With the same event log in a pandas DataFrame, you can count users per step with a groupby and read off the funnel in a few lines.
import pandas as pd
steps = ['visited_homepage', 'signed_up', 'started_trial', 'purchased_plan']
counts = (
df[df['event_name'].isin(steps)]
.groupby('event_name')['user_id']
.nunique()
.reindex(steps)
)
conversion = counts / counts.iloc[0] * 100
print(counts)
print(conversion.round(1))
A script beats a BI tool when your steps involve custom logic, such as an ordering rule or a time window, that a point-and-click funnel builder cannot express.
Practice dataset
The fastest way to learn is on real rows. Grab a sample event log with user_id, event_name and event_time columns, load it into your database or a notebook, and rebuild the four-step funnel above. Public sample datasets for funnel practice are easy to find, and working through one makes the counting logic stick far better than reading about it.
Funnel analysis vs related methods
Funnel analysis is one lens among several, and it is easy to confuse with methods that look similar. Here is how it differs from the three it gets mixed up with most.
Funnel analysis vs cohort analysis
A funnel measures how far users get through a set of steps. A cohort groups users by something they share, usually the week or month they joined, and tracks that group over time. Funnel analysis answers “where do people drop off in this flow”; cohort analysis answers “do users who joined in March behave differently from those who joined in June”. Many teams use both together: a funnel to find the leak, cohorts to see whether it is getting better or worse over time.
Funnel analysis vs path or flow analysis
A funnel is a fixed set of steps you define in advance. Path analysis, sometimes called flow analysis, is open-ended: it shows the routes users actually take, including ones you never expected. Reach for a funnel when you already know the journey you want to measure, and path analysis when you want to discover how people really move.
Funnel analysis vs attribution
Funnel analysis looks inside a single journey to find where it breaks. Attribution looks across channels to decide which touchpoints deserve credit for a conversion. One tells you which step to fix; the other tells you where to spend your marketing budget. They answer different questions and work best side by side.
Funnel analysis tools
You can build a funnel with SQL, but most teams reach for a tool that draws the chart for them. The options range from free web analytics to dedicated product-analytics platforms. The table below sketches the main choices.
| Tool | Best for | Free tier | SQL access |
| Google Analytics 4 | Websites, general marketing | Yes | Via BigQuery export |
| Amplitude | Product and growth teams | Yes | Yes |
| Mixpanel | Product analytics, mobile | Yes | Yes |
| Matomo | Privacy-first, self-hosting | Self-hosted free | Yes |
| Heap, PostHog, Contentsquare | Autocapture, session context | Varies | Varies |
Google Analytics 4
For most Singapore businesses, Google Analytics 4 is the natural starting point, because it is free and probably already installed. Its Funnel exploration report lets you build a funnel on the fly and see completion and abandonment at each step. It is the same “funnel analysis in Google Analytics” that many teams already have access to but never switch on. If you want a second pair of eyes on your setup, a Google Analytics audit can confirm your events are firing before you trust the funnel.
How to build a funnel in GA4
In GA4, open Explore, then under “Start a new exploration” choose the Funnel exploration template. Click the edit pencil to add steps: give each step a name and set a condition, such as an event the user triggers or a dimension they match, then click “Add step” for the next one. You can define up to 10 steps, and for each one you choose whether the previous step is “directly followed by” or “indirectly followed by” the next. Add a breakdown dimension, such as device category, to split every step by segment. A “make open funnel” toggle decides whether users must enter at step one or can join at any step.
Amplitude
Amplitude is built for product and growth teams that live in behavioural data. Its funnels sit alongside cohorts, retention and experimentation, so it suits teams that want to move from spotting a drop-off to testing a fix without leaving the tool.
Mixpanel
Mixpanel is another product-analytics platform with strong, flexible funnels, including fine control over conversion windows, ordering and exclusion steps. It is a common pick for mobile and web products that need to segment funnels heavily.
Matomo
If data ownership or privacy is a priority, Matomo is an open-source option you can self-host, which keeps the data on your own servers. Its funnel feature pairs with supporting tools like heatmaps and session recordings, so it may suit teams with strict data-residency needs.
Heap, PostHog and Contentsquare
These round out the field. Heap and PostHog lean on autocapture, recording events automatically so you can build funnels retroactively, while Contentsquare adds experience data like heatmaps and session context. Which fits depends on whether you value automatic tracking, open-source flexibility or rich session context.
Real-world funnel analysis examples
The theory lands faster with concrete cases. Here are three funnels you are likely to recognise, and what each one tends to reveal.
SaaS free-trial-to-paid funnel
A software company tracks sign-up, activation and paid conversion. The usual finding is that the leak sits at activation: plenty of people sign up, far fewer reach the moment where the product proves its value, and almost nobody pays without hitting it first. Fixing onboarding, not the pricing page, is usually what moves this funnel.
E-commerce checkout funnel
An online store tracks product view, add to cart, checkout and purchase. Cart abandonment is the classic culprit, often triggered by unexpected shipping costs or a clunky checkout. Because organic traffic feeds the top of this funnel, pairing checkout fixes with strong ecommerce SEO keeps both ends healthy.
Lead-generation form funnel
A service business tracks landing-page visit, form start and form submission. The drop-off usually hides inside the form itself: too many fields, a confusing question or a hesitation point where people stall. Trimming the form or reordering the fields often recovers a surprising share of lead generation you were quietly losing.
Common funnel analysis mistakes to avoid
Most broken funnels are broken before the analysis even starts, usually in the data. Watch for these traps.
Missing or unreliable timestamps
Without an accurate time on each event, you cannot order the steps, and a funnel with no reliable order is guesswork. If timestamps are missing, you may be able to fall back on record-creation dates, but fix the tracking as a priority.
Wide-format data that isn’t reshaped
Data with one row per user and a separate column for each date is hard to build a funnel from. Reshape it into long format, one event per row, before you start, or your counts will not line up.
Events scattered across separate tables
When sign-up, trial and purchase data each sit in their own table, you have to join them into a single events table first. Skip that, and you end up analysing three disconnected fragments instead of one journey.
Inconsistent event naming
If the same action is logged as “signed_up” in one place and “signup_success” in another, your funnel will undercount that step. Pick one naming convention and enforce it, so every instance of an action carries the same label.
Wrong conversion window or ordering
A window that is too short cuts off users who would have converted a day later, and the wrong ordering rule counts the wrong people. Both quietly distort the funnel, so set them deliberately rather than accepting the defaults.
Reading a funnel chart without segmenting
An aggregate funnel can hide the real story, and sometimes reverse it. A step that looks healthy overall might be failing badly for mobile users while desktop users prop up the average. Always segment before you conclude, or you risk fixing a problem that only exists in the blended numbers.
Is the linear funnel still relevant?
It is worth being honest about the funnel’s limits. Real journeys rarely run in a tidy straight line. People loop back, compare options, leave and return, and read reviews long after they first showed interest.
McKinsey made this case in its work on the consumer decision journey, arguing that buyers often widen their set of options rather than narrowing it, and that the process loops through post-purchase experience instead of ending at the sale.
None of this makes funnel analysis useless. It just means you should treat the funnel as a measurement tool for a specific flow, not a complete map of how people decide. Used that way, alongside a modern view of discovery through channels like generative engine optimisation, it stays one of the most practical ways to find and fix a leak.
Frequently Asked Questions
What is a funnel in data analysis?
A funnel is an ordered set of steps users take toward a goal, shown as a shape that is wide at the top and narrow at the bottom. It visualises how many people reach each step and where they drop off on the way to converting.
What are the 5 stages of the marketing funnel?
The classic marketing funnel has five stages: awareness, consideration, conversion, loyalty and advocacy. People discover you, weigh you up, buy, return, then recommend you to others. Some models compress or rename these, but the progression from stranger to advocate stays the same.
Can I do funnel analysis in SQL?
Yes. The usual approach is conditional aggregation: count distinct users for each step in one query using CASE expressions, then divide the step counts to get conversion rates. If step order matters, add a self-join or a windowed check on the event timestamp so users only count once they have completed the earlier steps.
What’s the difference between cohort and funnel analysis?
Funnel analysis measures where users drop off across a set of steps. Cohort analysis groups users by something they share, usually their join date, and tracks that group over time. A funnel finds the leak; cohorts show whether it is improving. The two work well together.
What tools do I need to start funnel analysis?
You can start with Google Analytics 4, which is free and includes a Funnel exploration report. Product teams often add Amplitude or Mixpanel for deeper segmentation, and if you can query a database, SQL or Python works without any dedicated tool at all.
Final thoughts
Funnel analysis turns a flat, unhelpful conversion rate into a clear map of where people leave, so you can fix the step that actually costs you customers rather than guessing. Start small: define a few steps, count the users at each, and find your biggest leak. From there, the loop of testing and re-measuring is where the gains compound. If you would like a hand turning those findings into conversions, our conversion rate optimisation team is happy to help. Found this useful, or run your funnels differently? Tell us in the comments and share it with someone whose funnel is leaking.
