Flow analytics
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?
Related articles