Flow analytics

3 min readUpdated 2026-05-19

Accessing flow analytics

Open any flow from the library in the dashboard and click the Analytics tab.

Metrics

Summary metrics

| Metric | Definition | | ------------------- | -------------------------------------------------------- | | Views | Number of times the flow was shown to a user | | Completions | Number of times a user finished the flow | | Completion rate | Completions / Views × 100 | | Dismissals | Number of times a user closed the flow before completing | | Unique users | Count of distinct user hashes that viewed the flow |

A view is counted when the flow first appears on screen. A completion is counted when the user reaches the final step and clicks Next (for tours) or the primary CTA (for modals).

Trend chart

The trend chart shows views and completions over time (daily granularity). Use the date range picker to zoom in or out.

Step-level analytics (tours only)

For multi-step tours, you'll see a funnel chart showing how many users reached each step. This reveals the exact step where users drop off most.

| Step | Views | Dropoff | | ----------------------- | ----- | ------- | | Step 1: Welcome | 500 | — | | Step 2: Key feature | 420 | 16% | | Step 3: Try it yourself | 310 | 26% | | Step 4: Done | 280 | 10% |

A high dropoff on a specific step suggests:

  • The step is confusing or poorly worded
  • The element the step is anchored to isn't visible (broken anchor)
  • The step is too long or asks the user to do something complex

Filtering

Filter analytics by:

  • Date range — last 7 days, 30 days, 90 days, or custom
  • User segment — if you have segments configured, filter by segment to compare completion rates across groups

Interpreting completion rates

There's no universal "good" completion rate — it depends on the flow type and context:

| Flow type | Typical healthy range | | -------------------------- | --------------------- | | Welcome tour (3–5 steps) | 40–70% | | Feature announcement modal | 60–90% | | Long onboarding checklist | 20–40% | | Tooltip (single dismiss) | 70–95% |

A completion rate well below these ranges usually indicates a step that's confusing, an anchor that's broken, or targeting that's showing the flow to the wrong users.

Unique users vs total views

If views >> unique users, the flow is showing to the same users repeatedly. This can mean:

  • Frequency is set to Every session and users keep returning
  • Frequency is set to Once but identify() isn't being called (so Zenstep can't record that the user already saw it)

If unique users are high but completions are low, the content or advance mechanic may be the problem.

Anonymous users

Users who haven't been identified (i.e., identify() wasn't called before the flow showed) are tracked as anonymous. Their events are recorded under a temporary hash. Once they log in and identify() is called, subsequent events are linked to their real user hash — but prior anonymous events are not retroactively merged.

To minimize anonymous analytics, call identify() as early as possible — ideally before the user reaches any page where flows are active.

Was this helpful?