Best practices9 min read
Designing funnels that tell you something
A funnel with the wrong window or the wrong order mode doesn't fail loudly: it just quietly reports a number that isn't the one you think it is.
How many steps
A funnel needs at least 2 steps to compute anything; with fewer than that it returns an empty result rather than a single number. In practice, 3–5 steps is the range that tells a story: two steps gives you one conversion rate and no picture of where people fall off; past 6–7 steps, drop-off between adjacent steps gets small enough to be noise rather than signal.
Choosing a conversion window
The window opens at a visitor's first qualifying event (their "entry") and closes at entry + window. If you don't set one, it defaults to 14 days. Match the window to the real behaviour you're measuring: a checkout funnel should use minutes to hours, since nobody takes three days to click through a cart. A trial-to-paid funnel should use the length of your actual trial (14 or 30 days), not the default by accident.
It's entry-plus-window, not "any step within N days of any other step." A visitor who reaches step 1 on day 1 and step 2 on day 20 fails a 14-day window even if the two steps are only 2 days apart in isolation: the clock starts at entry and doesn't reset.
Order mode: sequential, strict, or any
Sequential (the default) requires steps in order but allows other, non-step events in between: a visitor can browse, leave, and come back within the window. Any drops ordering entirely: step *k* counts visitors who completed at least *k*+1 of the steps in any sequence, which keeps the bars monotonic without pretending order was observed.
Some funnel tools disqualify a visitor from strict mode if they do *anything else at all* between two steps. Mrkr's strict mode only disqualifies a visitor who performs *another funnel step* out of order, not just any tracked event. The stricter definition would disqualify almost every real session, since a pageview sits between nearly every pair of events. If a step needs to happen immediately with nothing else (including unrelated events) in between, sequential with a short window models that more usefully than strict does.
Breakdown vs. a second funnel
A breakdown splits one funnel's bars by a dimension (device, source, country, UTM campaign, or any event property from the entry step) attributed on first touch: whichever value was true when the visitor entered the funnel, not whichever value was true when they converted. Use a breakdown when you're comparing segments of the *same* flow. Build a second funnel only when the steps themselves are genuinely different, such as a separate mobile-app signup flow versus a web one.
Breakdowns keep at most 12 groups on screen; anything past that folds into an _other bucket sorted by entrant count, so a highly fragmented property (say, breaking down by a free-text UTM term) will bury most of the detail in _other rather than showing you dozens of tiny bars.
Reading drop-off without fooling yourself
The drop-off drawer samples up to 100 stalled visitors per step for drill-down: it's a sample, not a full list, on funnels with heavy traffic at that step. On very high-volume sites over long ranges, the engine also caps the total rows it reads at 200,000; past that cap every number in the funnel becomes a lower bound and the result is marked truncated. Check for that flag before treating a small difference in conversion rate as meaningful on a busy site over a wide date range.
Exclusion rules remove a visitor from the funnel *entirely* the moment they fire between the steps they're scoped to: they don't just block that one step's progress. Use exclusions to keep test traffic or an unrelated flow out of the funnel's shape, not to "penalize" a specific step.
See the funnels dashboard for how to build one, filters and segments for scoping a funnel to a slice of traffic, and cohorts for turning a funnel outcome into a reusable segment.