Skip to content

Implement NPS Survey and Dashboard for Noblocks #591

Description

@SarahSync

Description

Add an NPS (Net Promoter Score) survey to Noblocks that appears after a signed-in user completes a transaction, sits at the bottom of the screen, and uses Noblocks brand colors. The survey is shown only once per signed-in state, re-appearing only after a logout and re-login. Alongside the survey, build an internal dashboard for monitoring responses, respondents, and survey performance, with filters, export, and share functions.

User Story

  1. As a Noblocks user who just completed a transaction,
    I want a quick, non-blocking way to share how I feel about Noblocks,
    So that I can give feedback without disrupting my flow.

  2. As a Noblocks team member,
    I want an NPS dashboard with responses, respondents, and performance metrics,
    So that I can track sentiment and act on feedback.

Acceptance Criteria

  1. GIVEN a signed-in user completes a transaction
    WHEN the confirmation is shown
    THEN the NPS survey appears at the bottom of the screen in Noblocks brand colors, non-blocking and dismissible, with two required 1–10 score fields (Q1 and Q3), two optional reason fields (Q2 and Q4), and an optional follow-up email field.

  2. GIVEN a user completes or closes the survey
    WHEN they continue in the same signed-in state
    THEN the survey is not shown again — it re-appears only after a logout and re-login.

  3. GIVEN a survey submission occurs
    WHEN it is stored
    THEN the response is saved with all required metadata: date and time, device, user ID, location country, email, operating system, and site URL, plus the two scores and reasons.

  4. GIVEN a team member opens the NPS dashboard
    WHEN they view it
    THEN they see an overview (NPS score, key survey data, most recent survey, survey performance — impressions, drop-off rate, completion rate, engagement rate, referrals), a responses table with filters (date range, completion status), and a respondents table with all user information and filter options.

  5. GIVEN a team member is using the dashboard
    WHEN they trigger export or share
    THEN they can export responses in a structured format and share views or specific responses with other team members.

Tech Details

  • Build the NPS survey component and position it at the bottom of the screen post-transaction.
  • Trigger the survey only for signed-in users after a completed transaction.
  • Ensure the survey is shown once per signed-in state; re-shows after logout and re-login.
  • Capture required and optional fields per the spec; use 1–10 slider or number select for score fields.
  • Store submissions with metadata: date and time, device, user ID, location country, email, OS, site URL.
  • Use Noblocks brand colors for styling.
  • Build the NPS dashboard with the overview, responses table, respondents table, and export/share functions.
  • Implement filter options on both tables (date range for responses; all fields for respondents).
  • Ship behind a feature flag for staged rollout.

Notes/Assumptions

  • The survey is optional and non-blocking; it does not gate the user's ability to continue using Noblocks.
  • The follow-up email is explicitly opt-in with clear consent wording.
  • The dashboard is an internal-facing tool for Noblocks team members.

###Open Questions

  • Should the survey trigger on every completed transaction, or only the first per user (or first per period)?
  • Should there be a "Don't ask me again" option beyond simple close?
  • What are the exact definitions for "engagement rate" and "referrals" on the dashboard?
  • Is the survey available in multiple languages at launch?
  • Should the dashboard integrate with Slack for low-score alerts?
  • What is the retention period for NPS responses and metadata?
  • Are there any regional restrictions on where responses can be stored?

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions