Structure your NPS open-ended responses into clear themes and actionable insights so you know exactly what to fix, improve, or double down on.
Template components
Response Collection
List all raw NPS open-ended comments you received in this analysis period, including the respondent's score if available.
Example: Score 9 — "Love the speed and the new dashboard layout. Just wish we could export reports as PDF." | Score 4 — "Onboarding was confusing and support took 3 days to respond." | Score 7 — "Good product but pricing feels high compared to alternatives."
Theme Grouping
Group similar comments into named themes, and note how many responses mention each theme to understand relative frequency.
For each high-impact theme, write one specific next step and assign it to the team or person responsible for following up.
Example: Onboarding Friction → Audit the first 3 onboarding steps and add a progress indicator — Owner: Product team | Support Response Time → Set up an auto-acknowledgment email within 1 hour — Owner: Customer Success lead
Full Copyable Template
<div class="tmpl-full-doc">
<div class="tmpl-full-header">
<div class="tmpl-full-title">NPS Comment Analysis Template</div>
<div class="tmpl-full-meta">[Analyst] · [Date] · [NPS open-ended comments]</div>
</div>
<div class="tmpl-full-section">
<div class="tmpl-full-section-title">1. Analysis Setup</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Data source</div>
<div class="tmpl-full-field-value">[NPS open-ended follow-up comments collected from promoters, passives, and detractors in usercall.co surveys]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Date range</div>
<div class="tmpl-full-field-value">[Example: Jan 1, 2026 – Mar 31, 2026]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Analyst name</div>
<div class="tmpl-full-field-value">[Example: Priya Shah, UX Research]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Research question this analysis answers</div>
<div class="tmpl-full-field-value">[Example: What are the main drivers of promoter enthusiasm, passive hesitation, and detractor dissatisfaction in recent NPS feedback?]</div>
</div>
<div class="tmpl-full-tip">💡 Tip: Be explicit about the question before coding. A focused question helps you decide what to tag and what to ignore.</div>
</div>
<hr class="tmpl-full-divider">
<div class="tmpl-full-section">
<div class="tmpl-full-section-title">2. Step 1 — Code Your Excerpts</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Excerpt [1]</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#1a1a1a">"Once we got everything connected, the team started using it daily and it's honestly saved our CS leads a ton of time. The only rough part was setup — figuring out the first workflow took longer than it should have."</div>
<div style="margin-top:8px;display:flex;flex-wrap:wrap;gap:6px">
<span style="display:inline-block;padding:3px 10px;background:#1a1a1a;color:#fff;border-radius:20px;font-size:12px;font-weight:600">onboarding friction</span>
<span style="display:inline-block;padding:3px 10px;background:#1a1a1a;color:#fff;border-radius:20px;font-size:12px;font-weight:600">ROI signal</span>
</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Excerpt [2]</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#1a1a1a">"I like the product, but we still can't do role-based routing the way we need to. That's kind of a blocker for rolling it out to the full support org."</div>
<div style="margin-top:8px;display:flex;flex-wrap:wrap;gap:6px">
<span style="display:inline-block;padding:3px 10px;background:#1a1a1a;color:#fff;border-radius:20px;font-size:12px;font-weight:600">feature gap</span>
</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Excerpt [3]</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#1a1a1a">"Support was actually great. We hit a weird issue with imports and someone got back to us in like 20 minutes with a workaround and then followed up the next day."</div>
<div style="margin-top:8px;display:flex;flex-wrap:wrap;gap:6px">
<span style="display:inline-block;padding:3px 10px;background:#1a1a1a;color:#fff;border-radius:20px;font-size:12px;font-weight:600">support experience</span>
</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Excerpt [4]</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#1a1a1a">"The UI is clean and most of the team picked it up without training, which is rare for us. I just keep getting pushback from finance that the per-seat pricing feels steep for occasional users."</div>
<div style="margin-top:8px;display:flex;flex-wrap:wrap;gap:6px">
<span style="display:inline-block;padding:3px 10px;background:#1a1a1a;color:#fff;border-radius:20px;font-size:12px;font-weight:600">ease of use praise</span>
<span style="display:inline-block;padding:3px 10px;background:#1a1a1a;color:#fff;border-radius:20px;font-size:12px;font-weight:600">pricing concern</span>
</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Excerpt [5]</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#1a1a1a">"We're not churning yet, but we're comparing you pretty closely to a competitor that has deeper Salesforce integration out of the box. Right now it feels like we'd have to patch too much ourselves."</div>
<div style="margin-top:8px;display:flex;flex-wrap:wrap;gap:6px">
<span style="display:inline-block;padding:3px 10px;background:#1a1a1a;color:#fff;border-radius:20px;font-size:12px;font-weight:600">competitor preference</span>
<span style="display:inline-block;padding:3px 10px;background:#1a1a1a;color:#fff;border-radius:20px;font-size:12px;font-weight:600">feature gap</span>
</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Excerpt [6]</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#1a1a1a">"The product does what we need and I can point to faster response times since we rolled it out, so that's a win. But onboarding was messy — too many steps, too many settings, not enough guidance."</div>
<div style="margin-top:8px;display:flex;flex-wrap:wrap;gap:6px">
<span style="display:inline-block;padding:3px 10px;background:#1a1a1a;color:#fff;border-radius:20px;font-size:12px;font-weight:600">ROI signal</span>
<span style="display:inline-block;padding:3px 10px;background:#1a1a1a;color:#fff;border-radius:20px;font-size:12px;font-weight:600">onboarding friction</span>
</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Excerpt [7]</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#1a1a1a">"Honestly the biggest issue is I can't justify the price yet. For a smaller team like ours, the value might be there later, but right now it feels ahead of what we're ready to spend."</div>
<div style="margin-top:8px;display:flex;flex-wrap:wrap;gap:6px">
<span style="display:inline-block;padding:3px 10px;background:#1a1a1a;color:#fff;border-radius:20px;font-size:12px;font-weight:600">pricing concern</span>
<span style="display:inline-block;padding:3px 10px;background:#1a1a1a;color:#fff;border-radius:20px;font-size:12px;font-weight:600">ROI signal</span>
</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Excerpt [8]</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#1a1a1a">"I recommend it because it's easy to use and way less clunky than the tool we replaced. That said, if support had been slower during the first month, we probably would've had a very different experience."</div>
<div style="margin-top:8px;display:flex;flex-wrap:wrap;gap:6px">
<span style="display:inline-block;padding:3px 10px;background:#1a1a1a;color:#fff;border-radius:20px;font-size:12px;font-weight:600">ease of use praise</span>
<span style="display:inline-block;padding:3px 10px;background:#1a1a1a;color:#fff;border-radius:20px;font-size:12px;font-weight:600">support experience</span>
</div>
</div>
<div class="tmpl-full-tip">💡 Tip: A good code is short, specific, and reusable. It should describe the core idea in the excerpt without simply repeating the entire quote.</div>
</div>
<hr class="tmpl-full-divider">
<div class="tmpl-full-section">
<div class="tmpl-full-section-title">3. Step 2 — Group Codes into Themes</div>
<div class="tmpl-full-tip">💡 Tip: In this step, move from granular labels to bigger patterns. You are clustering related codes from Step 1 into broader themes that answer the research question.</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label" style="font-size:16px">Onboarding & Setup</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#555;margin-bottom:10px">Comments in this theme describe the experience of getting started, configuring workflows, and reaching first value.</div>
<div style="display:flex;flex-wrap:wrap;gap:6px">
<span style="display:inline-block;padding:4px 12px;background:#f7f5f0;border:1px solid #e0ddd8;border-radius:20px;font-size:13px;color:#1a1a1a">onboarding friction · 2 excerpts</span>
<span style="display:inline-block;padding:4px 12px;background:#f7f5f0;border:1px solid #e0ddd8;border-radius:20px;font-size:13px;color:#1a1a1a">ease of use praise · 2 excerpts</span>
</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label" style="font-size:16px">Product Gaps</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#555;margin-bottom:10px">This theme captures unmet product needs, missing functionality, and comparison points where alternatives appear stronger.</div>
<div style="display:flex;flex-wrap:wrap;gap:6px">
<span style="display:inline-block;padding:4px 12px;background:#f7f5f0;border:1px solid #e0ddd8;border-radius:20px;font-size:13px;color:#1a1a1a">feature gap · 2 excerpts</span>
<span style="display:inline-block;padding:4px 12px;background:#f7f5f0;border:1px solid #e0ddd8;border-radius:20px;font-size:13px;color:#1a1a1a">competitor preference · 1 excerpt</span>
</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label" style="font-size:16px">Value & ROI</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#555;margin-bottom:10px">These comments point to whether customers can see measurable impact and whether that impact feels meaningful enough to justify continued use.</div>
<div style="display:flex;flex-wrap:wrap;gap:6px">
<span style="display:inline-block;padding:4px 12px;background:#f7f5f0;border:1px solid #e0ddd8;border-radius:20px;font-size:13px;color:#1a1a1a">ROI signal · 3 excerpts</span>
</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label" style="font-size:16px">Pricing Perception</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#555;margin-bottom:10px">This theme covers reactions to price, seat model concerns, and whether cost feels aligned with current customer needs.</div>
<div style="display:flex;flex-wrap:wrap;gap:6px">
<span style="display:inline-block;padding:4px 12px;background:#f7f5f0;border:1px solid #e0ddd8;border-radius:20px;font-size:13px;color:#1a1a1a">pricing concern · 2 excerpts</span>
<span style="display:inline-block;padding:4px 12px;background:#f7f5f0;border:1px solid #e0ddd8;border-radius:20px;font-size:13px;color:#1a1a1a">ROI signal · 3 excerpts</span>
</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label" style="font-size:16px">Support Quality</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#555;margin-bottom:10px">Feedback in this cluster reflects how much responsive, effective support shapes customer confidence and retention.</div>
<div style="display:flex;flex-wrap:wrap;gap:6px">
<span style="display:inline-block;padding:4px 12px;background:#f7f5f0;border:1px solid #e0ddd8;border-radius:20px;font-size:13px;color:#1a1a1a">support experience · 2 excerpts</span>
</div>
</div>
</div>
<hr class="tmpl-full-divider">
<div class="tmpl-full-section">
<div class="tmpl-full-section-title">4. Theme Summary Cards</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Onboarding & Setup · 4 total excerpts</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#1a1a1a"><strong>Key insight:</strong> Customers often see value after adoption, but early setup friction can slow activation and dampen first impressions.<br><br><strong>Representative quote:</strong> "Once we got everything connected, the team started using it daily and it's honestly saved our CS leads a ton of time. The only rough part was setup — figuring out the first workflow took longer than it should have."<br><br><strong>Recommended action:</strong> Simplify initial configuration with guided setup, best-practice defaults, and clearer onboarding checklists.</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Product Gaps · 3 total excerpts</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#1a1a1a"><strong>Key insight:</strong> Missing workflow and integration capabilities are limiting expansion and making competitor alternatives more attractive.<br><br><strong>Representative quote:</strong> "We're not churning yet, but we're comparing you pretty closely to a competitor that has deeper Salesforce integration out of the box. Right now it feels like we'd have to patch too much ourselves."<br><br><strong>Recommended action:</strong> Prioritize the highest-frequency missing capabilities and create a clear roadmap message for at-risk accounts.</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Value & ROI · 3 total excerpts</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#1a1a1a"><strong>Key insight:</strong> Positive NPS sentiment is often tied to visible operational gains, but customers need help connecting product usage to measurable outcomes.<br><br><strong>Representative quote:</strong> "The product does what we need and I can point to faster response times since we rolled it out, so that's a win. But onboarding was messy — too many steps, too many settings, not enough guidance."<br><br><strong>Recommended action:</strong> Arm CS and marketing with ROI proof points, benchmarks, and customer-facing value reviews.</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Pricing Perception · 2 total excerpts</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#1a1a1a"><strong>Key insight:</strong> Price concerns are less about absolute cost alone and more about whether packaging matches team size, usage frequency, and current maturity.<br><br><strong>Representative quote:</strong> "Honestly the biggest issue is I can't justify the price yet. For a smaller team like ours, the value might be there later, but right now it feels ahead of what we're ready to spend."<br><br><strong>Recommended action:</strong> Review packaging and pricing for lighter-use teams, and test clearer messaging on who the current plans are best for.</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Support Quality · 2 total excerpts</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#1a1a1a"><strong>Key insight:</strong> Fast, human, high-quality support strengthens promoter sentiment and can offset friction during the first month of use.<br><br><strong>Representative quote:</strong> "Support was actually great. We hit a weird issue with imports and someone got back to us in like 20 minutes with a workaround and then followed up the next day."<br><br><strong>Recommended action:</strong> Preserve response-time strengths, document high-impact support moments, and feed recurring support issues back into onboarding and product improvements.</div>
</div>
</div>
<hr class="tmpl-full-divider">
<div class="tmpl-full-section">
<div class="tmpl-full-section-title">5. Analysis Wrap-Up</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Top finding</div>
<div class="tmpl-full-field-value">[Example: Customers clearly value usercall.co once live, but setup friction and missing advanced capabilities are shaping passive and detractor feedback.]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Most urgent theme</div>
<div class="tmpl-full-field-value">[Example: Onboarding & Setup]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Recommended next step</div>
<div class="tmpl-full-field-value">[Example: Review all onboarding-friction excerpts with Product and Customer Success, then prioritize 2–3 setup improvements for the next release.]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Share with (stakeholder)</div>
<div class="tmpl-full-field-value">[Example: Head of Product, Customer Success Lead, Support Manager]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Date completed</div>
<div class="tmpl-full-field-value">[Example: Apr 8, 2026]</div>
</div>
<div class="tmpl-full-tip">💡 Tip: End with a decision-oriented summary. The goal is not just to identify themes, but to help stakeholders act on them.</div>
</div>
</div>
How to use it
Export your NPS comments Pull all open-ended responses from your NPS survey tool (Delighted, Typeform, SurveyMonkey, etc.) into a spreadsheet alongside each respondent's numerical score.
Read through and tag each comment Assign one or two theme tags to every comment — for example "onboarding," "pricing," or "support" — so you can group them in the next step.
Fill in the Theme Grouping and Sentiment sections Tally how many comments share each tag, decide whether the overall sentiment is positive or negative, and rate the business impact so you can prioritize.
Define one action per high-impact theme Write a single, specific next step for every theme rated impact 3 or 2, name the owner, and add it directly to your team's backlog or sprint.
What it looks like filled in
Onboarding Friction
"I signed up excited but had no idea what to do first. The setup wizard disappeared and I couldn't find it again."
→ Re-surface the setup checklist persistently in the dashboard until all steps are complete
Speed & Performance
"Honestly the reason I give it a 9 is how fast everything loads. Switched from a competitor and it's night and day."
→ Add a performance benchmark callout to the sales and marketing site to reinforce this differentiator
Missing Export Features
"Would give a 10 if I could export my reports as a PDF or share a live link with clients who don't have an account."
→ Add PDF export and shareable read-only report links to the Q3 product roadmap
Why teams skip the template
Tagging hundreds of comments by hand takes hours Manually reading and categorizing every open-ended NPS response is tedious, and themes you're already primed to see tend to get over-counted while subtle patterns get missed entirely.
Theme naming is inconsistent across team members When two people tag the same batch of responses, they rarely use the same labels — making it impossible to reliably compare NPS feedback across months or between segments.
The template becomes stale the moment new responses come in NPS comments arrive continuously, so a spreadsheet analyzed once a quarter gives you a snapshot that's already weeks out of date by the time you act on it.
Analyze your NPS comments automatically — no template needed