User Flow Design: How to Map Better Digital Experiences
What user flows are, how they differ from task flows and journey maps, and how to map happy, alternative and error paths for websites, stores, SaaS and apps.
Quick answer
User flow design means mapping the steps a person takes to complete one task in your product: where they enter, what they see, what they do, which decisions they face and where they can end up. A good flow covers the happy path, the alternative paths and the error paths, not just the ideal route. Map one user and one goal at a time, count the steps, remove or defer anything that doesn't help the user reach the goal, then validate the flow with a prototype and real users before building it.
What Is a User Flow?
A user flow is a diagram of how someone completes a specific task inside a product: signing up, finding a product, inviting a teammate, booking an appointment. Nielsen Norman Group describes flows as the typical or ideal steps for a common task within a product, usually completed in minutes, drawn as flowcharts or wireflows.
Flows sit between research and screens. They turn what you learned about users into a sequence you can design, and they make gaps obvious before anyone draws a detailed interface. In the UX design process, they usually come after information architecture and before wireframes.
User Flows vs Task Flows vs Journey Maps
These artifacts are often confused. They work at different zoom levels.
| Artifact | Scope | Shows | Best for |
|---|---|---|---|
| Journey map | A broad goal across channels and time | Stages, touchpoints, thoughts, emotions | Understanding the whole experience |
| User flow | One task in one product, with branches | Screens, actions, decisions, outcomes | Designing and reviewing interactions |
| Task flow | One task, one linear path | Steps only, no decisions | Agreeing the core sequence |
| Wireflow | A user flow drawn with screens | Layouts plus the connections between them | Reviewing flow and design together |
The Parts of a User Flow Diagram
Agree a simple notation and use it everywhere. Most teams need only a few shapes.
| Element | Usual shape | Example |
|---|---|---|
| Entry point | Rounded or filled box | Ad landing page, push notification, search result |
| Screen or state | Rectangle | Cart, sign-in screen, empty dashboard |
| User action | Arrow label | Taps “Add to cart” |
| Decision | Diamond | Signed in? Payment approved? Item in stock? |
| System response | Rectangle or note | Email sent, error shown, data saved |
| End state | Distinct box | Order confirmed, account created, user exits |
Happy Paths, Alternative Paths and Error Paths
The happy path is the shortest route when everything goes right. It's where most design attention goes and, ironically, where fewest problems live.
Alternative paths are legitimate routes that differ from the ideal: checking out as a guest instead of signing in, saving an item for later, choosing collection instead of delivery, entering through a deep link instead of the homepage.
Error paths start when something goes wrong: a declined card, an expired link, an out-of-stock item, a failed upload, a lost connection. A flow is only complete when every error path leads somewhere useful, ideally back onto the main path without losing the user's work.
Pro tip
For every decision diamond, ask “and if not?” Each unanswered “if not” is a screen or state that developers will otherwise have to invent.
How to Design a User Flow, Step by Step
- Choose one user type and one goal, such as “returning customer reorders a product”
- List every entry point: homepage, search, email, notification, shared link
- Write the steps to the goal as plain sentences before drawing anything
- Mark each decision the user or system makes
- Add alternative paths and every error path, with where each one leads
- Count the steps and inputs; question each one
- Turn the flow into a wireflow or low-fidelity prototype
- Validate with users and adjust the flow, not just the screens
Example: Authentication Flow
Sign-in looks simple until you map it. A complete flow covers new and returning users, social or passkey sign-in if offered, forgotten passwords, expired reset links, locked accounts, email verification, two-factor authentication and what happens when a user who signed up with one method tries another.
Mapping these branches early prevents a common problem: users stuck in a loop between “account already exists” and “no account found”. For implementation detail, see mobile app authentication.
Example: Ecommerce Checkout Flow
The diagram at the top of this article shows a simplified checkout flow. From the cart, the flow branches on whether the shopper is signed in; guests go through a guest or sign-in choice and rejoin the main path at delivery. From payment, a declined card leads to an error state that keeps the shopper's details and offers a retry, rather than sending them back to the start. Saving an item for later is an alternative path from the cart.
Mapping checkout this way makes hidden costs of each branch visible, such as the number of fields a guest must complete. The ecommerce checkout UX guide covers the design of each step.
Example: SaaS Invite-a-Teammate Flow
Inviting a colleague is often the moment a SaaS product becomes a team product, and it has more branches than it seems: the inviter's permission level, whether the invitee already has an account, whether the email domain is allowed, seat limits on the current plan, pending invitations, expired links and what the invitee sees when they arrive. Each branch needs a clear message and a route forward. See product design for SaaS for how flows like this affect activation.
Mapping a complex flow before you build it?
ZSpace designs user flows, wireflows and prototypes, then tests them with users before development starts.
Example: Mobile App Flow
Mobile flows need branches that web flows often don't: permission prompts (and what happens if the user declines), entry through a push notification or deep link straight into a screen deep in the app, the app being backgrounded mid-task, offline states and biometric sign-in. A booking flow, for example, should specify what happens if the chosen slot is taken while the user is entering details, and how they return to the booking after a phone call interrupts them.
Identifying Friction in a Flow
Once a flow is mapped, review it for signs of unnecessary effort.
- Steps that ask for information the product already has
- Decisions the user has to make before they have enough information
- Dead ends with no route back to the main path
- Error paths that restart the whole task
- Account creation or setup required before any value is delivered
- Screens that exist for internal reasons, not user needs
- Branches that behave differently from similar branches elsewhere
Simplifying Steps
| Technique | Example |
|---|---|
| Remove | Drop the “confirm email” field and let users correct typos later |
| Merge | Combine delivery method and address on one step |
| Defer | Ask for team details after the first project is created |
| Default | Preselect the most common delivery option |
| Prefill | Use saved addresses, browser autofill and address lookup |
| Reorder | Show costs before asking for personal details |
Validating User Flows
A flow on a whiteboard is a hypothesis. Validate it by building a clickable prototype and running usability tests with realistic tasks. For live products, compare the mapped flow with funnel analytics: if many users leave at a step the flow considered trivial, the map is missing something. If users can't find where a flow starts, the problem may be structural, which is where information architecture and user flows meet.
Tools for Mapping User Flows
Sticky notes and a whiteboard are enough for early flows. For shared, lasting flows, teams commonly use FigJam, Miro or Figma itself, which keeps flows next to the designs they describe. See Figma for product design for how teams organize this. Keep flows versioned and linked from tickets so developers work from the current one.
Common User Flow Mistakes
- Mapping only the happy path
- Mixing several user types and goals in one diagram
- Assuming every user starts on the homepage
- Inventing notation that others can't read
- Letting flows go out of date once screens are designed
- Treating the flow as final without testing it
Want clearer flows across your product?
Talk to ZSpace about UI/UX design that starts with flows and ends in tested, buildable screens.
Conclusion
User flows turn a goal into a designed sequence. Map one user and one task at a time, include alternative and error paths, simplify ruthlessly and validate with users. Flows then become the backbone of wireframes, prototypes and developer handoff. For where flows fit in the bigger picture, see the product design process.
Common questions
A diagram of the steps a user takes to complete a specific task in a product, including the screens they see, the actions they take, the decisions along the way and the possible outcomes.