Metrickle

Ask the right people one question, at the right moment

Run NPS, CSAT and effort surveys inside your web, iOS, Android, Flutter and React Native apps, shown after the moment they ask about. Every answer is an event, so “people who gave a 2” becomes a filter on funnels, journeys, friction and replays.

Survey: Post-order NPSbloom.shop · after the order event · 10% sample
NPS+31▲ 6
Response rate38%
Answers1,184

Example survey: How likely are you to recommend Bloom to a friend? Answer: 7. Follow-up: Why that score? “Delivery dates only show at the last step.”

The standard measures, scored for you

A survey holds up to ten questions, though one or two usually get more answers. Scored questions can be followed by an open “why?” question.

NPS

0 to 10, scored from −100 to +100 with promoters, passives and detractors.

CSAT

1 to 5 satisfaction, reported as the share of people who are satisfied.

Effort (CES)

1 to 7 “how easy was it?”, the best single question after a task.

Star rating

1 to 5 stars, reported as the mean with the full distribution.

Multiple choice

Up to twelve options, with one answer or several.

Open text

Free answers, listed newest first next to the score that came with them.

Shown after the moment, not in the middle of it

A survey that interrupts checkout measures the interruption. Metrickle waits for the right trigger, then for a delay you choose, and only asks the people you picked.

  • Triggers: as soon as someone is eligible, on a page or screen (with a trailing * wildcard), or after a tracked event, with a delay of up to two minutes.
  • Targeting: platform, app version (exact or prefix like 2.4*), signed-in users only, and accessibility settings such as keyboard or large text.
  • Sampling: show it to a share of eligible people. The choice is fixed per person, so nobody flips in and out.
  • Frequency caps: once, until answered (asking again every N days after a dismissal), or recurring every N days.
  • Schedules: a start and end date, so a survey can cover exactly one release.
Effort answers as a filterOrbit iOS · last 30 days
Upgrade funnel conversion for people grouped by their answer to “How easy was it to set up your first project?” on a 1 to 7 scale
Effort answerChartPeopleUpgraded
6–7 (easy)61241%
3–538822%
1–2 (hard)1417%

People who found setup hard rarely upgrade. Open their journeys to see where setup went wrong, then filter the friction report to the same group.

Every answer filters every report

When someone sees, dismisses or answers a survey, it's recorded as an event with the rest of their session. Pick a campaign, a question and a score range, and that group becomes a filter.

So you can open the journeys of detractors, the friction report for people who found setup hard, or replays of sessions that ended in a low CSAT score.

  1. Write the question

    Pick a type and write it in plain words. Surveys are saved as drafts.

  2. Choose who and when

    Set the trigger, delay, targeting, sample and frequency cap, and an optional start and end date.

  3. Activate

    A person switches it from draft to active. Pause it any time.

  4. Use the answers

    Read scores and open text, then filter funnels, friction and replays by what people said.

An always-on feedback widget, with accessibility built in

Surveys ask your questions. The feedback widget lets people raise their own. Switch it on and a small button sits in the corner of every page, left or right.

Reports arrive in a triage inbox with the page, device, app version and accessibility settings attached, and move from new to triaged to resolved.

  • Categories: something's broken, something's confusing, an accessibility barrier, an idea or request, or something else.
  • Optional annotated screenshot: the browser asks what to share, then people can highlight or hide parts before sending.
  • Nothing typed on the page is included, and the widget itself is keyboard and screen reader accessible.
Feedback inboxacme.com · last 7 days

Example report form with the category “An accessibility barrier” selected and an annotated screenshot attached.

Feedback reports by category and status
ReportCategoryStatus
“Can't reach the date picker with Tab”Accessibility barrierNew
“Export button spins forever”Something's brokenTriaged
“Not sure what ‘seats’ means”Something's confusingResolved

Headless surveys in your mobile app

On React Native, Metrickle handles targeting, sampling, frequency caps and schedules, and your app renders the survey with its own components. It looks like the rest of your app and uses your own accessibility work.

The feedback widget is available there too: send a report with an optional screenshot from your own form.

// Headless: Metrickle decides when,
// your components decide how it looks.
mk.surveys.onShow((survey) => {
  openSurveySheet(survey.campaign.questions, {
    onOpen: () => survey.shown(),
    onAnswer: (q, a) => survey.answer(q, a),
    onDone: () => survey.complete(),
    onClose: (i) => survey.dismiss(i),
  });
});

Surveys need to remember who has already been asked, so they stay off in cookieless mode and for visitors who have opted out. The feedback widget still works in cookieless mode.

Common questions

Which platforms can show in-app surveys?

The web script tag and npm package render surveys for you. The iOS, Android and Flutter SDKs show them in a built-in native sheet that meets WCAG 2.2 AA, or hand them to your own UI. The React Native SDK is headless: it decides when a survey should show, and your app renders it. Surveys and feedback work on every platform.

How is the NPS score calculated?

The share of promoters (9 or 10) minus the share of detractors (0 to 6), from −100 to +100. CSAT is reported as the share of satisfied answers, and effort and star ratings as the mean.

Can I run surveys in cookieless mode?

No. Frequency caps and sampling need to remember who has been asked, which means storing something on the device. In cookieless mode nothing is stored, so surveys stay off. The feedback widget still works.

How do I stop people being asked too often?

Use a frequency cap (once, until answered, or recurring every so many days), sample a share of eligible people, and set start and end dates. A delay after the trigger keeps a survey from interrupting the task it asks about.

Can an AI assistant launch a survey?

It can draft one. Surveys created or edited through an API token are always saved as drafts, and a person activates them in the dashboard.

See where your apps break, and who they break for

Free to start. One script tag on the web, one SDK on mobile, and no cookie banner in cookieless mode.

Start tracking for free