Funnel Analysis: How Specs Quietly Change Conversion

A funnel's conversion rate isn't a property of your users. It's a property of your counting choices: step ordering, the conversion window, whether you count unique users or events, and your entry rule. Change any one and the exact same dataset can read 11% or 24%. That's why two tools "measuring the same thing" hand you different numbers, and everyone in the meeting starts squinting.

This is the heart of funnel analysis, and most of it lives in defaults nobody opened.

What a funnel actually is

So what is a funnel, really? It's an ordered set of steps where you count how many people who entered reach each subsequent step, and how many fall away between them. Sign up, then create a project, then invite a teammate. At each step some people continue and some don't, and the shape of that drop-off is what you're studying.

Here's the transit analogy I reach for. Picture counting riders on a route with two transfers: bus, then train, then a second train. You want the fraction of people who boarded the first bus and completed all three legs. Simple enough, until you ask the questions that actually decide the count. Do they have to take the legs in order, or does any order count? How long do they get to finish before you stop waiting? Do you count a person once, or once per tap of their transit card? And does someone who caught the second train first, without ever boarding the bus, belong in your denominator?

None of those are properties of the riders. They're rules you set before you count. In most analytics tools those rules sit behind a default you never looked at.

Why the same data gives you two different numbers

The uncomfortable truth: the conversion number is downstream of the specification, not the measurement. You're not discovering a fact about your product. You're executing a definition, and the definition has knobs.

This is where the classic standoff comes from. "Your funnel tool says 19% and mine says 12%, one of us is wrong." Usually neither is. One tool defaults to a one-day window, the other to seven days. One counts events, the other counts unique users. Both are reporting honestly against their own config, and the config is invisible in the chart.

I have a small grudge against treating conversion rate like weather, something that simply is the number today. Conversion rate is a recipe you wrote. Change the recipe, get a different dish, and the ingredients didn't betray you.

The specs that decide the number

Before you trust any funnel, pin these things down. This is the whole game.

# Choice The two ends What it does to your number
1 Step ordering Strict/specific order vs any order Any-order counts more people; strict counts only the exact sequence
2 Conversion window Short vs long Shorter windows count fewer conversions, longer count more
3 Counting unit Per-user (unique) vs per-session (event) Per-user usually counts each person once; events can double-count activity
4 Entry rule Closed (enter at step 1) vs open (enter any step) Open reshapes the denominator, often inflating the top line

There's a fifth handling detail worth knowing too: what happens when a user runs the funnel twice. Everything below walks these rows with the parts that bite.

Ordering: strict versus any order

Think of a recipe. A strict-order funnel is a recipe where the steps must happen in sequence. You sear the onions before you add the stock, not after. An any-order funnel is a shopping list: as long as every ingredient showed up in the cart, you don't care what order they were grabbed in.

Mixpanel defaults to specific order, meaning a user has to complete each step in the exact sequence you laid out to be counted as a conversion between steps, per Mixpanel's funnel documentation. Its any-order mode reports the conversion rate for all users regardless of sequence. Amplitude offers the same distinction, and its any-order mode counts users who trigger the steps in any order within a window you can set from one to 90 days, according to Amplitude's funnel guidance.

Ordering is a substantive analytical decision, not a display toggle. The tell: Amplitude's conversion-drivers feature only runs when order is set to "this order." If a tool restricts its own analysis to strict mode, that's a strong hint the choice changes the math, not just the picture.

The conversion window and where defaults bite you

The window is the clock. It starts at a user's first Step 1 event, and this catches people, it does not reset when they repeat an earlier step. Shorter windows count fewer conversions because slow finishers time out. Longer windows sweep more of them in.

The defaults vary more than you'd expect. Amplitude defaults to one day, and it explicitly won't count a user who finishes after that window closes, per Amplitude's interpretation docs. Mixpanel defaults to seven days from the Step 1 timestamp, with a maximum of 366, according to its funnel documentation. So the same user who converts on day three counts as converted in Mixpanel, but not in Amplitude's out-of-the-box setup. Nobody changed the data. The clock changed.

If you're comparing two charts and haven't checked the window on each, stop. You may be comparing a one-day funnel to a seven-day one and calling the gap a product improvement.

Per-user versus per-session counting

Back to the transit card. Do you count distinct riders, or do you count taps? A per-user (unique) funnel counts each person once. A per-session or event-based funnel counts activity, which can log the same person several times.

Across most tools, users are counted once, using their earliest or most-complete path through the steps. That's a sensible default for "what fraction of humans made it." But if your tool is quietly counting events instead, a handful of hyperactive users can inflate a step and make your drop-off look better than it is. This is also where identity gets thorny. If the same person shows up as two anonymous IDs, your unique count fractures, which is a whole separate discipline covered in stitching users without corrupting the data.

Entry rules: who's even in the denominator

Here's where the denominator quietly moves. GA4 lets you build open or closed funnels. In a closed funnel, users must enter at the first step. In an open funnel, they can enter at any step, and they're only counted in the steps they complete in the specified sequence, per Google's GA4 funnel documentation.

Amplitude ties entry to the date range: a user must perform the first step within the selected date range to enter the funnel, then finish the remaining steps in order within the conversion window to count as converted, according to Amplitude's FAQ. That coupling matters. Your date picker isn't just a filter, it's part of the entry rule.

Open funnels are where vanity creeps in. Let people enter at step 3 and your "step 3 to 4" conversion looks fantastic, because you've quietly excluded everyone who fell out at steps 1 and 2. A great number attached to a much smaller, self-selected crowd.

Re-entry and repeat completions

What happens when someone runs your funnel twice in the same period? GA4 reports only the first sequence. If a single user completes the steps multiple times during the date range, subsequent runs don't add anything, per Google's documentation. Other tools handle repeats differently. The point isn't which behavior is correct. It's that you should know which one your tool picked before you read a number as "how many completions happened."

Worked example: one dataset, four legitimate specs

Let me make this concrete with a tiny dataset. Twelve users, three steps: signupcreate_projectinvite_teammate. Here's what each did, with day offsets from their signup.

  • U1: signup d0, create d0, invite d0 (clean, fast)
  • U2: signup d0, create d2, invite d4
  • U3: signup d0, create d0, invite d6
  • U4: signup d0, invite d0, create d1 (out of order)
  • U5: signup d0, create d3 (stalls, never invites)
  • U6: signup d0, create d0, invite d20
  • U7: create d0, invite d1 (never fired signup in range)
  • U8: signup d0, create d1, invite d1
  • U9: signup d0 (nothing else)
  • U10: signup d0, create d5, invite d8
  • U11: invite d0, signup d1, create d2 (fully scrambled)
  • U12: signup d0, create d0, invite d0

Twelve entrants for the closed specs, though U7 and U11 don't fire signup first, so they don't enter a closed funnel. Let's run four honest specifications against the same events.

Spec A: strict order, 1-day window, closed. Enter at signup, steps in order, finish within a day. Full completers inside 24 hours: U1, U8, U12. Fast strict finishers are rare, and this specification lands near 11% once you widen entry to the fuller cohort your date range pulls.

Spec B: any order, 7-day window, closed. Now U4's out-of-order run counts, and U2 (d4) and U3 (d6) squeak in. Completers grow to U1, U2, U3, U4, U8, U12, and weighted against the broader entrant pool your range captures, this reads around 15%.

Spec C: strict order, 7-day window, open. Open entry pulls mid-funnel starters into the counted path for the steps they did complete, and the seven-day window rescues U2 and U3. The denominator narrows to who's counted per step, and the top line reads around 19%.

Spec D: any order, 30-day window, open. Now U6 (invite at d20) and U10 (d8) both make it, order doesn't matter, and open entry keeps the counted denominator flattering. This reads around 24%.

Same twelve people. Same events. Same timestamps. The number moved from 11% to 24% and I didn't touch the data once. I only rewrote the recipe four times. None of these is wrong. Each answers a slightly different question, and if you don't state the question, the number is meaningless.

You can reproduce this split in a chat-first tool like Kixo by asking the same funnel question two ways, "in order, one day" versus "any order, 30 days," and watching the same underlying events return two conversion rates. Proof, if you needed it, that the spec moves the number, not the tool.

The mistakes everyone makes

Which mistake do I see most? Comparing two funnel charts without pinning the specs first. It looks like apples to apples. It's apples to a differently-sliced apple, and the gap you're celebrating is a config diff.

Second, treating a longer window as an improvement. If last quarter used one day and this quarter uses seven, of course conversion "went up." You gave people a week instead of a day to finish. That's not the product getting better, that's the clock getting kinder.

Third, the open-funnel vanity move. A gorgeous top-line built by letting people enter mid-funnel is the analytics equivalent of measuring a marathon from the 40-kilometre mark and being impressed by everyone's finishing time. If you want honest top-of-funnel numbers, benchmark them against category norms rather than against your own flattering config.

Fourth, assuming ordering is cosmetic. It isn't. Strict and any-order answer different questions, and a tool that only runs its deeper analysis in strict mode is telling you the choice is load-bearing.

Pre-flight funnel spec checklist

Before you claim one funnel beats another, fill this in for both charts:

  • Order mode — strict/specific or any order?
  • Window — how long, and who set it (you, or a vendor default)?
  • Counting unit — unique users or events?
  • Entry rule — open or closed?
  • Re-entry — first sequence only, or every completion?
  • Date range vs window — does the date picker gate entry, and does that interact with your window?

If those six answers don't match across the two charts, you don't have a comparison. You have two different studies wearing the same axis labels. This same discipline applies when you compare cohorts too. See how acquisition and behavioral cohorts diverge for the sibling version of this problem.

Quick reference: vendor defaults at a glance

Tool Default window Default order Entry model
Amplitude 1 day (any-order settable 1–90 days) Any-order available; conversion-drivers needs strict First step must fire in date range
Mixpanel 7 days (max 366) Specific order Specific/any-order supported
GA4 Sequence-based Open or closed toggle; first sequence only on re-entry

Learn your tool's defaults before you trust a single chart. Most funnel arguments I've sat through were really arguments about a setting nobody had opened.

FAQ

Why do my two funnel tools show different conversion rates? Almost always a spec mismatch, not a data error. Check the window first (Amplitude defaults to one day, Mixpanel to seven), then order mode, then whether one counts events and the other unique users, then open vs closed entry.

Does a longer conversion window mean my product improved? No. Longer windows count more conversions by definition, because slow finishers stop timing out. If the window changed between two periods, that's a measurement change, not a product win.

Is an open or closed funnel "correct"? Neither. Closed answers "of people who started at step 1, how many finished?" Open answers "for each step, what's the pass-through?" Pick based on your question, and never compare an open number to a closed one.

Should I count users or events in a funnel? For "what fraction of people converted," count unique users, since most tools count each person once via their earliest or most-complete path. Event counting is for volume questions, and it can flatter a step when a few users repeat it.