How to Benchmark Your Funnel Stage by Stage

A stage rate is defined as the share of sessions that reached one funnel stage and went on to reach the next, and to benchmark your funnel stage by stage you need every one of those rates built the same way. Four rules do it: define each stage by an observable event, use the previous stage as the denominator, hold the segment constant down the whole funnel, and compare only against figures built on the same calculation. The CROBenchmark dataset scores 7,000+ websites against 248+ audit criteria [CROBenchmark Report 2026, Omniconvert]. This guide shows each rule and the reconciliation check that proves the funnel map is right.
- Use the previous stage as the denominator for each stage rate, never total site sessions.
- Define each stage by an observable event, so it is a fact in your data rather than an inference about intent.
- Hold device and traffic segment constant down the funnel, or the rates cannot be multiplied together.
- Compare only against published figures built on the same calculation, because one metric name often covers incompatible calculations.
- Multiply your stage rates together and check the result against your overall rate; if they do not reconcile, the funnel map is wrong.
Last updated: October 2026 · By The CROBenchmark Team
This guide is about the mechanics, because the mechanics are where the mistakes live. Omniconvert has built the CROBenchmark dataset over 13 years, scoring 7,000+ ecommerce sites against 248+ audit criteria, and the single most common reason a store's self-measurement disagrees with its audit is denominator choice rather than tracking failure. What follows covers how to define a stage, which denominator each rate needs, the four errors that make a comparison meaningless, and the reconciliation check that catches a broken funnel map.
What it means to benchmark your funnel stage by stage
A funnel is a sequence of transitions, and the quantity worth measuring is the transition rather than the stage. Sessions that saw a product page and went on to add to cart. Sessions that reached the cart and started checkout. Sessions that started checkout and completed it. Each of those is a stage rate, and each one answers a question about one specific piece of your store.
The reason this matters more than it sounds is that the aggregate hides direction. If your overall conversion rate is below your category, at least one transition is leaking, and the aggregate cannot say which. Worse, two problems can partially offset: a weak product page combined with an unusually efficient checkout produces a middling overall figure that looks like nothing in particular needs attention.
So the output you want is a short table with one row per transition. Not a dashboard, not a funnel visualisation, a table you can read in one pass and compare against outside figures. The sequencing question, which gap to work on first, is a separate exercise covered in benchmarks should shape your test roadmap; this piece is about making the table trustworthy in the first place.
Defining each stage so the numbers mean something
Write down the exact event that marks arrival at each stage, and prefer events your platform already records without configuration. Viewed any product page. Added any item to cart. Reached the first checkout step. Completed an order. Those four are unambiguous, available almost everywhere, and defined identically by everybody, which is what makes them comparable.
Decide one more thing explicitly: whether your unit is a session or a visitor. Both are legitimate and they produce materially different numbers, because a visitor who returns three times before buying counts once as a visitor and three times as sessions. Pick one, write it at the top of the table, and never mix the two between stages. Shopify's analytics documentation is explicit about which unit each of its reports uses, which is worth checking before you assume.
The Same Denominator rule, and the four errors it prevents
Error one: dividing every stage by total traffic. This is the dominant error and the easiest to make, because total sessions is the number most readily to hand. Its effect is systematic: every stage past the first is understated, and the understatement compounds, so the deepest stages look catastrophic. A checkout completion rate divided by all site traffic is not a checkout metric at all; it is your overall conversion rate wearing a different label.
Error two: mixing segments between stages. Measuring the product stage on all devices and the checkout stage on desktop only produces two numbers that cannot be multiplied, compared or reasoned about together. Pick one segment and carry it the whole way down. Run the exercise again for a second segment if you want the comparison, which you usually do, since mobile and desktop funnels often fail at different points.
Error three: mixing time windows. One stage measured over last month and another over last quarter will differ for reasons that have nothing to do with the funnel. Use one window for the whole table, and make it a quarter unless you have unusually high volume.
Error four: comparing against an incompatible benchmark. Published figures rarely state their denominator, their session definition, or whether they exclude bot traffic, internal visits, returns and cancellations. Two honest benchmarks for one category can differ by a factor of two on these choices alone. Where a source does not say, treat its figure as an orientation rather than a comparison, and lean on sources that publish their method, such as the research notes from the Baymard Institute or category data from Statista where the methodology is documented.
Each stage, its denominator and its common distortion
Read the right-hand column first when a number surprises you. Most surprising stage rates are measurement artefacts rather than discoveries.
| Transition | Correct denominator | Characteristic distortion |
|---|---|---|
| Landing to any further page | All sessions in the segment | Bot and preview traffic inflates the loss |
| Any page to product page | Sessions that got past the landing page | Sessions landing directly on a product page skip this |
| Product page to add to cart | Sessions that viewed a product page | Repeat product views inflate the denominator |
| Add to cart to checkout started | Sessions that added to cart | Carts restored from a previous session count twice |
| Checkout started to order placed | Sessions that reached checkout step one | Express wallet payments may bypass step one entirely |
| Order placed to order kept | Orders placed in the window | Returns arrive after the window and understate the loss |
The last row is the one most funnels omit, and omitting it flatters the whole table. A store with a high return rate has a real funnel that ends several weeks after the order, and a benchmark comparison that stops at order placed will rate it as healthier than it is. Measure it on a lagged window, comparing orders from a quarter whose returns window has closed.
The reconciliation check
This check takes two minutes and catches most structural mistakes. If your stage rates are correct and your funnel map is complete, their product should land close to your overall conversion rate for the same segment and window. Close means within a few percent relative, not exact.
A large gap tells you something specific. If the product of the stages is higher than your actual rate, you are losing sessions somewhere unmapped. If it is lower, sessions are entering the funnel partway down: direct links into a cart, a returning visitor with a restored cart, an email landing straight on checkout. Both are findings about your map rather than your store, and both have to be resolved before any benchmark comparison means anything.
Once the table reconciles, you have something genuinely useful: a set of rates that can be compared outward to a category and inward against each other. For the orientation on whether your overall position is even a problem, start from a good conversion rate for your category. To turn a weak stage into page-level findings, run a free audit against the CROBenchmark dataset, or audit it by hand with the full checklist. And where the bottleneck turns out to be turning findings into shipped changes rather than finding them, Omniconvert Commander (formerly Nexus) is an AI for eCommerce growth engine that unifies commerce data, prioritises experiments by True Profit, and generates campaigns and creative you approve before they go live.
A consistent table is the input, not the output. What to do with a stage that reads below its benchmark is the next question, and how to turn a benchmark gap into a test plan covers the translation from a weak rate to a test worth running.
Teams often compare a checkout rate calculated on all sessions with a published figure calculated on cart sessions. The gap looks like a checkout problem, a fix is scheduled, and the real difference was the denominator.
AliveCor used Omniconvert to run a structured A/B testing programme and achieved +21% conversion rate, +5% revenue per visitor, and 94% statistical relevance across their experiments. [Omniconvert, AliveCor case study] Writing the denominator down before the test is part of the same discipline.
Frequently asked questions
How do you benchmark a funnel stage by stage?
Define each stage by an observable event, then compute each stage rate against the sessions that reached the previous stage rather than against all traffic. Hold the device and traffic segment constant the whole way down, and compare each rate only against a published figure built on the same denominator. Those four rules are what make the resulting numbers comparable to anything at all.
What denominator should a stage rate use?
The sessions that reached the immediately preceding stage. Measuring every stage against total site sessions is the most common error, and it makes each stage past the first look far worse than it is while hiding where the loss actually happens. A cart-to-checkout rate measured against all traffic tells you about your landing pages, not about your cart.
Why do published benchmarks disagree so much?
Because the same metric name covers several incompatible calculations. Conversion rate can be computed per session, per visitor or per unique buyer, across all traffic or excluding bots and internal visits, including or excluding returns and cancellations. Two benchmarks for the same category can differ by a factor of two with neither being wrong, so the calculation matters more than the source.
How long a window should a funnel benchmark use?
A quarter for most stores, and never less than a month. Stage rates move with promotions, seasonality, traffic mix and stock availability, so a two-week window measures those rather than your funnel. If a figure changes materially when you extend the window, the shorter window was measuring an event rather than a baseline.
Should stage rates multiply back to the overall conversion rate?
Yes, and checking that they do is the best available test of whether you defined the stages correctly. Multiply all your stage rates together and compare the result with your reported overall conversion rate. A meaningful discrepancy means sessions are entering or leaving the funnel in the middle, usually through a path you have not mapped, such as direct links into the cart.
The bottom line
Before you compare a single figure to a category average, make your own table internally consistent: one row per transition, each divided by the stage before it, one segment and one window throughout. Then multiply the rates together and check they reconcile with your reported conversion rate. Most stores that believe they are far below benchmark at four stages out of five have one arithmetic error repeated four times, and the ten minutes spent on the reconciliation check is the difference between a measurement and a misunderstanding.
