Analyze a conversion funnel

Paste an event log (user, event, optional timestamp) and get unique users, conversion, and drop-off for every funnel step. Runs entirely in your browser — nothing is uploaded.

Try:
Funnel report

About this tool

Funnel Conversion Analyzer turns a raw event log into a step-by-step conversion funnel. Paste a CSV/table where each row is one user event — a user-id column and an event-name column — and the tool counts the unique users who reach each step, then reports conversion from the top step, conversion from the previous step, and the users lost (drop-off) at every stage.

List your funnel steps in order (for example view,signup,purchase), or leave the steps field empty to auto-derive them from the distinct events in the order they first appear. Everything runs locally in your browser as WebAssembly — your event data is never uploaded.

Worked example

Input:

user,event
u1,view
u1,signup
u1,purchase
u2,view
u2,signup
u3,view

With steps view,signup,purchase, the default table output is:

Funnel: 3 step(s), 3 total user(s)
1. view: 3 users | 100% of top
2. signup: 2 users | 66.67% of top | 66.67% from prev | drop 1 (33.33%)
3. purchase: 1 users | 33.33% of top | 50% from prev | drop 1 (50%)
Overall conversion: 33.33%

All three users viewed, two signed up (33.33% drop), and one purchased (50% drop from signup) — an overall conversion of 33.33%.

Options

Limits

FAQ

What is the difference between strict and independent (unordered) funnels?

With Strict order on (the default), a user only counts toward a step if they completed every earlier step — the classic drop-off funnel. Turn it off and each step counts every user who performed that event, regardless of the others, which is useful when steps can happen in any order.

How are conversion and drop-off rates calculated?

Each step shows conversion from the top (users at this step ÷ users at the first step) and from the previous step (users here ÷ users at the step before). Drop-off is the users lost since the previous step, and the drop-off rate is that loss ÷ the previous step's users. All percentages are rounded to two decimals.

Do I have to list the funnel steps myself?

No. Leave the Funnel steps field empty and the tool auto-derives the steps from the distinct events in the order they first appear in your data. List them explicitly when you want a specific order or only a subset of events.

Does the timestamp column matter?

Only for strict funnels. When you provide a Timestamp column, reaching a step requires it to occur after the previous step in time, so a user who purchased before signing up would not count as a completed signup→purchase. Numeric epochs and ISO-8601 strings both sort correctly.

Is my event data uploaded anywhere?

No. The tool is compiled to WebAssembly and runs entirely in your browser. Your event log never leaves your device.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool funnel-conversion-analyzer "user,event
u1,view
u1,signup
u1,purchase
u2,view
u2,signup
u3,view"

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/funnel-conversion-analyzer/?data=user%2Cevent%0Au1%2Cview%0Au1%2Csignup%0Au1%2Cpurchase%0Au2%2Cview%0Au2%2Csignup%0Au3%2Cview&steps=view%2Csignup%2Cpurchase&user=user&event=event&time=ts&ordered=true&header=true&delimiter=comma&format=table

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.