Set the question and round
Copy the HTML to a page such as /nps, swap in your access key, put your company or product name in the question, and set the hidden survey value to this round (for example 'NPS 2027-Q1').
Form template · NPS Survey Template
Updated · plan facts checked against /pricing
An NPS survey asks one question, "How likely are you to recommend us to a friend or colleague?", on a 0-10 scale, then asks why. This free NPS survey template is plain HTML: 11 labelled radio buttons, one follow-up box, an optional email and a hidden customer ID read from the link. The first 500 responses are free in total.

This template is one of our free HTML form templates. See more form templates by industry. Rating one order or ticket instead? Use the customer satisfaction survey form.
No server, API route, or SDK — your NPS Survey posts straight to one endpoint.
Every submission is emailed to you and saved to a searchable dashboard — spam filtered before it reaches you.
It's plain HTML you own — paste the NPS Survey snippet, swap in your access key, and ship.
Copy and ship
Plain HTML that posts to the /api/submit endpoint. Replace YOUR_ACCESS_KEY with the key from your dashboard; that's the only edit.
<!-- Link to this page as e.g. /nps?cid=C-2291 so the customer ID is captured -->
<form action="https://splitforms.com/api/submit" method="POST">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY">
<input type="hidden" name="subject" value="New NPS response">
<input type="hidden" name="survey" value="NPS 2027-Q1">
<input type="hidden" name="customer_id" id="customer_id">
<input type="hidden" name="form_loaded_at" id="form_loaded_at">
<fieldset>
<legend>How likely are you to recommend [Company] to a friend or colleague?</legend>
<p id="nps-scale-help">0 = Not at all likely, 10 = Extremely likely</p>
<div role="radiogroup" aria-describedby="nps-scale-help">
<label><input type="radio" name="score" value="0" required> 0</label>
<label><input type="radio" name="score" value="1"> 1</label>
<label><input type="radio" name="score" value="2"> 2</label>
<label><input type="radio" name="score" value="3"> 3</label>
<label><input type="radio" name="score" value="4"> 4</label>
<label><input type="radio" name="score" value="5"> 5</label>
<label><input type="radio" name="score" value="6"> 6</label>
<label><input type="radio" name="score" value="7"> 7</label>
<label><input type="radio" name="score" value="8"> 8</label>
<label><input type="radio" name="score" value="9"> 9</label>
<label><input type="radio" name="score" value="10"> 10</label>
</div>
</fieldset>
<label>What is the main reason for your score?
<textarea name="reason" rows="4"></textarea>
</label>
<label>Email, if you're happy for us to reply (optional)
<input type="email" name="email" autocomplete="email">
</label>
<!-- honeypot: leave empty -->
<input type="checkbox" name="botcheck" style="display:none" tabindex="-1" autocomplete="off">
<button type="submit">Send my score</button>
</form>
<script>
document.getElementById('form_loaded_at').value = Date.now();
document.getElementById('customer_id').value =
new URLSearchParams(location.search).get('cid') || '';
</script>Field by field
score (radios 0-10)reason (textarea)email (optional)customer_id (hidden)survey (hidden)How to add it
To add a NPS Survey to your site you need three things: a free splitforms access key, the HTML snippet above, and your key pasted into it. No backend, database, or CAPTCHA library — the form posts to one URL and every submission lands in your inbox and dashboard.
Copy the HTML to a page such as /nps, swap in your access key, put your company or product name in the question, and set the hidden survey value to this round (for example 'NPS 2027-Q1').
Email each customer the survey link with their ID, e.g. /nps?cid=C-2291. Send relationship NPS on a fixed schedule (quarterly is common) so rounds stay comparable.
Every response is emailed to you and saved in the dashboard. On paid plans, export the CSV, count 9-10s and 0-6s, and subtract the detractor percentage from the promoter percentage.
Read the 0-6 comments first and reply to those who left an email. Track the score per round alongside the response count, not as a single headline number.
What's included
Net Promoter Score was introduced by Fred Reichheld with Bain & Company in 2003, and its value comes from everyone asking the same question the same way. Change the wording, the 0-10 scale or the end labels and your number stops being comparable with last quarter's. So this template keeps the standard question word for word and puts everything you might want to customise in the follow-up. The scoring is simple: 9-10 are promoters, 7-8 passives, 0-6 detractors, and NPS is the percentage of promoters minus the percentage of detractors, a whole number from -100 to +100. Passives count in the total but in neither group, which is why moving people from 6 to 7 shifts the score as much as moving them from 8 to 9. The hidden customer ID matters for the follow-up step: a detractor's comment is only actionable if you know whose account it is. Standard 0-10 question, scored correctly: % promoters minus % detractors.

Where submissions go
Reply-to is wired to the visitor's email, so one tap on Reply answers them directly — while the built-in honeypot and automatic spam scoring filter out bots before they reach you. Every submission is emailed to your inbox and can forward to a webhook or Slack the moment a visitor hits send.

How SplitForms works
splitforms receives the submission, filters spam, saves it to your dashboard and emails you — then, on paid plans, sends it on to your webhooks and integrations. No backend infrastructure to build.

Point your form to your unique SplitForms endpoint. That's it.

We instantly capture and organize every submission in your inbox.

Send data to email, spreadsheets, CRMs, webhooks, and 7,000+ apps.

No credit card required. Set up in under 60 seconds.
Connect & automate
On paid plans, submissions can also go to Slack, Discord, Google Sheets, Notion, Airtable, Zapier or any signed webhook — and splitforms works on the platforms you build on, from WordPress and Shopify to Next.js. With Stripe connected, your forms can take payments too.

Questions
A Net Promoter Score survey asks customers how likely they are to recommend you to a friend or colleague on a 0-10 scale, usually followed by one open question about why. The method was introduced by Fred Reichheld and Bain & Company. Use it to track how customers feel about the relationship over time, not to rate a single order.
Group the 0-10 answers: 9-10 are promoters, 7-8 passives, 0-6 detractors. NPS = % promoters − % detractors. Illustrative example: 200 responses with 110 promoters (55%), 50 passives and 40 detractors (20%) gives an NPS of 55 − 20 = 35. Scores run from −100 to +100 and are shown as a whole number, not a percentage.
With scores in column B (B2:B201): promoters =COUNTIF(B2:B201,">=9")/COUNT(B2:B201), detractors =COUNTIF(B2:B201,"<=6")/COUNT(B2:B201), and NPS =(promoters − detractors)*100. CSV export is on paid plans; on Free you can read every response in the dashboard and email notifications.
There is no single number that holds across industries, survey methods and customer types, so be wary of universal benchmarks. The most useful comparison is your own score over time, measured with the same question, the same audience and the same sending method, shown with its response count.
NPS asks about the whole relationship and is usually sent on a schedule. CSAT asks how satisfied someone was with one order, visit or ticket, right after it. If you want to know which specific interaction went wrong, use the customer satisfaction survey form; if you want a periodic loyalty measure, use this one.
Each response is one submission. The Free plan covers 500 submissions in total (not per month), with no card, which suits a small first round. Larger customer lists and CSV export need a paid plan; Pro is $5 per month. Paid plans can also send each response to Slack or to your own system by signed webhook.
Simple pricing
Free gives you 500 submissions for $0 — no card, no time limit. Pro is $5/month for 5,000 submissions a month, and Annual is $49/year for 15,000 a month with every Pro feature.
For side projects and indie devs.
Every paid feature, for agencies and growing products.
Every Pro feature with triple the volume — $0.27 per 1,000 at full use.
No credit card required on Free • Cancel anytime • Full pricing and FAQ