# In-App Surveys & NPS for SaaS Products

> In-app surveys ask a single question inside your product. A small card slides in from a bottom corner, the visitor taps a score, and the response is recorded. StepsKit ships three rating scales — 0–10 NPS, 1–5 numeric, and five-emoji sentiment — with optional open-text follow-up, and computes NPS automatically.

*Source: https://stepskit.com/features/surveys*

## Definition

An in-app survey is a short questionnaire shown to users inside a product — typically a small card or banner — rather than over email or on a separate page. Because it reaches people while they're actively using the product, it earns higher response rates and more relevant answers than an emailed survey.

The most common in-app survey is an **NPS survey**: a single "How likely are you to recommend us?" question on a 0–10 scale. Net Promoter Score was introduced by Fred Reichheld in the [Harvard Business Review](https://hbr.org/2003/12/the-one-number-you-need-to-grow) and is the standard loyalty metric for SaaS.

## NPS math

| Group | Score range |
| --- | --- |
| Promoters | 9–10 |
| Passives | 7–8 |
| Detractors | 0–6 |

NPS = % promoters − % detractors, so the result ranges from −100 to +100. StepsKit computes promoters, passives, detractors, and the NPS number from responses. The 1–5 and emoji scales report an average score plus a per-score distribution instead of an NPS number.

## Capabilities

| Capability | Detail |
| --- | --- |
| Three rating scales | 0–10 NPS, 1–5 numeric, or five sentiment emojis. Custom low/high labels ("Not likely" → "Very likely"). |
| Optional open-text follow-up | A second step asking why ("What's the main reason for your score?"), then a thank-you message that auto-closes the card. |
| Targeting and re-survey windows | Plan, role, URL, or any custom attribute passed via the embed — the same rules engine as tours and tooltips. Re-survey window set in days, or ask once and never again. |
| No-code, on-brand card | Slides in from the bottom left or right corner, dismissible or not. Theme background, text, and button colors. |
| NPS computed for you | Promoters, passives, detractors, and NPS from −100 to +100, calculated automatically. |
| One embed, no new install | Surveys ride along in the same StepsKit embed as tours and tooltips — one async script tag, no extra package, no extra request. |

## How it works

1. **Create a survey.** Name it, write the question, pick a rating scale.
2. **Choose who sees it and how often.** Target by plan, role, URL pattern, or any attribute; set a minimum screen width; pick a re-survey window in days.
3. **Theme the card.** Background, text, and button colors; corner it slides in from; whether it's dismissible. Add an open-text follow-up if you want the why.
4. **Publish to your domain.** The card appears for matching visitors with no app deploy. Responses and NPS update in the dashboard.

## Choosing between surfaces

| Surface | Collects input? | Use when |
| --- | --- | --- |
| [Tours](/product-tours.md) | No | Walking a user through a workflow in order |
| [Tooltips](/features/tooltips.md) | No | Persistent contextual help that waits for a click |
| Surveys | Yes | Measuring how users feel — NPS, CSAT-style ratings, feedback |

Surveys are the only one of the three that collects input rather than delivering it. Most products use all three: tours to onboard, tooltips to surface help, surveys to measure how it's landing.

## Use cases

- **Measure NPS in-product.** Ask the recommend question in-app while the experience is fresh, instead of an email blast most users ignore.
- **Catch detractors before they churn.** Turn on the open-text follow-up to ask low scorers why; a pattern across comments becomes roadmap input.
- **Gauge a new feature with a microsurvey.** A 1–5 or emoji survey scoped by URL targeting to the screen for the feature you just shipped.

## FAQ

**What rating scales are available?**
Three: the 0–10 NPS scale (with promoter/passive/detractor math), a 1–5 numeric scale, and a five-emoji sentiment scale. Custom low and high labels are supported on the scale.

**Can I target surveys to specific users or pages?**
Yes — the same audience rules as tours and tooltips: plan, role, URL pattern, or any custom attribute passed via the embed, combined with AND/OR. You can also gate by minimum screen width, making a survey desktop-only.

**How often will a visitor see a survey?**
Controlled by the re-survey window. Set an interval in days; a visitor who responded or dismissed isn't asked again until the window passes. Set it to ask once and they're never re-surveyed. Suppression happens server-side, so it holds across sessions.

**Do surveys work for anonymous visitors?**
Yes. The card renders and records responses without a user ID. Re-survey suppression is strongest when you identify the visitor via the embed, since that ties responses to a person across sessions.

**How do I install in-app surveys?**
One async `<script>` tag — the same StepsKit embed used for tours and tooltips. No separate install, no extra package, no extra request.

## Related

- [All features](/features.md)
- [NPS survey questions guide](/blog/nps-survey-questions.md)
- [In-app tooltips](/features/tooltips.md) · [Visual tour builder](/features/visual-tour-builder.md)
- [User onboarding](/solutions/user-onboarding.md) · [Feature adoption](/solutions/feature-adoption.md)
