Use case

Add NPS surveys to your SaaS

Create an NPS, CSAT, or custom survey in AscendKit, distribute it to your users, and read response analytics — all linked to the same usr_ record as their auth and email history. Surveys are built on SurveyJS, so custom question types and logic are supported.

How it works

  1. 1. Build the survey
    Pick an NPS or CSAT template, or compose a custom survey with the SurveyJS builder in the portal.
  2. 2. Distribute
    Target users by lifecycle stage or event and send the survey through email or in-app distribution.
  3. 3. Read analytics
    Track NPS score, CSAT, and per-question breakdowns over time. Responses attach to the same user profile as the rest of their activity.

What do NPS survey tools actually need to do?

Ask one question at the right moment, to the right person, and make the answer joinable to everything else you know about them. Most tools do the first part well and the last part not at all.

The joinability is where standalone survey tools break down. A response lands in the survey vendor identified by an email address, while the account it belongs to lives in your auth provider under a different identifier. Answering "which of our detractors are on the paid plan" then means exporting from two systems and reconciling by hand.

Because AscendKit surveys attach to the same usr_ profile as auth and email, a score sits next to when that person signed up, which onboarding emails they opened, and where they stalled in a journey.

How the NPS score is computed.
ResponseBandEffect
9-10PromoterIncreases the score
7-8PassiveDilutes only -- counts in the total, neither side
0-6DetractorDecreases the score

Why does the number look wrong so often?

Passives. The score is the percentage of promoters minus the percentage of detractors, and 7s and 8s count toward the denominator without contributing to either side. A survey with no unhappy users at all can still score near zero.

That is why the trend matters more than the absolute value, and why comparing your number to a published industry benchmark is usually meaningless — the benchmark was gathered from a different population at a different moment in their lifecycle.

The other common distortion is who you ask. Sending only to users you know are happy produces a flattering number and destroys the comparison you were trying to build. Consistent timing and a stable audience are what make the trend readable.

Troubleshooting

Very few people respond

Cause: Usually timing rather than the question. An NPS request sent at an arbitrary moment competes with whatever the user was actually doing.

Fix: Trigger it from a journey at a consistent point in the lifecycle -- 90 days on the account, say -- rather than distributing manually on your own schedule.

Invitations show as sent but never opened

Cause: Almost always email delivery rather than the survey itself, since opens are tracked by the personalised link.

Fix: Confirm your sending domain is verified, then check the delivery logs. Delivery succeeding with zero opens usually means spam placement.

FAQ

Can I run NPS without a separate survey tool like Typeform?

Yes. Surveys are part of the platform, so NPS and CSAT responses sit on the same user record as auth and email instead of in a disconnected Typeform account.

Are custom question types supported?

Yes. Surveys are built on SurveyJS, which supports custom question types, branching logic, and validation.

Related guides

Start with one API key

Auth, email, surveys, and journeys share one user record, so you ship this without stitching vendors together.

Start free