User Flows

explorationlowerBeginner

TL;DR

Diagrams that map the paths users take to complete tasks.

What is it

User Flows are diagrams that represent the step-by-step paths a user takes to complete a task within a product. They map decisions, actions, and possible outcomes, showing both the ideal path and alternatives and errors.

What it is for

  • Visualize all possible paths to complete a task
  • Identify decision points and possible flow exits
  • Communicate interaction logic to the development team
  • Detect excessively long or complicated flows

Research methods that feed it

Task AnalysisUsability tests (observing real paths)Behavioral analytics (most frequent flows)Interviews about current processes

When to use it

  • When designing a new feature or flow
  • To document interaction logic before development
  • When the team needs to visualize process complexity
  • To identify where to simplify an existing flow

When NOT to use it

  • For experiences without sequential flow (like an exploration dashboard)
  • If the flow is trivial (2-3 obvious steps)
  • As a substitute for prototypes — flows don't show the visual interface

How to create it step by step

  1. 1Define the objective: What task the user wants to complete (e.g., 'Schedule an appointment').
  2. 2Identify entry point: Where the user starts (homepage, email, direct search, etc.).
  3. 3Map each step: Document each action, decision, and screen the user sees in sequence.
  4. 4Add branches: Include decisions (yes/no, multiple options) and where each path leads.
  5. 5Include errors and edge cases: Map what happens when something goes wrong (validation error, timeout, etc.).
  6. 6Simplify: If the flow has more than 7-10 steps, look for where to eliminate or combine steps.

Tips for small teams

  • Use simple notation: rectangles for screens, diamonds for decisions, arrows for flow
  • No special tools needed — a whiteboard is enough to start
  • Map only the most critical flows (top 3-5 tasks)
  • Share with development early to anticipate technical complexity

Common mistakes

  • Mapping only the 'happy path' and ignoring errors and branches
  • Creating overly detailed flows that nobody can read
  • Confusing user flows with system flows (backend)
  • Not validating flows with real user behavior

Contextualized example

Context: Restaurant booking app.

Mapped flow: Search → Filter → View restaurant → Select time → Has account? (Yes → Login → Confirm | No → Quick registration → Confirm) → Confirmation.

Finding: The original flow had 11 steps for new users. Analysis revealed that the 'create account' step caused 35% abandonment. Solution: move registration to after booking ('book as guest') → abandonment dropped to 12%.

Related deliverables

Free tool by UXR — UX Research Consulting in Chile