Skip to main content
Zudo can show an NPS survey inside your own product, on your terms: who gets asked, how often, and in your words. Every answer lands on the account and the contact it came from, so a score is never a number without a customer attached.
The survey is shown by zudo.js, so install that first. Everything on this page is configured at Settings › NPS survey.

What your users see

A small panel, three steps:
  1. The question — “How likely are you to recommend Acme to a friend or colleague?”, with a 0–10 scale.
  2. The follow-up — a box for what made them choose that. Optional; most of the value is here.
  3. Thanks — closes itself after a few seconds.
They can dismiss it at any step. The panel renders in a shadow root, so your product’s styling and the survey’s cannot interfere with each other.

Who gets asked

All of these have to be true. Zudo checks them on its own side, so they hold however the person reaches your product — a new browser or a private window does not reset them. On top of all of it, nobody is asked twice in one day.
The age rule is the one that catches people out. It is measured from the account’s createdAt trait when zudo.js sends one, and otherwise from the day Zudo first saw the account. On a fresh install that is today — so with the default of 30 days, nobody is eligible for a month. Send createdAt on your Zudo.account() call and it measures from the real date instead.

What it says

Every piece of wording is yours to change, and leaving a field empty uses the default shown in it. The settings page previews it as you type. {{productName}} is replaced with the product name you set, or with whatever your page passes to Zudo.nps("survey", { productName: "…" }). If it resolves to nothing, it is removed cleanly along with its space — the sentence still reads. You also control the button colour, where the panel appears, and how long after Zudo.nps() is called before it shows.

Checking the wording

Call Zudo.nps("test") in your product. It ignores every rule above and records nothing, so you can read the real panel without waiting a month or spending one of your own responses.

Where answers show up

  • The account page, under Signals › NPS: the three numbers, and the answers with their comments.
  • Settings › NPS survey: the most recent answers across every account.
Each answer carries the score, the comment, who wrote it and when.

The three numbers

“NPS” means three different things, and Zudo keeps them apart rather than picking one for you: Scores are banded the standard way, so Zudo’s figure is comparable with whatever you reported before:
  • Detractors 0–6
  • Passives 7–8
  • Promoters 9–10
An account nobody has answered for shows no number rather than a zero. For the standard NPS that matters: zero is a real and middling score, and an account you have never heard from is not the same thing.
Parent accounts pool their members’ answers rather than averaging their members’ scores, so a customer made up of several accounts gets one honest figure rather than an average of averages.

Turning it on

The survey is off until you switch it on, so installing zudo.js never starts surveying people as a side effect. When you are ready:
1

Set the rules

Go to Settings › NPS survey and set who gets asked. The defaults are a reasonable starting point for most products.
2

Read the wording

Change what you want, and preview it as you go.
3

Check it with test mode

Call Zudo.nps("test") in your product and read the real panel.
4

Switch it on

Turn on Show the survey. The next eligible person sees it.

What is not here yet

Being straight about the current shape:
  • One survey per organization. Named surveys with their own questions and audiences are planned, not built.
  • In-app only. Emailing the survey is not available yet.
  • No automatic alerting on a low score. A detractor’s answer appears on the account, but Zudo does not yet raise a flag or start a playbook from it. Filtering and segmenting on NPS, and using it in health scoring, are the next thing being built.