To find where users drop off in your web app, write down the few steps that lead to your key action, track each one and chain them into a funnel. The step that loses the most people is where you look first, and after that you find out who those people were and what they did right before they left.
In this guide, we show you how to do it with Spreelytics, which we make. It's free up to 1 million events a month and there's nothing to host. The process has seven steps:
- Pick the path that matters
- Make sure every step is tracked
- Build a funnel
- Find the biggest drop
- See who drops
- Look at the people who left
- Change one thing and compare
1. Pick the path that matters
Start with one path. Write it as the screens a new user passes through between their first visit and the moment your app is useful to them, for example landing page, pricing, sign-up and then a first real action like creating a project or inviting a teammate.
Keep it short. Spreelytics takes up to eight steps in a funnel, but every extra step slices the loss into thinner pieces, and four or five are easier to read.
Make the last step the action that predicts people staying. Sign-up isn't it. Lots of people sign up and never open the app again.
2. Make sure every step is tracked
Put the tracking script in the <head> of your app and Spreelytics records a
pageview for every page, page changes in single-page apps included, with no router code. The snippet is one tag with the key from Settings → Tracking script:
<script src="https://cdn.spreelytics.com/cdn/sdk/spreelytics-loader.js" data-client-key="YOUR_CLIENT_KEY"></script>
Clicking "Create project" often leaves the URL as it was, so that step needs a named event. The quickest way is a data attribute, and each click on the element then sends an event named after its value:
<button data-spree-track="project_created">Create project</button>
You can also send it from your own code once the action has worked:
Spreelytics.track("project_created");
Prefer the code version for anything that can fail, since a click is only an attempt.
When someone signs up or logs in, also call identify() with their email:
Spreelytics.identify("ada@example.com");
New projects start cookieless, which means an anonymous visitor who finishes on a different day from the one they started counts as two people. That pulls conversion rates down. People you identify are counted once, and what that browser did before joins their profile.
3. Build a funnel
In Spreelytics every funnel step is a goal, so create the goals first. Open Goals, click
Add goal, then choose Pageview for a page step and type its path, such as /pricing. For an
action, choose Custom event and pick project_created from Event name.
Now open Funnels and click Add funnel. Name it, pick a goal for each step in order, and set the conversion window. Seven days is a fair start for a sign-up path, so someone who lands on a Monday has until the next Monday to finish. Leave Exact order off unless a step coming early should end the attempt. Click Add funnel to save.
A funnel counts data you already have, so the one you made today shows last month's numbers the moment you pick last month.
4. Find the biggest drop
The chart has one band per step, as tall as the number of people who reached it, with the share lost between each pair. Hover a step. Dropoff is the people who reached the step before but not this one, and Conversion is this step's people as a share of the step before.
A big loss between your landing page and pricing is normal for almost any site, since most visitors are only looking. The same loss between sign-up and the first real action hurts far more, because those people already handed you an email address and still walked away. Start near the end of the path.
Check the date range too. If only a handful of people reached step one, a gap of three users can look like a trend.
5. See who drops
Hover the step before the drop and read Top sources and Top countries, then hover the step after it. A source that's large at step two and missing at step three is the traffic you're losing.
Next, click Filter in the toolbar. On the Funnels page you can narrow the funnel by channel, source, UTM tags, browser, operating system, device, location or a segment. Page, event and goal filters are left out there because they'd clash with the steps. Try Device set to Mobile, note the drop, then switch to Desktop.
Say mobile loses far more people at sign-up. Then you open the form on a phone before you rewrite a word of copy.
6. Look at the people who left
To learn why people stopped, click the step before the drop to see the sessions behind it and open a few that never got further. Each visitor links to a profile, and its Timeline lists every session, newest first, with the pages, events and payments in each. Read five or ten of them and look for the screen they keep leaving from.
To see where they went instead, open Journeys. In the Step explorer, pick the page before the drop and the next card lists where those visitors went from there. No further action counts the ones whose visit simply ended on it.
On the Growth plan, from $59 a month, you can watch it happen. With session replay switched on, sessions and profiles show Watch replay, which plays the visit with its clicks and events listed beside it. Replay only records visitors tracked with cookies, so turn off Cookieless tracking under Settings → Tracking script first. Session replay covers recording and masking.
7. Change one thing and compare
Pick the likeliest cause and fix that alone. If you change the form and the pricing copy in the same week and the drop shrinks, you won't know which change did it.
Mark the day you ship. Open References, click Create reference, give it a title like "Shorter sign-up form" and pick the date. It shows up as a dashed line on the Overview chart and on your reports.
Give it time. Wait at least your conversion window plus a week or two, then set the date range to the weeks before the change and note the step's conversion. Do the same for an equal stretch after it. Did the drop shrink? Keep the change and move on to the next biggest gap. If it didn't move, undo it and try the next idea on your list.
The same steps work in other tools. GA4 has funnel explorations and Mixpanel has funnel reports, and you'd name events and build the funnel a little differently in each.
Final thoughts
Finding drop-off comes down to seven steps. Pick one path, make sure each step is tracked, build a funnel, find the biggest drop, see who drops, look at the people who left, and change one thing before you compare. Then go back to step 4 with the next gap.
Funnels shows what the funnel view looks like in Spreelytics. To read more, web analytics vs product analytics explains why one tool can track the visit and what happens after it, and how to add analytics to a Lovable app walks through the snippet and the first funnel for an app built with AI.