| name | user-journey-tracking |
| description | Track user journeys with intent context and friction signals. Use when instrumenting funnels or multi-step flows. |
| triggers | track user journey, funnel instrumentation, drop-off analysis |
| priority | 2 |
User Journey Tracking
Instrument flows to answer: "Why did users fail to complete their intended task?"
Core Principle
Every event should include intent context:
| Field | Example | Why |
|---|---|---|
job_name |
"checkout" | Which user goal |
job_step |
"payment" | Where in the journey |
job_progress |
"3/4 steps" | How far they got |
Friction Signals
Detect when users are struggling:
| Signal | Detection | Indicates |
|---|---|---|
| Rage clicks | 3+ clicks on same element within 1s | UI unresponsive |
| Retry exhaustion | 3+ retries of same action | Persistent failure |
| Quick abandonment | Exit within 5s of error | Lost trust |
| Form thrashing | Repeated focus/blur on same field | Confusion |
| Back loops | 3+ backs without progress | Lost/confused |
Key Events
| Event | When |
|---|---|
journey.started |
User begins multi-step flow |
journey.step_complete |
User advances to next step |
journey.friction |
Friction signal detected |
journey.success |
User completes goal |
journey.abandoned |
User exits without completing |
Anti-Patterns
- Tracking steps without job context (can't correlate)
- Missing friction signals (only see drop-off, not why)
- Not tracking "success with friction" (silent failures)
- High-cardinality step names (use patterns, not IDs)
Implementation
Use Read tool to load references/user-focused-observability.md for detailed patterns.
Related
skills/instrumentation-planning- JTBD frameworkskills/error-tracking- Enriching errors with journey contextreferences/jtbd.md- Jobs-to-be-Done methodology