Structure your raw user feedback into clear themes, evidence, and prioritized actions so your team can make faster, more confident product decisions.
Template components
Feedback Source & Volume
Record where the feedback came from and how many responses you're analyzing.
Example: 47 in-app survey responses collected after onboarding, week of June 2–8, via Typeform.
Key Themes Identified
List the 3–5 recurring topics or patterns that appeared most frequently across responses.
Example: (1) Confusing dashboard navigation, (2) Missing CSV export, (3) Slow loading on mobile, (4) Positive mentions of onboarding checklist.
Supporting Quotes
Paste 1–2 direct user quotes that best represent each theme you identified.
Example: Theme — Confusing navigation: "I couldn't figure out where my reports went after I saved them." / "The sidebar changes every time I switch views and it throws me off."
Recommended Actions
For each theme, write one specific next step your team should take based on the evidence.
Example: Navigation confusion → Audit sidebar IA and run a card sort with 5 users before next sprint; CSV export gap → Add to Q3 roadmap as high-priority feature request.
Full Copyable Template
<div class="tmpl-full-doc">
<div class="tmpl-full-header">
<div class="tmpl-full-title">User Feedback Analysis Template</div>
<div class="tmpl-full-meta">[Analyst] · [Date] · [user feedback]</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">[User feedback from in-app feedback, support messages, and open-ended survey responses]</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 – Jan 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: Maya Chen]</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 recurring product issues, requests, and moments of delight are users surfacing across feedback channels this month?]</div>
</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">"Every time I click export on the weekly report it just spins forever and then dumps me back to the dashboard. I tried Chrome and Safari, same thing. Kind of stuck because my manager needs the CSV today."</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">bug report</span>
<span style="display:inline-block;padding:3px 10px;background:#1a1a1a;color:#fff;border-radius:20px;font-size:12px;font-weight:600">missing data/export</span>
<span style="display:inline-block;padding:3px 10px;background:#1a1a1a;color:#fff;border-radius:20px;font-size:12px;font-weight:600">slow performance</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">"Love the new dashboard layout, but I genuinely cannot tell if 'archive' removes a customer forever or just hides them. I was too nervous to click it on a real account."</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">UX confusion</span>
<span style="display:inline-block;padding:3px 10px;background:#1a1a1a;color:#fff;border-radius:20px;font-size:12px;font-weight:600">positive shoutout</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">"We really need a way to export interview notes with timestamps. Right now I'm copy-pasting everything into Google Docs which feels very 2012."</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 request</span>
<span style="display:inline-block;padding:3px 10px;background:#1a1a1a;color:#fff;border-radius:20px;font-size:12px;font-weight:600">missing data/export</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">"Signed up today and got dropped straight into the app with no clue what to do first. I found the import button after like 10 minutes, but I still don't know what counts as a 'workspace' vs a 'project'."</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 issue</span>
<span style="display:inline-block;padding:3px 10px;background:#1a1a1a;color:#fff;border-radius:20px;font-size:12px;font-weight:600">UX confusion</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">"The search takes 8–10 seconds whenever I filter by tag, and half the time the page flashes blank before results come back. It's usable, but barely."</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">slow performance</span>
<span style="display:inline-block;padding:3px 10px;background:#1a1a1a;color:#fff;border-radius:20px;font-size:12px;font-weight:600">bug report</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">"Big shoutout to your support team — the transcript cleanup is way better than it was a month ago. This is the first time I didn't have to manually fix speaker labels."</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">positive shoutout</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">"Can you please add a way to save custom views for each team? We keep rebuilding the same filters every morning and it's getting old fast."</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 request</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 invited two teammates during setup and neither got the email. Then when I retried, one invite showed as sent and the other disappeared completely. Not a great first run for our team."</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">bug report</span>
<span style="display:inline-block;padding:3px 10px;background:#1a1a1a;color:#fff;border-radius:20px;font-size:12px;font-weight:600">onboarding issue</span>
</div>
</div>
<div class="tmpl-full-tip">💡 Tip: Good codes are short, specific, and reusable. They capture what the excerpt is mainly about without repeating the whole quote or jumping too quickly to a broad conclusion.</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-field">
<div class="tmpl-full-field-label" style="font-size:16px">Bugs & Reliability</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#555;margin-bottom:10px">Users are running into broken flows and inconsistent system behavior that reduce trust and block key tasks.</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">bug report · 4 excerpts</span>
<span style="display:inline-block;padding:4px 12px;background:#f7f5f0;border:1px solid #e0ddd8;border-radius:20px;font-size:13px;color:#1a1a1a">missing data/export · 2 excerpts</span>
</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label" style="font-size:16px">Feature Requests</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#555;margin-bottom:10px">Users are asking for workflow-improving capabilities that reduce manual work and repeated setup.</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 request · 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">missing data/export · 2 excerpts</span>
</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label" style="font-size:16px">UX Friction</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#555;margin-bottom:10px">Users are hesitating or slowing down because labels, flows, and system states are unclear.</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">UX confusion · 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">onboarding issue · 2 excerpts</span>
</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label" style="font-size:16px">Performance</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#555;margin-bottom:10px">Response time and loading delays are making common actions feel unreliable and frustrating.</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">slow performance · 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">bug report · 4 excerpts</span>
</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label" style="font-size:16px">Onboarding</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#555;margin-bottom:10px">Early user experience issues are creating confusion and friction before teams reach core 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 issue · 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">UX confusion · 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">bug report · 4 excerpts</span>
</div>
</div>
<div class="tmpl-full-tip">💡 Tip: Themes are broader patterns made from repeated codes. If codes describe what is happening in a single excerpt, themes explain what is happening across many excerpts.</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">Bugs & Reliability · 4 excerpts</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#1a1a1a">Key insight: Users are hitting failure points in exports, invites, and filtered workflows that interrupt important jobs and reduce confidence in the product.</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#555;margin-top:8px">Representative quote: "Every time I click export on the weekly report it just spins forever and then dumps me back to the dashboard."</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#1a1a1a;margin-top:8px">Recommended action: Triage top blocking bugs by task criticality, starting with export and invite flows, and confirm fixes with affected users.</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Feature Requests · 2 excerpts</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#1a1a1a">Key insight: Users want features that reduce repetitive manual work, especially around exporting outputs and saving team-specific views.</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#555;margin-top:8px">Representative quote: "Can you please add a way to save custom views for each team? We keep rebuilding the same filters every morning."</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#1a1a1a;margin-top:8px">Recommended action: Assess demand and implementation effort for custom saved views and richer export options, then prioritize the highest-frequency workflow improvement.</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">UX Friction · 2 excerpts</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#1a1a1a">Key insight: Ambiguous labels and unclear consequences are causing hesitation, especially in actions that feel high-risk like archive or setup configuration.</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#555;margin-top:8px">Representative quote: "I genuinely cannot tell if 'archive' removes a customer forever or just hides them."</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#1a1a1a;margin-top:8px">Recommended action: Review confusing labels, add inline explanations for high-risk actions, and test revised copy with new and existing users.</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Performance · 2 excerpts</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#1a1a1a">Key insight: Slow loading in core tasks like search and export is making the product feel unstable even when workflows eventually complete.</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#555;margin-top:8px">Representative quote: "The search takes 8–10 seconds whenever I filter by tag, and half the time the page flashes blank before results come back."</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#1a1a1a;margin-top:8px">Recommended action: Investigate response-time bottlenecks in search and export, set performance thresholds, and monitor improvements after release.</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Onboarding · 2 excerpts</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#1a1a1a">Key insight: New users are struggling to understand first steps and team setup, which risks early drop-off before they experience product value.</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#555;margin-top:8px">Representative quote: "Signed up today and got dropped straight into the app with no clue what to do first."</div>
<div class="tmpl-full-field-value" style="font-style:normal;color:#1a1a1a;margin-top:8px">Recommended action: Improve first-run guidance with a clearer setup path, stronger definitions for core concepts, and QA on invite delivery during onboarding.</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: Reliability issues in exports, invites, and search are appearing alongside repeated requests for workflow-saving features.]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Most urgent theme</div>
<div class="tmpl-full-field-value">[Example: Bugs & Reliability]</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 top-coded bug excerpts with Product and Engineering, then prioritize fixes for export and onboarding invite failures.]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Share with (stakeholder)</div>
<div class="tmpl-full-field-value">[Example: Product Manager, Design Lead, Engineering Manager, Customer Success Lead]</div>
</div>
<div class="tmpl-full-field">
<div class="tmpl-full-field-label">Date completed</div>
<div class="tmpl-full-field-value">[Example: Feb 3, 2026]</div>
</div>
</div>
</div>
How to use it
Collect and paste your raw feedback Export all responses into a spreadsheet or doc so every piece of feedback is in one place before you start tagging.
Read through everything once without labeling Do a first pass to get a feel for the overall sentiment and spot any obvious patterns before you start assigning themes.
Tag each response with a theme Go line by line and label each response with one of your identified themes, creating new theme labels as new topics emerge.
Fill in the template and prioritize actions Summarize your findings in each section above, then rank your recommended actions by frequency and business impact.
What it looks like filled in
Onboarding Confusion
"I had no idea what to do after I signed up — there were too many options and nothing told me where to start."
→ Add a guided setup checklist that auto-appears on first login and highlights the three core actions new users should take.
Missing Integrations
"We use HubSpot for everything — not being able to sync data there means I have to do a lot of manual copying."
→ Prioritize HubSpot integration in the next planning cycle and reach out to the 12 users who mentioned it for a beta group.
Reporting Flexibility
"The default charts are fine but I can never filter them the way I need to for my stakeholder presentations."
→ Introduce custom date range and segment filters on all report views before the Q3 product review.
Why teams skip the template
Manual tagging takes hours at scale Reading and labeling hundreds of responses one by one is time-consuming and your theme definitions drift inconsistently as you go.
Human bias shapes what themes you see You naturally over-index on the most recent or most emotionally vivid responses, which skews your priorities away from what's actually most common.
Insights go stale before they reach the team By the time you've finished tagging, writing up themes, and formatting a report, the window to act on that feedback has often already passed.
Analyze your user feedback automatically — no template needed