Skip to content

Add Event-Based Analytics Support for Tracking Tour Progress #2110

@Faryad8

Description

@Faryad8

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

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions