A sequence of events viewed in order to see where users drop off: viewed, added to cart, checked out, paid.
Why it exists
Most products lose people at each step of a multi-step flow, sign up, add to cart, pay, but without measuring each step you cannot tell where, and fixing the wrong step wastes effort. Funnels exist to show how many people make it through each stage, so you can find the exact leak that is costing conversions.
How it actually works
String events into the steps of a journey, product view, add to cart, begin checkout, pay, and count how many users reach each step. The shape narrows like a funnel, and the biggest drop between two steps is where you're losing people.
This turns a vague "conversion is low" into a precise "70% abandon at the payment step," which points directly at what to fix.
A senior PM walks you through it
A junior PM, stuck
Checkout conversion dropped this week and my lead asked me where users are bailing. An analyst sent me a query result with four rows and some big numbers, and I am staring at it unable to say anything more useful than "conversion is low." I do not know how to turn these four counts into an answer about where the leak is.
A funnel is just the steps of one journey in order, with a count of how many people reached each step, and the whole trick is to read the drops between steps, not the steps themselves. The biggest drop is your leak, and it is almost never at the top where the numbers are largest. Below is the query the analyst ran and its four-row result, laid out as a funnel so you can point at the exact step that is costing you.
The checkout funnel for Friday, from four event counts
the query that produced the four rows
>SELECT event, count(distinct user_id) AS users
2FROM events
3WHERE event IN ('product_view','add_to_cart','begin_checkout','payment_success')
4 AND day = '2026-03-06'
5GROUP BY event ORDER BY users DESC;
the same rows read as a funnel
6 step | users | continued from step above
7 product_view | 12400 | (top of funnel)
8 add_to_cart | 5150 | 42%
9 begin_checkout | 2320 | 45%
10 payment_success | 690 | 30%
11
12biggest single drop: begin_checkout to payment_success, 70% lost
Click a step to see the lines it points at.
Mistakes I've seen
Chasing the biggest absolute drop instead of the biggest percentage drop. The top of the funnel always loses the most people because that is where browsers leave; the leak worth fixing is where committed users fall out, here the 70% at payment.
Reading the raw counts and stopping. 12,400 versus 690 tells you conversion is low, not where; only the step-to-step percentages point at the step to fix.
Fixing the wrong step. Pouring effort into the add-to-cart rate when the real cliff is at payment wastes a sprint and does not move the number your lead is asking about.
Trusting a funnel with a missing event. If a step is not instrumented it reads as a phantom drop or disappears; confirm every step fires an event before you diagnose a cliff that might just be a tracking hole.
Comparing funnels built on different dates or user segments. A drop that looks new can just be a different week or a different traffic source; hold the window and the segment steady before calling a change real.
Tell your lead: "The leak is the payment step, not the top. Of the 2,320 who started checkout only 690 paid, a 70% drop among users who had already decided to buy. I am pulling why they fail there, likely the gateway or a surprise fee." You turned four counts into step-to-step drops and named the cliff, which is the skill.
Where a PM meets this
Funnels are a primary PM tool: they locate the exact leak in a journey so you fix the right thing, not a guess.
A funnel only works if every step is instrumented; missing an event leaves a blind spot right where you need to see.
Hear it in a meeting
"The funnel shows the cliff is at payment, not at cart."