How to run an NPS survey in Google Forms
Google Forms has no NPS question type, but it does have a linear scale that goes from 0 to 10, which is the only thing an NPS question strictly needs. The part Forms will not do for you is the arithmetic: it will happily show you an average, and the average of a 0-10 scale is not NPS. Here is how to build the question and how to calculate the real score in the linked spreadsheet.
What NPS actually measures
Net Promoter Score comes from one question — how likely you are to recommend something, answered from 0 to 10 — and one rule for reading the answers. Scores of 9 and 10 are promoters. Scores of 0 through 6 are detractors. Scores of 7 and 8 are passives, and they are deliberately ignored when the score is calculated, though they still count in the total.
The result is a single number between -100 and +100, expressed without a percent sign even though it is calculated from percentages. It is not an average, not a percentage of satisfied customers, and not a score out of ten. Reporting the mean of a 0-10 column and calling it NPS is the single most common mistake made with this metric, and it produces a number that cannot be compared with anyone else's.
The reason the bands are lopsided — five values counted as negative, two as positive — is intentional. It is a deliberately demanding measure, which is why a score above zero means more people would recommend you than would warn people away, and why scores in the 30s and 40s are considered strong in most industries.
Building the question in Google Forms
Three steps, all on the free version.
Add a linear scale from 0 to 10
Create a question, choose "Linear scale" as the type, and set the range to start at 0 and end at 10. Zero is available as a start value and you must use it — a 1 to 10 scale is not NPS, because it shifts every band by one and makes your number incomparable with everybody else's.
Use the standard wording and label both ends
Ask "How likely are you to recommend [company or product] to a friend or colleague?" Label the 0 end "Not at all likely" and the 10 end "Extremely likely". Do not label the middle. Rewriting the question is tempting and it quietly breaks comparability with every benchmark and with your own past results. Mark it required.
Add the follow-up question that makes it useful
Immediately after, add an optional paragraph question: "What is the main reason for your score?" The number tells you the temperature; the free text tells you what to fix. If you only have appetite for one report, read the comments from detractors before you look at the score at all.
The formula
NPS = (percentage of promoters) minus (percentage of detractors), where both percentages are of the total number of responses. Promoters answered 9 or 10, detractors answered 0 through 6, and passives who answered 7 or 8 are excluded from both percentages but remain in the denominator. Example: 100 responses, 50 promoters, 30 passives, 20 detractors gives 50% minus 20% = an NPS of 30.
Calculating it in the linked spreadsheet
Open the Responses tab, click the Sheets icon to link a spreadsheet, and assume the NPS column is column B with a header in row 1.
Count each band
Promoters: =COUNTIF(B2:B,">=9") — Detractors: =COUNTIF(B2:B,"<=6") — Total: =COUNT(B2:B). Using COUNT rather than COUNTA on the total keeps blank rows and non-numeric junk out of the denominator, which matters if the question was left optional.
Turn it into the score
In one cell: =ROUND((COUNTIF(B2:B,">=9")-COUNTIF(B2:B,"<=6"))/COUNT(B2:B)*100) — that is promoters minus detractors, divided by the total, times 100. Wrap it in IFERROR so an empty sheet shows a blank rather than a division error.
Show the response count next to it
Put =COUNT(B2:B) in the cell beside the score and always report the two together. An NPS of 60 from nine responses is a rounding artefact, not a result. Because the sheet is live, the number updates as responses arrive — which is the one genuine advantage of doing this in Sheets.
Rules that keep the number meaningful
Most broken NPS reporting comes from one of these, and all of them are avoidable in Google Forms.
- Use 0 to 10, never 1 to 10 — the bands are defined against a zero-based scale.
- Keep passives in the denominator. Dropping the 7s and 8s entirely inflates the score every time.
- Report the score as a whole number between -100 and +100, with no percent sign.
- Publish the response count alongside every score, and treat anything under about 100 responses as directional.
- Keep the question wording identical between waves, or you are measuring your rewrite rather than your customers.
- Always pair the score with the free-text follow-up — the number alone tells you nothing about what to change.
- Compare against your own previous score first. Cross-industry NPS benchmarks vary so widely that they are close to meaningless.
What a native NPS question adds
The Google Forms version works, and if you are sending one survey a quarter to a modest list, the spreadsheet formula above is honestly the whole job. It stops being fine when NPS becomes something you track continuously: every wave means a new form, a new sheet, and re-pointing the formulas, and nobody outside the person who built it can read the result without opening a spreadsheet.
The other gap is presentation. A linear scale renders as eleven radio buttons in a row, which is cramped on a phone and looks nothing like the NPS scales respondents are used to seeing. It is a small thing that measurably affects completion on mobile.
Zunoform has NPS as one of its 24 question types, so the 0-10 scale, the band definitions, and the scoring are built in rather than reconstructed in a spreadsheet each time. It is one of three question types — with e-signature and payment — that need the Pro plan at $14.99/month to publish; you can build and preview an NPS form for free. If you are running a one-off survey, stay on Google Forms and use the formula. If NPS is a number you are going to report every month, having it computed rather than recalculated is worth more than the subscription.
Surveys that pair well with an NPS question
The score tells you the temperature; these tell you why.
A five-question satisfaction check after any customer interaction.
One reason question that branches into the right follow-up — features, price, or competitor.
One week in: setup ease, sticking points, and what the first week should explain better.
Post-appointment feedback on punctuality, the technician, and the fix.
Questions people ask
Does Google Forms have an NPS question type?
No. You build it from a linear scale question set to a 0 to 10 range. Forms will not classify promoters and detractors or calculate the score — that has to be done in the linked spreadsheet.
How do I calculate NPS from Google Forms responses?
Link the responses to a Sheet, then use =ROUND((COUNTIF(B2:B,">=9")-COUNTIF(B2:B,"<=6"))/COUNT(B2:B)*100) where B is the score column. That is the percentage of promoters minus the percentage of detractors, both taken over the total number of responses.
Can I use a 1 to 10 scale instead of 0 to 10?
You can, but it is no longer NPS. The promoter, passive, and detractor bands are defined against a zero-based eleven-point scale, so a 1 to 10 version shifts every band and cannot be compared with any benchmark or with your own earlier results. Google Forms allows 0 as a start value, so there is no reason to.
Why are 7s and 8s ignored?
They are passives — satisfied but not enthusiastic — and NPS deliberately counts only the two extremes. They are excluded from both the promoter and detractor percentages, but they stay in the total, which means a wave full of 7s and 8s pulls the score toward zero rather than leaving it unchanged.
What is a good NPS score?
Anything above zero means you have more promoters than detractors, and scores in the 30s and 40s are widely regarded as strong. Cross-industry comparisons are unreliable enough that the most useful benchmark is your own previous score on identical wording.
Keep reading
Better forms.
Better data.
Build your first form in under 60 seconds. Free forever for personal use, no credit card required.