Skip to main content
Menu
On this page

Build an NPS survey

Set up a proper 0 to 10 NPS question with conditional follow-up, decide who can answer, and route the responses.

An NPS survey is one 0 to 10 recommendation question, plus optional written context. Mark the scale as NPS so Fillo's insights interpret it consistently.

Define the survey

Code
const nps = defineForm({
  id: "quarterly-nps",
  title: "How are we doing?",
  pages: [{
    id: "score",
    blocks: [
      {
        id: "recommend",
        kind: "linear_scale",
        label: "How likely are you to recommend us?",
        min: 0,
        max: 10,
        minLabel: "Not likely",
        maxLabel: "Very likely",
        insightsMetric: "nps",
        required: true,
      },
      {
        id: "why",
        kind: "long_text",
        label: "What's the main reason for your score?",
        visibleIf: [{ fieldId: "recommend", op: "answered" }],
      },
    ],
  }],
  settings: { submitLabel: "Send feedback", successTitle: "Thanks for the feedback" },
});

NPS requires the full 0 to 10 scale — don't mark a 1 to 5 rating as NPS.

Decide who should answer

For an in-product pulse, pass signed respondent identity and add a per-campaign hidden scope such as nps_cycle, then configure one response per identified person per cycle. For a public link, expect weaker identity and document that the sample can include repeats.

Route follow-up

Fillo insights give you the aggregate score and distribution. Send accepted responses to the response grid, a webhook, or a connected destination for qualitative review. Don't trigger customer outreach on the number alone — read the written context and check your contact policy first.

Try it

Start with a prompt and your coding agent builds the first form, staged for your review — or open the editor.

Updated

Was this page helpful?