Skip to main content
The survey builder lives at admin.insito.app → your project → SurveysNew survey. This page walks through each step.

The builder

A survey has six tabs:
  1. Questions — at least one answerable question; up to 20 items total (including optional welcome and end screens).
  2. Logic — branching rules between questions.
  3. Trigger — trigger conditions (event keys, screen visits, app open), throttling, and when to show the modal.
  4. Audience — device and user-property filters.
  5. Schedule — start/end dates, timezone, and response caps.
  6. Responses — the survey’s collected responses (table with CSV export).
While editing, changes autosave to a draft (debounced, on tab switch, and when you leave a field). Live respondents keep seeing the last published version until you explicitly publish.

1. Naming and status

Survey name
required
Edit it in the builder header. It’s an internal label shown across the dashboard (survey list, analytics), not inside the in-app modal. Use something descriptive (Post-checkout NPS Q2 2026) so it’s easy to find.
Trigger key
The trigger_key uniquely identifies the survey per project and is derived from the survey’s primary App event key on the Trigger tab (or slugified from the name). Event keys allow the characters A–Z a–z 0–9 _ (up to 128, case-sensitive). See Triggers.
Status
default:"draft"
draft = never shown to users. active = eligible. paused = temporarily hidden. scheduled = activates at the configured start time. Toggling active/paused from the survey list takes effect within seconds — no app rebuild needed.
Open Survey settings (gear icon) for description and behavior toggles like branding, question numbers, back navigation, and autosave.

2. Throttling

On the Trigger tab, set Minimum days between shows (throttle_days, default 7, range 0–365). Set it to 0 to disable throttling for the survey.
Throttling is per project, per user — once any survey in the project is shown to a user, they won’t be shown another until the window elapses. See Throttling for the full mechanism and per-survey show caps.

3. Questions

Add at least one answerable question. A survey holds up to 20 questions total, including optional welcome and end screens. Respondents see them one at a time inside the modal. When Allow back button is enabled in survey settings, respondents can revisit earlier questions; optional questions still show Skip.

Question types

NPS (0–10)

The standard NPS scale. Detractors (0–6), passives (7–8), promoters (9–10). Insito auto-scores responses and computes the canonical NPS in the analytics view.

Rating (1–5)

Five-point star rating. Best for “how easy was that?” or feature satisfaction.

Multiple choice

Single-select by default, multi-select toggleable. Each option is a free-form string up to 120 characters.

Open text

Free text input with a configurable max length (default 500 chars). Lands verbatim in the responses tab.

Common patterns

Pure NPS (one question, two if you want a follow-up):
  1. NPS: “How likely are you to recommend us to a friend?”
  2. Open text: “What’s the main reason for your score?”
Feature satisfaction (three questions):
  1. Rating: “How satisfied are you with this feature?”
  2. Multiple choice: “What did you like most?” — ["Speed", "Reliability", "Design", "Other"]
  3. Open text (optional): “Anything else we should know?”
Onboarding effort (one question):
  1. Rating: “How easy was it to set up the app?” — labels Very hardVery easy.

Required vs optional

Toggle Required on each question. Required questions block the “Next” button until answered; optional questions show a “Skip” affordance. Open-text questions ignore the required flag if the user submitted at least one character of whitespace, so be explicit in your question copy.

4. Audience (optional)

Filter who sees the survey with device and user-property conditions, e.g.:
  • Platformreact_native, ios, android, or flutter.
  • App version — exact match or range. Useful for cohort studies (only ask users on the new build).
  • User properties — any custom attribute you send via identify({ properties }).
You choose whether the conditions combine with AND or OR. If the user’s identify() payload doesn’t include a field a filter requires, they don’t see the survey.

Draft, publish, and activate

1

Save a draft (new surveys)

On New survey, click Save draft to create the survey without going live. You are redirected to the edit view where autosave takes over.
2

Autosave while editing

On an existing survey, edits write to the draft automatically. The header shows Last edited and, for active/paused surveys, an unpublished-change count on the status pill.
3

Preview

Use the Preview button (top right) to render the modal as the SDK will. No data is recorded — it’s a static preview.
4

Activate or publish

Draft surveys: Activate copies draft → live and sets status to active (or scheduled if a future start date is set). Active/paused surveys: Publish changes copies draft → live without changing status. Scheduled surveys publish when they activate — edit the draft freely until then.

Editing live surveys

Editing an active or paused survey is safe — you can iterate in draft without affecting live respondents until you publish. There are two caveats:
  • Changing the trigger key rewrites history. Existing responses stay attached to the new key, which can be confusing if you’re comparing across rollouts. Prefer creating a new survey under a new key (e.g. checkout_completed_v2).
  • Removing or renaming questions changes the published set. Existing responses keep the answers they recorded, but a removed question won’t appear in the analytics roll-up. Add a new question instead of editing an old one’s text if you want clean before/after analytics.
In-progress SDK sessions keep the previous live version until dismissed; the next trigger loads the newly published content.

Next

Survey settings

Behavior toggles — branding, back button, autosave, and more.

Triggers

Configure when a survey fires from the builder’s Trigger tab.

Analytics

Read NPS score, response counts, and the NPS trend.

Responses

Completed and partial responses, filters, and export.