Customer journey map

고객여정 지도

Put touchpoints and shifts in customer emotion on one timeline.

···
html
<div class="journey"><div class="journey-top"><span>DISCOVER</span><span>COMPARE</span><span>ORDER</span><span>DELIVERY</span><span>USE</span></div><svg viewBox="0 0 500 150" preserveAspectRatio="none" aria-label="Emotion across the journey"><path class="base" d="M0 75 H500"/><path id="emotion" class="emotion" d="M10 80 L120 55 L240 45 L360 120 L490 55"/><circle id="moment" cx="360" cy="120" r="9"/></svg><div class="journey-note"><b id="journey-label">DELIVERY DELAY</b><button id="journey-fix" type="button">SEND UPDATE</button></div></div>
css
.journey{width:min(92%,760px);display:grid;gap:clamp(8px,2vmin,17px);font:800 clamp(10px,max(1.8vmin,1vw),14px)/1 sans-serif}.journey-top{display:flex;justify-content:space-between;gap:3px;color:var(--muted)}.journey svg{width:100%;height:clamp(80px,27vmin,210px);overflow:visible}.journey .base{stroke:var(--line);stroke-width:2;stroke-dasharray:5 5}.journey .emotion{fill:none;stroke:var(--accent);stroke-width:5;stroke-linejoin:round;stroke-linecap:round;transition:d .6s}.journey circle{fill:var(--accent-2);stroke:var(--fg);stroke-width:3;transition:cy .6s}.journey-note{display:flex;justify-content:space-between;align-items:center;color:var(--accent)}.journey button{border:0;background:var(--fg);color:var(--bg);padding:clamp(5px,1.4vmin,11px);font:inherit;cursor:pointer}
js
let fixed=false;const path=document.getElementById('emotion'),point=document.getElementById('moment'),label=document.getElementById('journey-label');function render(){path.setAttribute('d',fixed?'M10 80 L120 55 L240 45 L360 65 L490 45':'M10 80 L120 55 L240 45 L360 120 L490 55');point.setAttribute('cy',fixed?'65':'120');label.textContent=fixed?'CUSTOMER INFORMED':'DELIVERY DELAY'}document.getElementById('journey-fix').onclick=()=>{fixed=!fixed;render()};setInterval(()=>{fixed=!fixed;render()},2600);

A journey map lays out the touchpoints, actions, and emotions a customer experiences while pursuing a goal. It follows the customer's experience across teams and channels.

Use interviews and behavior records to mark expectations and actual outcomes, then locate sharp emotional drops. In the demo, a delayed delivery bends the emotion line downward; an update helps it recover.

A polished map is not evidence by itself. Ground each touchpoint and emotion in observed behavior or customer accounts.

When to use

Use it to align teams on where a cross-team experience breaks down.

Open as page ↗