← Back to deliverables selector
ExplorationlowerBeginner

User Flows

Diagrams that map the paths users take to complete tasks.

What is it

Category: Interaction design

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 make it

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 it is made

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

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%.

How to tell it is done well

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

Keep going

Phase

Exploration

Audience

product-teamdevelopment

Complexity

lower

Experience level

Beginner
Last updated: