-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Open
Description
Currently, Intro.js lacks a flexible way to track how users progress through tours. By adding event-driven analytics support, developers will be able to integrate Intro.js tours with their analytics platforms (Google Analytics, Segment, custom dashboards, etc.).
Expected Behavior:
Intro.js should expose events during the tour lifecycle, allowing developers to attach custom handlers for analytics purposes. These events should include, but not be limited to:
- active: Triggered when the tour is initialized and ready to start.
- cancel: Triggered when the user cancels the tour at any step.
- complete: Triggered when the user completes the entire tour.
- show: Triggered whenever a step is displayed to the user.
Requirements:
- Implement an
.on(eventName, handler)
API for Tour instances, similar to Shepherd's approach. - Provide consistent event data in the callback, such as:
- step details (id, index, title, etc.)
- tour metadata (current step number, total steps)
- Document recommended usage patterns, including example integrations with common analytics tools.
- Ensure backward compatibility for users who don’t need analytics.
Why this matters:
- Adding event-based analytics support will allow developers to:
- Measure where users drop off in a tour.
- Track which steps are most frequently seen.
- Identify UX bottlenecks in onboarding flows.
- Connect tour interactions to broader product analytics for better insight into user behavior.
This enhancement will bring Intro.js closer to the capabilities of tools like Shepherd.js and professional onboarding solutions.
Metadata
Metadata
Assignees
Labels
No labels