Skip to content

Unified nudge framework #271

@adibarra

Description

@adibarra

A single registry-driven system for in-app engagement nudges (banners, modals, and toasts) that replaces the handful of one-off implementations currently scattered across the app.

Requirements

  • Each nudge declares its trigger, audience/conditions, dismissal behavior, and persistence (e.g. dismissed-forever vs. session-only) in the registry.
  • Migrate every existing engagement-style one-off onto the new framework and delete the old implementations. No parallel systems left in the codebase when this lands.
  • Dismissal state for "don't show again" nudges persists across sessions per user/browser, some of them have a mechanic to show nudges again after some time which we need to keep.
  • Analytics events for nudge shown, dismissed, and primary-action clicked, with the nudge id as a property.
  • Tests covering trigger conditions, dismissal persistence, and that each migrated nudge still fires in the same situations as before.
  • The unoffical runs banner works very differently from the other nudges, up to you if you want to keep that one separate or unify it.

Nice to have

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions