Structure your CSAT survey responses into clear themes and actionable insights so you know exactly what's driving satisfaction — and what's hurting it.
Template components
Response Overview
Summarize the volume, time period, and score breakdown of the CSAT responses you are analyzing.
List the 3–5 topics that appear most frequently across both positive and negative responses.
Example: Onboarding clarity (mentioned in 67 responses), response time from support (54), billing confusion (38), feature discoverability (31), mobile experience (22).
Representative Quotes
Paste one or two verbatim customer quotes that best illustrate each theme you identified.
Example: Onboarding — "I had no idea where to start after signing up, the setup guide was buried."; Support — "Got a reply in under 2 hours, solved my issue on the first message."
Recommended Actions
For each theme, write one specific next step tied to a team or owner who can act on it.
Example: Onboarding clarity → Product team to redesign welcome checklist by end of Q3; Billing confusion → CS team to add FAQ to post-invoice email by July 15.
Full Copyable Template
<div class="tmpl-full-doc">
<div class="tmpl-full-header">
<div class="tmpl-full-title">CSAT Analysis Template (free)</div>
<div class="tmpl-full-meta">[Customer Experience / Product Ops] · [May 4, 2026] · [Post-ticket CSAT survey, 186 responses from Q2]</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">Analysis objective</div>
<div class="tmpl-full-field-value">[Understand what is driving low satisfaction after support interactions for Enterprise and Pro plan customers, with extra attention to onboarding and reporting-related feedback.]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Survey question analyzed</div>
<div class="tmpl-full-field-value">[“How satisfied were you with your experience?” and open-text follow-up: “What could we have done better?”]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Time period</div>
<div class="tmpl-full-field-value">[Responses collected between April 1 and June 30, 2026, after support ticket closure.]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Segments included</div>
<div class="tmpl-full-field-value">[B2B SaaS customers across SMB, Mid-market, and Enterprise; tag responses by plan tier, region, account age, and ticket type.]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Sample and exclusions</div>
<div class="tmpl-full-field-value">[186 total responses; exclude blank comments, duplicate submissions, and comments unrelated to the support interaction such as billing disputes already tracked elsewhere.]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Scoring lens</div>
<div class="tmpl-full-field-value">[Review comments by CSAT score bucket: 1–2 dissatisfied, 3 neutral, 4–5 satisfied; note whether themes appear in low-score comments only or across all score levels.]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Primary business context</div>
<div class="tmpl-full-field-value">[Recent product changes include new Dashboard Builder, refreshed Salesforce sync, and migration to the new Admin Console.]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Decision this analysis should inform</div>
<div class="tmpl-full-field-value">[Prioritize support process fixes vs. product usability fixes for next quarter’s CX roadmap.]</div>
</div>
<div class="tmpl-full-tip">💡 Tip: Before coding, skim 20–30 responses and write down the exact words customers use most often. CSAT analysis is stronger when themes reflect real language like “had to follow up twice” or “couldn’t export the dashboard,” not internal jargon.</div>
</div>
<hr class="tmpl-full-divider">
<div class="tmpl-full-section">
<div class="tmpl-full-section-title">2. Coding Guide</div>
<div class="tmpl-full-q">
<div class="tmpl-full-q-text"><strong>Slow first response</strong> — Customer satisfaction drops because support took too long to initially acknowledge or engage with the issue. Example: "I submitted the ticket in the morning and didn't hear anything until the next day, which felt too slow for something blocking our launch."</div>
</div>
<div class="tmpl-full-q">
<div class="tmpl-full-q-text"><strong>Multiple follow-ups required</strong> — Customer had to chase the team, repeat the request, or ask more than once before getting traction. Example: "I had to bump the ticket twice and re-explain the same context before anyone actually looked at the Salesforce sync error."</div>
</div>
<div class="tmpl-full-q">
<div class="tmpl-full-q-text"><strong>Resolution was incomplete or temporary</strong> — The ticket was answered, but the underlying problem remained unresolved or came back. Example: "Support gave us a workaround for the export bug, but the dashboard still breaks every Monday when the scheduled report runs."</div>
</div>
<div class="tmpl-full-q">
<div class="tmpl-full-q-text"><strong>Clear, empathetic support communication</strong> — Customer explicitly values ownership, clarity, friendliness, or proactive communication from the support team. Example: "Maya kept me updated at every step and translated the technical issue into plain English, which made a frustrating bug much easier to deal with."</div>
</div>
<div class="tmpl-full-q">
<div class="tmpl-full-q-text"><strong>Product usability confusion</strong> — Customer satisfaction is affected by unclear workflows, hidden settings, or confusing UI in the product itself rather than the support interaction alone. Example: "The new Admin Console looks cleaner, but I still couldn't figure out where permission inheritance is set without opening three different menus."</div>
</div>
<div class="tmpl-full-q">
<div class="tmpl-full-q-text"><strong>Feature gap blocking work</strong> — Customer is dissatisfied because a needed capability is missing, limited, or unavailable on their plan. Example: "We can build the dashboard, but not schedule it by team owner, so we still have to do the final step manually every week."</div>
</div>
<div class="tmpl-full-q">
<div class="tmpl-full-q-text"><strong>Knowledge base or self-serve docs fell short</strong> — Customer tried documentation first but found it outdated, incomplete, or hard to apply. Example: "The help article still shows the old settings page, so by the time I realized the steps had changed I'd already lost 20 minutes."</div>
</div>
<div class="tmpl-full-q">
<div class="tmpl-full-q-text"><strong>Successful fast resolution</strong> — Customer reports high satisfaction because the issue was solved quickly with minimal effort on their side. Example: "The agent fixed our SSO lockout in one reply and included screenshots, so the whole thing was resolved in under 15 minutes."</div>
</div>
<div class="tmpl-full-tip">💡 Tip: Apply more than one code to a comment when needed. A single response can contain both a process theme (“multiple follow-ups required”) and a product theme (“feature gap blocking work”).</div>
</div>
<hr class="tmpl-full-divider">
<div class="tmpl-full-section">
<div class="tmpl-full-section-title">3. Coding Rules and Notes</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Unit of analysis</div>
<div class="tmpl-full-field-value">[Code each individual response once per theme; do not count the same theme twice within one comment unless analyzing sentence-level data separately.]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">How to handle mixed feedback</div>
<div class="tmpl-full-field-value">[If a customer praises the agent but criticizes the product, code both “Clear, empathetic support communication” and the relevant product theme. Preserve contradiction because it often explains neutral 3-star scores.]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Severity note</div>
<div class="tmpl-full-field-value">[Mark a theme as high severity when the comment mentions blocked work, delayed launch, missed reporting deadline, admin lockout, or risk of churn.]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Segmentation to compare after coding</div>
<div class="tmpl-full-field-value">[Compare themes by plan tier, ticket type, score bucket, and new vs. mature accounts to see whether dissatisfaction is concentrated in onboarding-heavy customers or in technical support cases.]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">What not to over-code</div>
<div class="tmpl-full-field-value">[Avoid coding vague praise like “great support” unless the customer gives a reason such as speed, clarity, ownership, or expertise.]</div>
</div>
<div class="tmpl-full-tip">💡 Tip: After your first pass, merge codes only if they would lead to the same action. For CSAT work, “slow first response” and “multiple follow-ups required” often look similar but usually point to different process fixes.</div>
</div>
<hr class="tmpl-full-divider">
<div class="tmpl-full-section">
<div class="tmpl-full-section-title">4. Theme Log</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Theme: Product usability confusion in Dashboard Builder · <span style="font-weight:400;color:#888">34 mentions</span></div>
<div class="tmpl-full-field-value">Customers were often satisfied with support effort but still frustrated that basic reporting tasks were hard to complete in the new Dashboard Builder. Top quote: "Your team was responsive, but I still couldn't figure out how to filter by account owner without clicking through three separate panels." → Recommended action: add in-product guidance for common report setups and update onboarding walkthroughs for the new builder.</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Theme: Multiple follow-ups required on technical tickets · <span style="font-weight:400;color:#888">27 mentions</span></div>
<div class="tmpl-full-field-value">Lower-CSAT responses frequently mention having to chase support for updates, especially on API, SSO, and Salesforce sync issues. Top quote: "I don't mind waiting for engineering, but I shouldn't have to ask twice just to know whether anyone is still working on the case." → Recommended action: introduce mandatory status updates every 24 hours for engineering-linked tickets.</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Theme: Docs outdated after Admin Console redesign · <span style="font-weight:400;color:#888">19 mentions</span></div>
<div class="tmpl-full-field-value">Customers often tried self-serve help first, then entered support already frustrated because screenshots and navigation steps no longer matched the live product. Top quote: "The article said go to Team Settings, but that menu doesn't exist anymore in the new Admin Console, so I started the ticket annoyed." → Recommended action: audit top 20 help center articles tied to admin tasks and refresh screenshots and paths within two weeks.</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Theme: Fast, high-confidence resolution for access issues · <span style="font-weight:400;color:#888">23 mentions</span></div>
<div class="tmpl-full-field-value">Positive CSAT comments cluster around quick handling of urgent access problems such as SSO lockouts, permission resets, and expired invites. Top quote: "We were locked out before a client review and support fixed the SAML mapping in one message—honestly one of the best support experiences we've had." → Recommended action: document and replicate the playbook used by the access-support queue across other high-urgency workflows.</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Theme: Feature gap in scheduled exports for stakeholder reporting · <span style="font-weight:400;color:#888">16 mentions</span></div>
<div class="tmpl-full-field-value">Several neutral and dissatisfied comments point to missing automation options in scheduled exports, especially for customer success and revenue ops teams sending recurring reports. Top quote: "Support answered my question, but the real problem is we still can't auto-send a dashboard to different regional leads without manually duplicating the report." → Recommended action: feed this gap into product planning and quantify affected accounts by plan tier and export usage.</div>
</div>
<div class="tmpl-full-tip">💡 Tip: A good theme log does more than count mentions. Each card should connect the pattern, the customer language, and the next action a team could actually take.</div>
</div>
<hr class="tmpl-full-divider">
<div class="tmpl-full-section">
<div class="tmpl-full-section-title">5. Summary Findings</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Top 3 themes by volume</div>
<div class="tmpl-full-field-value">[1) Product usability confusion in Dashboard Builder (34), 2) Multiple follow-ups required on technical tickets (27), 3) Fast, high-confidence resolution for access issues (23)]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Key takeaway</div>
<div class="tmpl-full-field-value">[Low CSAT is being driven by a mix of support process friction and product friction: customers appreciate agent effort, but unresolved usability issues in reporting and inconsistent follow-up on technical cases are limiting satisfaction.]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Most urgent action</div>
<div class="tmpl-full-field-value">[Implement a required update cadence for engineering-linked support tickets, because “having to chase for updates” appears frequently in 1–2 score comments and is immediately addressable without a product release.]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Priority actions for next 30 days</div>
<div class="tmpl-full-field-value">[1) Set 24-hour update SLA on technical tickets, 2) refresh outdated Admin Console help content, 3) create guided setup content for top Dashboard Builder tasks, 4) escalate scheduled export gaps to product review.]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Metric to track</div>
<div class="tmpl-full-field-value">[Track CSAT for technical tickets, median time to first response, percentage of tickets receiving proactive updates every 24 hours, and repeat mentions of Dashboard Builder confusion in open-text comments.]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Stakeholder notes</div>
<div class="tmpl-full-field-value">[Support leadership should own process fixes; Product should review Dashboard Builder and scheduled export friction; Documentation should prioritize Admin Console article updates; Customer Success should be briefed on likely pain points for QBR reporting workflows.]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Share with</div>
<div class="tmpl-full-field-value">[Head of Support, Product Manager for Reporting, Documentation Lead, CX Operations, Customer Success Directors]</div>
</div>
<div class="tmpl-full-tip">💡 Tip: End with one operational action, one product action, and one metric. That makes the analysis easier for stakeholders to act on than a long list of themes alone.</div>
</div>
</div>
How to use it
Export your CSAT responses Pull all open-text responses and scores from your survey tool (Typeform, Delighted, Intercom, etc.) into a spreadsheet alongside their numeric ratings.
Fill in the Response Overview section Count total responses, calculate your average score, and note the distribution of ratings so you have a baseline before diving into the text.
Read through responses and tag themes Add a tag column in your spreadsheet and label each response with the topic it mentions, then count which tags appear most often to populate the Recurring Themes section.
Write actions and assign owners For every theme that appears in more than 5% of responses, write one concrete fix in the Recommended Actions section and name the person or team responsible for it.
What it looks like filled in
Slow Initial Setup
"It took me three days to get the integration working — the docs assumed I already knew the API."
→ Rewrite the integration quick-start guide to include a no-code setup path and assign to the Product team by August 1.
Support Response Speed
"Every time I hit a wall, support got back to me within the hour — that alone kept me from churning."
→ Document what the support team is doing right and build an SLA benchmark of under 2 hours for all tiers.
Missing Reporting Features
"I have to export to Excel just to see a basic trend line — I wish the dashboard did this automatically."
→ Add trend-line charts to the core dashboard and prioritize in the next sprint planning session with Engineering.
Why teams skip the template
Tagging hundreds of responses by hand takes hours Reading every open-text answer and manually assigning themes is exhausting and inconsistent — two people doing the same exercise will produce different results.
Themes shift every time you get new responses A static spreadsheet goes stale the moment new CSAT responses come in, meaning you have to repeat the entire process from scratch each cycle.
Quotes get cherry-picked, not systematically surfaced When you choose representative quotes manually you tend to remember the most dramatic ones, which skews your read on what the majority of customers actually experienced.
Analyze your CSAT survey responses automatically — no template needed