Quick answer: A conversation list shows you one customer at a time. An aggregate journey-path view shows you the sequences thousands of customers actually walk across your channels — where the largest drop-offs sit, which channel sequences repeat, and which handoffs (WhatsApp into a voice call, email into chat) precede escalations or abandonment. Orbit ships that view as a Sankey-style path visualization at Customer Journey Paths, powered by GET /analytics/journey-paths. This post explains what the aggregate view adds over per-conversation timelines, how to read it, and three worked examples on real Orbit channels.
If you've ever chased a churn spike by sampling individual conversations and still had no structural answer, the unit of analysis was the problem.
What a path view tells you that a conversation list can't
A single conversation timeline is forensic: excellent for one customer, useless for structure. The aggregate path view reconstructs the ordered touchpoint sequence across all journeys in a window and answers three questions a timeline can't:
- Where the largest drop-offs sit. Stage-by-stage reach shows the share of journeys that end at each step instead of continuing — the funnel shape of your cross-channel traffic, not one thread.
- Which sequences repeat. The most-walked full paths (SMS → SMS → voice, email → chat → done) tell you what customers actually do, as opposed to what your routing rules assume they do.
- Which handoffs precede escalation. When a recurring pattern shows customers jumping from a messaging channel into a voice call, the path view makes that sequence visible as a pattern, not as an anecdote from one rep's last shift.
The per-conversation view still matters — it powers the timeline you open when a specific customer churns. The path view is what tells you whether that event was noise or a trend.
What Orbit ships: the /insights/journey-paths Sankey
The dashboard page is wired to GET /analytics/journey-paths, which reconstructs ordered touchpoint sequences from your conversation traffic (voice, chat, email, WhatsApp, SMS, RCS) and folds them into the node/link/stage shape a Sankey renders. Everything below is live on the shipped surface — no roadmap claims.
- Window choice — 24h, 7d, 30d, or 90d. The page supports one look-back window by design; a current-vs-prior comparison isn't meaningful for path structure in the way it is for trend metrics.
- KPI tiles — journeys in the window, total touchpoints, the stage with the biggest drop-off rate, and how many channels participated.
- Cross-channel path flow — one column per stage, split by channel, with per-stage drop-off percentage between columns. Bar widths normalize to the widest stage so you can see decay at a glance.
- Most-walked paths — the full channel sequences customers take most often, each with its share of all journeys. Shares are rounded via a largest-remainder method so the displayed breakdown sums to a clean total.
- Entry-channel filter — keep only journeys whose first touchpoint was on a given channel (e.g. only journeys that start in WhatsApp). The API echoes the filter back so the page state and the request stay honest.
- Query knobs —
window,entry_channel,max_stages(how deep the path view goes, 2–10), andmin_journeys(prune links carried by fewer than N journeys).
Access follows the analytics-read role hierarchy — owners, admins, developers, and viewers can read the aggregate. It shows sequences and counts, not message contents.
How to read the Sankey
- Pick a window first. A 24-hour window answers "what blew up today"; 30 days answers "what's the structural pattern." Compare like-for-like: the shape of paths shifts meaning, not just size.
- Threshold the noise. The
min_journeysknob prunes links carried by a handful of journeys. Until you do, a handful of odd one-off paths will dominate the visual and hide the recurring structure. Raise it and the Sankey gets honest. - Isolate an entry channel. Filtering by entry point answers "where do WhatsApp-originated journeys actually go after the first touch?" That's the question most routing debates are really about.
- Read the drop-off percentages between stages. A stage with a large drop rate is where customers stop instead of continue — decide whether that's resolution (good) or abandonment (bad) by checking the other Insights surfaces paired below.
- Scan the most-walked full paths. When the top sequences are repeats of the same pattern, you have a routine. When one path is an outlier (email → chat → voice → back to chat), it's worth a closer look.
Three worked examples on real channels
WhatsApp → voice escalation
A support team sees, on the 30d window, that their second-most-walked full path is WhatsApp → voice. The entry-channel filter confirms it: journeys that start in WhatsApp frequently escalate to a call at stage 2. The fix isn't to disable escalation — it's to check whether the WhatsApp agent pool has the tools to resolve order-status questions without a call. The path view made the pattern undeniable in one tile.
RCS → SMS fallback in the middle of a path
A marketing team running rich media sees, in the top paths, that RCS → SMS appears repeatedly at stages 2–3 rather than as a one-stage event. That's not a bug — it's expected RCS-to-SMS fallback on handsets without RCS support — but seeing it as a recurring middle stage tells you to design follow-up messages that still land well on plain SMS. Without the path view, the fallback was invisible traffic.
Email → chat abandonment
A SaaS team notices the biggest drop-off rate sits at stage 2, and the most-walked sequence is email → chat → (end). Customers open with an email, get routed to a chat widget, then stop. Is that resolution or abandonment? Pair it with Contact Reasons filtered to chat: if "billing question" dominates, the chat surface may be routing billing traffic to a bot that can't handle it. The drop-off rate told you where; contact reasons tells you what.
Pair it with containment and contact reasons
Journey paths shows the structure of sequences; it doesn't tell you what customers wanted or whether the AI contained them. Pair it with:
- Containment — how often the AI agent resolved the conversation without a human handoff. A drop-off at stage 2 means something very different when containment is high (resolved) versus low (abandoned).
- Contact Reasons — what customers actually contacted you about, ranked by volume. Filters the "what was this path about" question down to a real answer.
- Sentiment — how it went. Our earlier post on conversation sentiment analytics argues the same point from the other side: aggregate beats per-event polarity. The two surfaces reinforce each other; sentiment annotates the path with outcome, paths annotate sentiment with structure.
Between those four surfaces, you can usually name a root cause before opening a single conversation.
Frequently asked questions
Where does the data come from?
The route aggregates ordered touchpoints from your conversation traffic — the conversations already flowing through voice, chat, email, WhatsApp, SMS, and any other connected channel. It's read-only, tenant-scoped, and scoped to your analytics-read permission; no schema change and no new event pipeline required.
Why does my most-walked path list look wrong on one weird path?
Raise min_journeys. The default prunes links carried by fewer than one journey (i.e. it keeps everything), which lets a handful of one-off sequences dominate the visual. Threshold at the volume you're willing to act on.
Does the page compare windows?
No — one look-back window, by design. A current-vs-prior comparison is meaningful for trend metrics (sentiment, containment) but not for structure; the shape of a path has no "lift" to compute. Pick the window that matches your question.
What role do I need?
Owner, admin, developer, or viewer — the same analytics-read hierarchy the backend route enforces. The page shows aggregates (counts and sequences), not message contents.
How does this differ from the message-delivery funnel or campaign journeys?
The delivery funnel tracks one per-message send→deliver arc. Campaign journeys are orchestration a marketer designs ahead of time. Journey paths is neither: it's the sequence customers actually walked, reconstructed after the fact across inbound and outbound channels.
Open Customer Journey Paths on the 30d window and see what your customers are actually doing — then read the drop-off with Contact Reasons and Sentiment beside it. The structure was always there; now it's visible.