Analyse behaviour › Tools

Flows: the paths users take

Flows shows, as a Sankey diagram, the order in which users move between events you choose: what they do after a step, before it, and where they stop.

On this page

What it is for

A funnel checks one route that you already expect. Flows shows the routes users actually take between a few events that you choose, with loops and detours. Flows sees only the events that you add as steps.

Example questions

Flows answers "which of these came next", not "what did they do next" across all the events your product records.

  • What happens after pricing? Of the users who view your pricing page, how many start checkout, how many book a demo and how many do neither?
  • Do users follow onboarding as designed? Do new users go Create project → Invite teammate → Connect data? Or do they invite first, or go back and forth?
  • What comes before an upgrade? Did users who upgraded hit a plan limit first, open billing settings first or both?
  • Where do users stop? After which of these steps does nothing more happen?

How it works

Each step is a filter. Sequential builds one path for each user from the events that match your steps, for example Pricing → Checkout → Pricing → Upgraded. Sequential then counts how many users share each path.

How a path is built

For each user with a matching event in the date range, Sequential does this:

  1. It takes the user's matching events, oldest first.
  2. It labels each event with every step that the event matches, in step order. An event that matches steps 1 and 2 gives 1, then 2.
  3. If the same step comes two times in a row, it keeps only one.

Each step uses the same condition builder as the rest of Sequential.

  • Each user has one path for the whole date range. Flows does not keep visits apart. Pricing on Monday and checkout on Friday is the path Pricing → Checkout.
  • A path starts at the first of your steps that the user did. This is not always Step 1.
  • A user is a person. It is the user id, exactly as stored. With the Sequential SDK, PostHog or Mixpanel, an anonymous id that identify links to a value counts as that value. See Users and identity.
  • Flows does not limit how long the next step can take.

Build a flow

  1. In the left rail, open Explore and click Flows.
  2. Set the dates in the bar at the top. The first time, the range is the last 10 days, in whole UTC days. After that, the page opens on the range that you last applied or ran here.
  3. In Flow steps, click + Add step.
  4. Replace the default name Step 1 with your own name.
  5. Click + Condition.
  6. Choose a Field. Usually this is Event Name, Event Type or URL.
  7. Type the Value. A field condition matches the exact value. For a property, choose a type and an operator first.
  8. Add the other steps. To reorder them, use ↑ and ↓.
  9. Click Run. The results appear under User flow.

To let one step catch any of several events, switch its selector from All of to Any of.

An event that matches two steps is in both. From 9 October 2026, a flow whose steps can match the same event can show longer paths than before. Before that date, an event went only to the first step that it matched. The agent tool user_flows uses the same rule, and its count for each step is the number of people with an event that matches that step.

Use a saved filter as a step

  1. In Flow steps, click + Step from saved view, next to + Add step.
  2. Pick a saved filter. Greyed-out filters show why you cannot use them.
  3. Click Run.

To put a saved filter into a step that you already have, click Replace with saved view on that step.

The step is a copy. Change it as you like: the saved filter does not change. If the saved filter changes later, the flow does not change. The step shows From saved view: and the name of the filter. To copy the current conditions of the filter again, click Update from view. See Use a saved filter as a funnel or flow step.

Step conditions and explanations
  • The diagram shows the name that you give a step.
  • To pick a Value from the stored values, click the value box.
  • Example of step order: put "Viewed pricing" (a URL) above "Any page view" (Event Type pageview). If you do not, the pricing step never gets an event.
  • By default, the selector at the start of a step reads All of, so a step matches only if all its conditions match. Two Event Name conditions with different values then match nothing.
  • Sequential ignores a condition with no value.
  • A step with no conditions, or only unfinished ones, matches every event that no step above it matched.
  • To check one step in plain words, click its ? (Explain step filter).
  • To describe all the steps, click Explain.

Save a flow

  1. Click Save.
  2. Enter a Flow name.
  3. Click Save flow. The flow appears in the Saved flows: strip and on Dashboard.

The dialog shows what it saves, for example "3 flow steps with their configurations" and the date range. With one step, it says "1 flow step with its configuration".

A saved flow keeps the steps and the exact dates. It does not keep a rolling range.

Saved flows belong to the project. Everyone in the project sees them. Owners, admins and members can rename and delete any saved flow. Viewers can only open them.

Saved flows
  • When you open a saved flow, Sequential loads it but does not run it. Click Run.
  • Each project has its own saved flows. Everyone in the project sees the same list.
  • Hover over a saved flow to see who changed it last, and when.
  • To rename a saved flow, click ✎. To delete it, click ×. Sequential deletes it for everyone in the project.
  • You cannot change the steps or dates of a saved flow. Save a new flow, then delete the old one.

See Filters, date ranges and saved views.

Read the results

Each column of the diagram is a position in the users' paths: the first of your steps that each user did, then the next, and so on. Block height is the number of users.

  • Blocks named Users who left after initial step, Users who left after second step and so on hold users whose path ended there. Flows draws them all in the right-most column, so go by the name.
  • "Left" means that the user did none of your steps again before the end of the date range. The user can still have used your product in that time.
  • For exact figures, use the tables, not the hover text. Total Events counts users, not events.

To see what comes before a step, find it in Most common paths and read to its left.

Flow summary tiles and tables
Tile or table What it shows
Total steps The steps you defined.
Unique paths How many different paths users took.
Total Events Users, not events. It counts each user with at least one event that matches a step.
Total drop-offs Users whose path ended before the last column.
Drop-off analysis Each drop-off block (Where users left) with its Users.
Most common paths The five most common paths in full, with their Users.
Diagram details and AI prompt
  • The links between columns show who went from which step to which.
  • One column can hold several of your steps. One step can appear in several columns.
  • "Second step" in a drop-off name means the second position in the user's path, not your Step 2.
  • The hover text shows "% of all users in this analysis". Its total counts each user once for every column they reach. So the percentage reads low.
  • Flows does not list the users behind a path. The nearest is Funnels. In Funnels, the drop panel lists the people who left at a drop. These users reached one of your steps, in your order, but not the next step.
  • A Funnels drop-off is a different set from a Flows drop-off block. A Flows drop-off block holds users whose path, in any order, ended at that position.
  • After a run, AI prompt writes your steps and these results as text. To copy the text for an AI assistant, click Copy prompt.

What it needs

  • One user id for each person. Pass the same value to identify for the same person every time. See Identify your users.
  • Events that you can tell apart by an exact value. Custom events with fixed names, such as checkout_started, make the clearest steps. See Send custom events.
  • Differences in the event name. A step cannot select on an event's own properties. So put the difference that you need in the event name.

Without identify, each browser or device is a separate user. With the Sequential SDK, PostHog or Mixpanel, Flows joins the events sent before identify to the identified user. So a visitor who signs up during the date range has one path, and counts once at each step. With Amplitude, Pendo or Smartlook, that visitor shows as two paths.

User ids and anonymous events
  • Call identify as soon as you know who the user is. Also call it on page load for users who are already signed in.
  • Events sent before your app calls identify carry an anonymous id. With the Sequential SDK, PostHog or Mixpanel, Flows joins them to the identified user, also when the visitor identifies after the date range. So the result for a past period can change. A new link can take up to 5 minutes to apply.
  • With Amplitude, Pendo or Smartlook, for a visitor who signs up during the date range, one path ends at signup and the other path starts there.
  • Events with no user id are not a user. They are in no path and in no step count.
  • Every role in your organisation can run flows. See Roles and permissions.
Values that a step can match
  • Event Type takes the stored type, such as pageview. It does not take the display name, Page view. See Events.
  • A URL step must match the whole stored address, with the scheme and host. For example: https://app.example.com/projects/123.
  • /projects/123 alone matches nothing. Each project's address is a separate value.
  • Sequential drops anything after #. It stores most query values as [redacted]. See What Sequential keeps from page URLs.
  • Event Property matches an event's own properties, with a type and an operator. So a step can be upgraded with plan is pro, or checkout_completed with amount > 100.
  • If "upgraded to Pro" and "upgraded to Team" must be separate steps, send separate event names.

Limits

Limit What happens
No per-visit view Each user has one path across the whole range. To focus on recent behaviour, shorten the range.
No timing Flows does not measure the time between steps. Funnels shows the average time between steps.
Exact field matches A field condition, such as URL, matches one whole value. Only property conditions have other operators.
30-second time limit A longer flow stops with Something went wrong. Shorten the range or make the steps more specific.
Up to 10 columns The diagram draws no more than 10 columns.
Saved flows You can rename a saved flow, but you cannot change its steps or dates. Save a new flow instead.
No user list Flows does not list the users behind a path.
  • Events with no user id are in no path.
  • A step with no finished condition matches every event that the steps above it did not match.
  • A URL step must match the whole address, such as https://app.example.com/pricing. A path alone, such as /pricing, matches nothing.
How the four-step labelling fails

With four or more steps, the diagram, Drop-off analysis, Most common paths and the AI prompt text currently show later steps under an earlier step's name:

Your steps Shown as
Fourth and fifth The third
Sixth to eleventh The fourth
Twelfth to twenty-second The fifth

The pattern continues for more steps. Then, if two steps next to each other in a path now have the same name, Flows merges them.