What it does
Every published real-time journey carries its own analytics view: a Sankey diagram showing how people flowed through the canvas, and a right-hand pane that gives you inflow, processing, processed and exit counts for whichever tile you select. It is the operational answer to "where did my 40,000 contacts actually go", not a marketing performance report.
Key facts
- Two layers to it. The Sankey view shows relative flow volumes as line widths across branches; the step analytics pane shows the numbers for one selected tile.
- The step pane reports Inflow (arrived at the step), Processing (still in it), Processed (moved on) and Exit (left the journey), with percentages calculated against inflow.
- Flow details under a step gives you rate-limited records, unique people and exit reasons, and exports out. Export from journey operational analytics is capped at 50,000 records.
- Select a message tile and you get channel analytics for that send: delivery rate (delivered ÷ sent), open rate (unique opens ÷ delivered), click rate (unique clicks ÷ links delivered), and for text, response rate (unique replies ÷ sent).
- The "View details" link on a message opens delivery and interaction statistics — sends, blocks, bounces with reasons, opens, clicks, unsubscribes, and for email the client, device, OS and browser breakdown. That export is capped at 10,000 records because of a browser cache limit. Conditional content variations cap at 100.
- Journey analytics, channel analytics and contact/lead insights all display the last 12 months of interaction data only. Older interactions are still stored, they are just not shown here.
- Uniqueness is calculated against the customer's journey run, not the journey. In a repeating journey the same person opening the same message on two runs is two unique interactions.
- Operational analytics deliberately trade consistency for speed. Numbers can be processed out of sequence mid-flight and genuinely not add up; they reconcile once journey execution completes.
- Channel metrics keep moving after a journey stops, because opens and clicks arrive late. That is expected, not a bug.
- Timestamps are rendered in the organisation's time zone, not the viewer's.
- Aggregate cross-journey, channel and marketing effectiveness dashboards do not render on mobile devices.
When to use / skip
You don't get a choice about whether this exists — it ships with every journey. The decision is what you point people at. Journey analytics is the right surface for the operational question: is the journey moving people, which branch is starving, how many are stuck in a wait tile, why did 8% exit at the suppression check. Use it during the first weeks of a new journey and during any incident.
It is the wrong surface for campaign reporting. Anyone who wants "how did the Q3 nurture perform against last year" is asking for aggregate cross-journey analytics or a Power BI report over the Fabric shortcut, not this. Marketers who live in the step pane end up quoting mid-run numbers that later self-correct, and then trusting nothing.
The one case where I'd actively steer someone away is a high-volume repeating journey with a short cadence. The per-run uniqueness model means the headline unique counts drift upward in a way that looks like engagement growth and isn't. Get those clients onto aggregate analytics early.
Configuration decisions
- Which journeys get a business goal attached, since goal analytics only appears in the step pane if a goal exists on the journey. Decide this before publish, not after.
- Whether exit reasons need to be actionable. If the client wants to act on suppression-driven exits, you need the suppression segments named meaningfully, because the segment name is what shows up in the exit breakdown.
- Whether 50,000 records is enough for the operational export they have in mind. Above that, plan for Fabric rather than promising a CSV.
- Whether bot protection is on before the journey launches, since it only filters clicks going forward and never retroactively.
- Who has read access to the interaction tables. Analytics respects Dataverse privileges, so a marketer with a locked-down security role will see empty tiles and assume the journey is broken.
- Repeating versus one-time journey design, because that choice determines whether your unique counts are per person or per run for the life of the journey.
Gotchas
- Mid-run totals that don't reconcile are by design. Consultants get dragged into "the numbers are wrong" meetings over this constantly. Say it up front, in writing, before the first send.
- The 12-month display window catches people at the start of year two. The data is still there in Dataverse and Fabric; the in-app view simply stops showing it, and nobody warns you.
- Channel numbers continuing to climb after a journey is stopped looks like the journey is still sending. It isn't — those are late-arriving opens and clicks.
- Open rate uses delivered as its denominator while click rate uses links delivered, so the two are not directly comparable. Anyone computing click-to-open by hand from the tile will get a number that disagrees with the CTOR shown elsewhere.
- Export caps differ by surface (50,000 operational, 10,000 delivery detail, 100 content variations). Promising an export without checking which surface it comes from is a good way to look silly.
- Time zone is the organisation's, so a UK client on a US-headquartered tenant will see sends attributed to the wrong day around midnight.
Consultant notes
- Demo the Sankey first and the step pane second. The flow picture is what buys you credibility with the marketing lead; the numbers are what the ops team will actually use.
- Before go-live, walk one test contact through the whole journey and confirm every tile increments. A tile that never registers inflow usually means a condition that can never be true, and it is far cheaper to find that in UAT.
- Push back on any reporting requirement expressed as "we need the analytics tab to show X". If X isn't in the list above, it's a Fabric and Power BI conversation, and it needs its own budget line.
- Tell the client explicitly that these numbers are operational, not financial. If anyone downstream is reconciling marketing figures to revenue, that reconciliation runs off the interaction tables, not off screenshots of the canvas.
- Check the marketing team's security roles against the interaction tables during UAT rather than on launch day.
Worth revisiting if Microsoft extends the 12-month display window or changes how uniqueness is counted on repeating journeys.