사용자 여정 지도

User journey map

사용자가 목표를 이루기까지 거치는 단계를 시간순으로 늘어놓고, 각 단계의 감정 기복을 함께 그린 지도.

다른 이름: Customer journey map고객 여정 지도
···
html
<div class="stage">
  <div class="stages">
    <span>Awareness</span><span>Consider</span><span>Purchase</span><span>Onboard</span><span>Advocate</span>
  </div>
  <svg viewBox="0 0 500 140" preserveAspectRatio="none" class="chart">
    <line x1="0" y1="70" x2="500" y2="70" class="axis" />
    <path id="curve" d="" class="curve" />
    <circle id="dot" r="5" class="dot" />
  </svg>
  <div class="face" id="face">:)</div>
</div>
css
.stage{width:94%;height:88%;display:flex;flex-direction:column}
.stages{display:flex;justify-content:space-between;font:700 10px/1 monospace;color:var(--muted);padding:0 2%}
.chart{flex:1;width:100%}
.axis{stroke:var(--line);stroke-width:1}
.curve{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round}
.dot{fill:var(--accent-2)}
.stage{position:relative}
.face{position:absolute;left:2%;bottom:2%;font:700 18px/1 monospace;color:var(--accent-2)}
js
const pts = [[10, 60], [130, 30], [250, 100], [370, 45], [490, 15]];
function toPath(points) {
  return points.map((p, i) => (i === 0 ? 'M' : 'L') + p[0] + ' ' + p[1]).join(' ');
}
const curve = document.getElementById('curve');
const dot = document.getElementById('dot');
const face = document.getElementById('face');
const faces = [':)', ':|', ':(', ':|', ':D'];
curve.setAttribute('d', toPath(pts));
let i = 0;
function step() {
  const p = pts[i % pts.length];
  dot.setAttribute('cx', p[0]);
  dot.setAttribute('cy', p[1]);
  face.textContent = faces[i % faces.length];
  i++;
}
step();
setInterval(step, 900);

여정 지도는 한 사람(보통 퍼소나)이 인지 → 고려 → 구매 → 온보딩 → 지지처럼 목표를 향해 거치는 단계를 가로축에 늘어놓고, 각 단계에서 무엇을 하고 무엇을 느끼는지를 세로축(감정 곡선)으로 겹쳐 그립니다. 접점(터치포인트)·생각·감정·페인 포인트를 같은 단계 아래 나란히 적어, 어디서 감정이 뚝 떨어지는지 한눈에 드러냅니다.

사용자 흐름(user flow)과 헷갈리기 쉽지만 목적이 다릅니다. 사용자 흐름은 한 제품 안의 화면 이동 경로를 다이어그램으로 그린 것이고, 여정 지도는 제품 밖(광고를 본 순간, 친구에게 추천받는 순간)까지 포함한 훨씬 넓은 경험과 감정을 다룹니다. 화면이 아니라 사람의 경험이 주인공입니다.

감정 곡선이 급격히 떨어지는 지점이 곧 우선순위가 높은 개선 지점입니다. 그 지점 하나를 붙잡고 원인을 파고드는 것이 여정 지도를 그리는 진짜 목적입니다.

언제 쓰나

전체 경험 어디서 이탈이나 불만이 생기는지 개별 화면 단위가 아니라 큰 그림으로 봐야 할 때 씁니다. 화면 간 이동 경로만 필요하면 user-flow로 충분합니다.