Skip to content
UI/UX

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.

ArtifactScopeShowsBest for
Journey mapA broad goal across channels and timeStages, touchpoints, thoughts, emotionsUnderstanding the whole experience
User flowOne task in one product, with branchesScreens, actions, decisions, outcomesDesigning and reviewing interactions
Task flowOne task, one linear pathSteps only, no decisionsAgreeing the core sequence
WireflowA user flow drawn with screensLayouts plus the connections between themReviewing 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.

ElementUsual shapeExample
Entry pointRounded or filled boxAd landing page, push notification, search result
Screen or stateRectangleCart, sign-in screen, empty dashboard
User actionArrow labelTaps “Add to cart”
DecisionDiamondSigned in? Payment approved? Item in stock?
System responseRectangle or noteEmail sent, error shown, data saved
End stateDistinct boxOrder 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.

Start a Project

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

TechniqueExample
RemoveDrop the “confirm email” field and let users correct typos later
MergeCombine delivery method and address on one step
DeferAsk for team details after the first project is created
DefaultPreselect the most common delivery option
PrefillUse saved addresses, browser autofill and address lookup
ReorderShow 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.

Start a Project

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.

FAQ

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.

Get in touch

Have a project in mind?

Whether you're building a new digital product, improving an existing website, or looking to automate part of your business — let's talk.