Customer Satisfaction Survey Template: NPS, CSAT and Comment Analysis in Excel
A customer satisfaction survey template for small businesses: the four questions to ask, how to collect answers with a form, Excel formulas for NPS and CSAT, a simple way to tag comments and turn them into an action plan, with a landscaping example.
A customer satisfaction survey measures what customers think with a few standard questions, and Excel turns the answers into clear numbers: Net Promoter Score (how likely they are to recommend you), CSAT (satisfaction with the service) and the most common reasons in their comments. Run regularly, it shows whether improvements work and where the next problem is. This guide covers what to ask, how to collect responses, the formulas and an example.
Step 1: a few well-chosen questions
| Metric | Question | Scale |
|---|---|---|
| NPS | How likely are you to recommend us to a friend or colleague? | 0 to 10 |
| CSAT | How satisfied are you with the service you received? | 1 to 5 |
| Effort (CES) | How easy was it to get what you needed? | 1 to 5 |
| Comment | What is the one thing we should improve? | Free text |
Four questions are enough. Every extra question lowers the number of people who finish.
Step 2: collect the answers
- A Google Form or Microsoft Form sent by email or text after the job or purchase.
- A QR code on the receipt, invoice or counter.
- Send it soon after the experience, while the customer still remembers it.
Export responses to a sheet with one row per response: date, channel, NPS, CSAT, effort and comment. Tell customers why you ask, collect only what you need and keep it anonymous when you can.
Step 3: NPS and CSAT formulas
With responses in a table named Resp:
- Promoters (9–10):
=COUNTIF(Resp[NPS],">=9") - Detractors (0–6):
=COUNTIF(Resp[NPS],"<=6") - NPS:
=(Promoters-Detractors)/COUNT(Resp[NPS])*100, from −100 to +100. - CSAT:
=COUNTIF(Resp[CSAT],">=4")/COUNT(Resp[CSAT]), the share of satisfied customers. - By month: add a date condition with COUNTIFS to see the trend.
Step 4: tag the comments
Add a Theme column with a drop-down list (timing, price, communication, quality, other) and tag each comment as you read it. Then =COUNTIF(Resp[Theme],"Timing") shows what comes up most. Always read the detractors’ comments in full: that is where the concrete causes are.
Example: a landscaping company, 150 responses in a season
| Item | Result |
|---|---|
| Promoters / passives / detractors | 93 / 39 / 18 |
| NPS | 62% − 12% = 50 |
| CSAT (4–5 out of 5) | 129 of 150 = 86% |
| Top themes | Arrival time windows (16), invoice clarity (11), cleanup after the job (6) |
Customers like the work, but vague arrival times are the main complaint, especially among detractors. The company builds an action plan: two-hour arrival windows, a text when the crew is on its way and an itemized invoice. The next survey shows whether NPS moves.
From numbers to improvement
- Compare your position with rivals in the competitor analysis template.
- Feed strengths and weaknesses into the SWOT analysis.
- With permission, use positive comments in the marketing plan.
- Log complaints from identified customers in the CRM spreadsheet so someone follows up.
More guides are in Marketing Plans & Trackers.
Frequently asked questions
What is a good NPS?
It varies a lot by industry; any positive score means more promoters than detractors. The most useful comparison is your own NPS over time.
How many responses do I need?
A few dozen per period already show trends; with very few responses, one customer moves the score a lot.
How often should I survey customers?
Continuously after each job or purchase, with results reviewed monthly or quarterly.
Can I do it all in Google Sheets?
Yes. Google Forms sends responses to a sheet, and COUNTIF and COUNTIFS work the same way.