River
Y CombinatorBacked by Y Combinator

Free template

User Flow and Journey Map

Sheets and documents for building a user journey map from product data: every step counted, every route ranked, every feeling backed by evidence.

Free download · No account needed

What you get

Pack of 7 files: 4 documents, 3 spreadsheets

User Flow and Journey Map
  • How the Journey Is DerivedDocument
  • Path MapDocument
  • Journey NarrativeDocument
  • Friction Findings and What They CostDocument
  • Step RegisterSpreadsheet
  • Path InventorySpreadsheet
  • Emotion and Evidence MapSpreadsheet

How to create a user journey map

A user journey map lays out, in order, the steps a person takes to reach one goal with your product, and what they do, think and feel at each one. A good map follows one kind of user from a named start to a named outcome. It counts how many people reach and leave each step, including waits and silent failures that nobody drew. And it backs every feeling with evidence, such as a recording, a support ticket or an interview quote.

Draw it from what people did, not from how the product was designed. The design shows one intended path; your event data shows every path people took, including the ones that ended early.

A hand connecting printed app screens on a wall with pins and black string
A wall of screens shows the designed path; your data shows the others. Photo: Alvaro Reyes on Unsplash

Choose one user journey and one outcome

In a 2016 survey, Nielsen Norman Group asked 48 UX practitioners when journey mapping fails1. The most common answer (36%) was a map whose purpose was not clearly defined upfront. Without that focus, participants said, maps become too general and unfocused.

Write the scope as one sentence before you open any data: who, from where, to what outcome, within what window. For example: new accounts, from signup to sharing a first report, within 90 days. Make the start and the outcome events you can count, since every number on the map depends on them.

Keep to one kind of user per map, because a new customer and an administrator take different journeys. Give people time to finish, too. If the median account takes 7 days to reach the outcome, a 7-day window misses about half the people who eventually get there.

Gather the evidence before you draw

The second most common answer in that survey (25%) was a map not based in reality: built from preconceptions and assumptions, then never checked against research. Collect the evidence first, and date every piece of it.

Where journey evidence comes from

SourceWhat it showsWhat it can't show
Event dataWho reached each step, how long it took, where they leftWhy they left
Session recordingsHow a step goes wrong, click by clickHow often it happens
Support ticketsWhat broke, in the customer's own wordsPeople who left without writing
Interview notesGoals, expectations and feelingsExactly where someone stopped
Your current mapWhat the team believes happensWhether any of it is true

Ask whoever runs your analytics for event data by account, not a dashboard summary. If your interviews are still raw transcripts, a user research synthesis turns them into themes backed by each person's exact words.

List every step, including ones nobody designed

Start from the event stream, not the design file. List what the accounts that reached the outcome did, in order, and mark each step as designed or not. Keep steps apart when they lose people for different reasons, such as choosing a data source and authorizing it.

Three kinds of step a designed map misses

KindExampleWhy it's missed
WaitA first data sync, an approval, a verification emailIt isn't a screen, so nobody draws it
System outcomeA report that loads with nothing in itDesigns show the success case
PrerequisiteInviting a colleague before you can shareThe design assumes it's already done

Waits need their own row. The usability researcher Jakob Nielsen puts the limit for keeping a user's attention on a task at about 10 seconds2. For longer delays, he writes, people want to do something else while they wait. A sync that takes 30 minutes is a step people can walk away from.

An empty result needs its own row too. Nielsen Norman Group notes that a totally empty screen leaves people unsure whether the system is working3, or whether they set something up wrong.

Count the routes people really take

Group the accounts that reached the outcome by their exact sequence of steps, count each distinct route and rank them. Then find the designed path in the ranking and state its share of everyone who finished; even in first place, it may be a minority.

Build the routes from raw events rather than a path report. Google Analytics' path exploration, for example, shows the top five nodes in each step, up to 20 if you expand it, and groups the rest into an "Others" node4. Sessions add a second blind spot. Google Analytics ends a session after 30 minutes of inactivity5 by default, so in a session-based funnel a longer wait looks like an exit.

  1. Export by account

    Pull every event with an account ID and a timestamp, for the whole window.

  2. Clean the step names

    Strip record IDs from page paths, so /reports/4821 and /reports/977 become one step.

  3. Stitch across sessions

    Order each account's events by time across the whole window, ignoring session breaks.

  4. Keep the repeats

    A step someone repeats before passing is failing for them, so don't deduplicate it away.

Check the arithmetic

The number reaching each step should only go down, and the losses should add up to everyone who started minus everyone who finished. If they don't, people skip or reorder steps, or something was counted twice.

Back every feeling with evidence

Thoughts and feelings are the easiest parts of a map to make up. Nielsen Norman Group's primer says the thoughts should ideally be customer verbatims from research6; hold the feelings to the same standard. For each one, attach a recording, ticket or quote you can place at that step. If you can't, keep the claim, label it an assumption and count how many you have.

Date the evidence, because interviews from before a redesign describe a screen that no longer exists. Then measure effort apart from loss. A step people struggle through but finish is a cost; a step they quietly leave is a wall, and the two need different fixes.

ExampleKingsmoor: where the team said it hurt, and where people leftAn illustrative example written for this guide. Kingsmoor is a made-up company; the template's sheets use the same figures.

Field picker: a median 6 min 36 s on the step, 58% come back to it, 267 accounts lost (2.8% of signups). The old map drew its emotional low here, citing six interviews from 14 months ago.

First data sync: a median wait of 30 min 40 s, 1,764 accounts lost (18.7% of signups). The old map had no box for it, and no research covered it.

  • Effort is not loss. The field picker is the hardest screen, yet the sync loses 6.6 times as many accounts.
  • Stale evidence. All six interviews predate a rebuild of the field picker.
  • A blank is a finding. Nobody had studied the wait, because it isn't a screen.

Rank what to fix by people lost

Rank findings by how many people each step loses, then match the fix to the kind of step. A wait needs to get faster, stop blocking or give people something worth doing. A silent empty result needs a message saying what happened. A screen people keep retrying is usually failing for them, so fix what breaks before you touch the wording.

The practitioner survey's third most common answer (21%) was a map that nobody shares or uses, so give each finding an owner. Before anyone builds a fix, watch people try the step and write a usability test report on what stopped them. Then score the fixes with a RICE prioritization template.

Before you share the map

  • It covers one kind of user, one start and one outcome
  • Every step shows how many people reached it and how many left
  • Waits, empty results and prerequisites have their own rows
  • Routes are ranked, and the designed path's share is stated
  • Every feeling cites dated evidence or is labeled an assumption
  • The hardest step and the biggest loss are named separately

The template on this page lays this out in three sheets and four documents, filled in with the Kingsmoor example. Open it with Edit with AI and River rebuilds the routes from your event export and finds the step that loses the most people. Then it offers to audit your current map.

How to use this template

Use the files as they are. Read How the Journey Is Derived first, then fill the three sheets from your own data before writing the Path Map, Journey Narrative and Friction Findings. They come filled in with Kingsmoor, a made-up B2B product, so you can see every column in use.

Or open it with Edit with AI. River asks for event data at account level, any recordings, tickets or interview notes with their dates, the map you already have, and one sentence naming the outcome. It rebuilds the routes from raw events and says how it handled sessions and record IDs. Then it tells you how many steps your product really forces, the outcome rate and which step loses the most people.

  1. Download it or open it in River

    Download four Word documents and three CSV sheets with no signup, or open them in River and let it do the counting.

  2. Send what you have

    Share account-level event data, dated research, your current map and your outcome. Event data alone fills the Step Register and Path Inventory.

  3. Get the real step count

    River rebuilds routes from raw events, then reports the steps your product forces, the outcome rate and the biggest loss.

  4. Go deeper, then share

    Ask River to rank every route or audit your current map against the data, then edit, share or ask for changes.

What's in the template

Five boxes on the map, nine steps in the product, 214 routes through itSteps taken from the event stream instead of the flow diagram, routes ranked by volume, and every claim on the emotion row checked against the accounts that made it.
User Flow and Journey Map
RiverStep Register

Step Register

Nine steps, six of them drawn, and the biggest loss is on one that was not

Illustrative, for a fictional B2B product called Kingsmoor. Signup to a report shared with a colleague: 9,412 accounts entered in a ninety-day window and 2,806 reached the outcome, which is 29.8%. Rows come from the event stream rather than from the flow diagram.

StepOn the mapKindReachedLost hereMedian timeRepeated
Sign upYesScreen9,41201m 11s3%
Create workspaceYesScreen8,1091,30344s2%
Choose a data sourceYesScreen6,6341,4752m 18s19%
Authorise the connectionYesScreen5,2181,4163m 34s31%
First sync completesNOWait3,4541,76430m 40s44%
Pick fields for the reportYesScreen3,1872676m 36s58%
Report renders with data in itNOSystem outcome2,9712161m 2s27%
Invite a colleagueNOScreen2,884871m 49s11%
Share the reportYesScreen2,8067838s4%

The workshop drew its emotional low at the field picker, which loses 267 accounts and has the highest effort of any screen. The sync wait loses 1,764, is 6.6 times larger, and had no box on the map because it is not a screen. Effort and loss stay in separate columns for exactly this reason.

RiverPath Inventory

Path Inventory

214 distinct routes, and the designed one carries 15.4%

Every sequence of steps that reached the outcome, deduplicated and ranked by accounts. Rebuilt from raw per-account events rather than from a path exploration report, which groups everything past its top twenty nodes into a single aggregate.

RankStepsAccountsShareRoute
1943115.4%The designed path, no repeat and no detour
21440214.3%Report renders empty, back to the source, reconnect wider, through again
31338813.8%Invites a colleague first, then exports to a spreadsheet and returns
41729710.6%Three data sources tried before one syncs
5122418.6%Builds from an uploaded sample, connects the real source later
6 to 2149 to 411,04737.3%209 routes, none above 4%

Five boxes on the map, against a median journey of 13 steps, a mean of 14.2 and a ninetieth percentile of 24. And 1,151 accounts, 41.0% of everybody who succeeded, exported to a spreadsheet and came back mid-journey. That detour is in only one of the top five routes, with the other 763 accounts in the long tail, and on no map anywhere.

RiverEvidence Map

Emotion and Evidence Map

34 cells, 6 with evidence, and 2 of those still current

Every experiential claim from the existing map, checked for evidence joined to that step by account and timestamp. A room agreeing is not evidence, which is why nobody had ever been able to say which cell was wrong.

StepClaimStatusEvidenceDatedWhat the paths say
Choose a data sourceUsers feel confident, the list is familiarAssumptionNoneWorkshop612 searched for a connector that does not exist
Choose a data sourceCannot find their warehouseEvidenced47 tickets90 daysSecond largest fixable loss
Authorise the connectionFrustration with permissionsEvidenced9 recordings30 days31% retry, so it is failing not confusing
First sync completesNot on the mapMissingNoneNever1,764 lost, 18.7% of entrants
Pick fields for the reportThe emotional low of the journeyStale6 interviews14 months267 lost, and the screen has been rebuilt since
Report renders with dataNot on the mapMissingNoneNever216 lost, and the empty render is silent
Invite a colleagueNot on the mapMissingNoneNever388 accounts do this step first, not last
Between sync and fieldsNot on the mapMissingNoneNever1,151 export to a spreadsheet and return

Twenty-eight of thirty-four cells were assumption, which is 82%. Assumption is a legitimate status here and unlabelled assumption is not, because the room was most confident about the cell pointing at the step that loses 2.8% of entrants.

  • How the Journey Is DerivedThe method: why workshop maps miss steps, and how to rebuild steps and routes from raw events.
  • Path MapEvery step with how many people reached and left it, plus the top routes ranked by volume.
  • Journey NarrativeThe journey told step by step, with the counts first and the evidence behind each friction point.
  • Friction Findings and What They CostEach finding ranked by accounts lost, with its evidence, the realistic fixes and the cost of leaving it unfixed.
  • Step Register sheetOne row per step: designed or not, its kind, people reached and lost, time on step, repeats and owner.
  • Path Inventory sheetThe top routes to the outcome ranked by accounts, plus the long tail, with each one's share and length.
  • Emotion and Evidence Map sheetEach claim on your current map, with its evidence, date and status: evidenced, stale, assumption or missing.

Common questions

What should a user journey map include?

A user journey map should include one kind of user, one goal and the steps to reach it, in order. At each step, note what people do, think and feel, and the problems and opportunities you found. A useful one also counts how many people reach and leave each step, with evidence behind every feeling.

What's the difference between a user flow and a user journey map?

A user flow shows the steps for one task inside one product; a journey map adds what people think and feel, often across channels and over time. Nielsen Norman Group notes that user flows are limited to sequences of steps7, with nothing on emotions. This template does both: it counts the steps like a flow and ties each feeling to evidence.

Can you make a journey map without analytics data?

Yes, but label what you can't count. Recordings, tickets and interviews show how a step feels and where it breaks, not how many people it loses. Leave the counts blank rather than guessing, and treat any claim about where most people leave as an assumption until event data can check it.

How often should you update a user journey map?

Check it monthly, and again after any change to a step on it. New steps appear without anyone planning them, such as a verification email or a permission check added elsewhere in the product. Evidence goes stale too: once a screen is rebuilt, interviews about the old version no longer describe it.

Is this user journey map template free?

Yes. The four Word documents and three CSV sheets download free, with no signup. Each file is filled in with Kingsmoor, a made-up B2B product, so you can see how the sheets and documents fit together before you add your own data. Edit with AI opens the same template in a free River workspace.

What does Edit with AI do?

It opens the template in a free River workspace and asks for your event data, dated research, current map and the outcome you count. River rebuilds the routes from raw events, reports the step count, outcome rate and biggest loss, then asks whether to rank the routes or audit your map. It won't draft the narrative before anything is counted.

Sources

  1. Nielsen Norman Group. “Journey Mapping in Real Life: A Survey of UX Practitioners.” nngroup.com (opens in a new tab)

  2. Nielsen Norman Group. “Response Times: The 3 Important Limits.” nngroup.com (opens in a new tab)

  3. Nielsen Norman Group. “Designing Empty States in Complex Applications: 3 Guidelines.” nngroup.com (opens in a new tab)

  4. Google Help. “[GA4] Path exploration.” support.google.com (opens in a new tab)

  5. Google Help. “About Analytics sessions.” support.google.com (opens in a new tab)

  6. Nielsen Norman Group. “Journey Mapping 101.” nngroup.com (opens in a new tab)

  7. Nielsen Norman Group. “User Journeys vs. User Flows.” nngroup.com (opens in a new tab)

Written by

Chandler Supple

Co-founder & CEO, River

Chandler has spent the last six years working in AI, building tools for millions of users and Fortune 100 companies. In 2025, he co-founded River to build a new kind of operating system for AI agents.

Reviewed by

Brian Joseff, Co-founder, River