Most guides on how to analyze customer feedback are written for companies with an insights team. If you're a small team with support chats, app reviews and a cancel survey piling up, you need something lighter: a method you can run in half an hour a week. Here it is:
- Pick two or three sources, not all of them
- Write a short list of reasons before you start
- Tag the main reason, then note what else comes up
- Put money next to each reason
- Read only the messages that matter
The rest of this post walks through each step, with examples you can copy.
You don't need to read everything
The usual advice is to collect all your feedback in one place and go through it. That's why most teams don't keep it up. Reading 400 chats is a full day, and by the time you've finished, the next 400 have arrived.
You don't need to read everything to know what's going on. You need three things: a ranked list of why customers are unhappy, how much money sits behind each reason, and a handful of messages that explain the top ones in the customer's own words.
Everything below is about getting those three things with the least reading possible.
The goal isn't to read more feedback. It's to know which few messages are worth reading.
Step 1
Pick two or three sources
Every feedback source tells you something different, and every one has a blind spot. Start with the two or three where your customers talk the most.
| Source | Good for | Blind spot |
|---|---|---|
| Support chats and tickets | Detail, the real reason behind a complaint | Only people who asked for help |
| App or product reviews | Strong opinions, public reputation | Mostly the very happy and the very angry |
| Cancel or uninstall survey | Why people leave, as they leave | Short answers, often the first option that fits |
| Sales and demo calls | Why people don't buy | Hard to collect, lives in someone's notes |
| NPS or CSAT comments | Trends over time | Vague unless you ask a follow-up |
For most small SaaS and Shopify app teams, support chats plus reviews plus the cancel survey covers it. Chats tell you what went wrong, reviews tell you what people say publicly, and the survey tells you who actually left.
If you only have time for one, pick support chats. They're where customers explain themselves in the most detail.
Step 2
Write your reason list before you start
Before you read anything, write down 6–10 reasons you expect to see, plus "Other". For a Shopify app, a first list might look like this:
- Too expensive
- Setup too hard
- Missing feature
- Bug or not working
- Slow or unhelpful support
- Only needed it for a while
- Switched to a competitor
- Other
Writing the list first matters. If you invent labels while reading, you end up with 40 of them, half meaning the same thing ("pricing", "price", "too pricey"), and nothing adds up.
Step 3
Tag the main reason, then what else comes up
For each message, pick one main reason: the thing the customer is mainly unhappy about. Then note any other reasons they mention along the way.
- Support as main reason
- 3 of 12
- Support mentioned at all
- 7 of 12
A simple spreadsheet is enough to start. Keep one row per message, not per customer: if someone writes three times about the same bug, that's a signal too.
| Date | Source | Customer | Main reason | Also mentions | Plan |
|---|---|---|---|---|---|
| 22 Sep | Chat | Shop 184 | Bug or not working | Support | $29 |
| 22 Sep | Review | Shop 311 | Too expensive | Missing feature | $49 |
| 23 Sep | Survey | Shop 96 | Setup too hard | — | $0 |
Step 4
Put money next to each reason
A reason that 30 free users mention matters less than one that five of your biggest customers mention. So add the monthly amount each customer pays, then sum it by reason:
| Reason | Messages | Customers | Monthly revenue behind it |
|---|---|---|---|
| Missing: subscriptions | 18 | 11 | $1,240 |
| Bug or not working | 26 | 19 | $860 |
| Too expensive | 14 | 14 | $410 |
| Setup too hard | 31 | 24 | $0 · mostly free plans |
In this example, setup has the most messages, but almost none of those customers pay. The missing feature has fewer messages and the most money behind it. Without the revenue column you'd fix the wrong thing first.
Two details make the number honest: count each customer once per reason, and use what they pay now, not their plan's list price.
Step 5
Read only the messages that matter
Once messages are tagged and priced, you don't need to read the rest in full. Read these four kinds:
The top revenue reason
Read five to ten messages under it, in full. You're looking for the exact words customers use.
Anything new or growing
A reason that doubled since last week matters more than a big one that stayed flat.
Your largest customers
Read every message from your top accounts, whatever the reason.
Five random messages
They keep your labels honest. If they keep surprising you, go back to step 2.
Everything else you can count without reading closely. That's the difference between an afternoon and a week.
A 30-minute weekly routine
Pick a fixed time. Monday morning works well, because you plan the week with last week's feedback in mind.
- 10 minTag new messages since last week: main reason, other mentions.
- 5 minUpdate the revenue table.
- 10 minRead the four kinds of messages from step 5.
- 5 minWrite three lines for the team: the top reason by revenue, what changed, one quote.
Share those three lines where the team already looks: Slack, the weekly meeting, the roadmap doc. Feedback analysis that nobody sees doesn't change anything.
When doing it by hand stops working
This routine works well up to a point. You've probably passed it when:
- tagging takes more than 30 minutes a week,
- two people tag the same message differently and the counts stop meaning much,
- feedback arrives in several languages,
- or the spreadsheet is always a week behind.
At that point the method still holds, but someone or something needs to do the reading. That's what we built Fibble for: it reads every chat, review and survey answer, tags the main reason and the other mentions, and puts revenue next to each one, every week.
Common mistakes
- Starting with sentiment. Knowing that 60% of messages are negative doesn't tell you what to fix. Start with reasons.
- Too many labels. Past the 6–10 from step 2, people stop tagging consistently.
- Counting only the main reason. You lose the second problem that made the first one worse.
- Ignoring the money. The loudest reason and the costliest reason are often different.
- Doing it once. A single analysis is a snapshot. The value is in seeing what changes week to week.
FAQ
What's the best way to categorize customer feedback?
Write 6–10 reasons before you start, plus "Other". Tag one main reason per message and note any others it mentions. Add a new label when "Other" passes about one in ten messages.
How often should you analyze customer feedback?
Weekly is enough for most small teams. Monthly is too slow to catch a problem after a release; daily is too noisy to see a trend.
Can AI tools analyze customer feedback for you?
Yes, tools can now read and tag messages reliably, which removes the slowest part of the work. Check that the tool shows you the original messages behind each number, lets you edit the labels, and connects reasons to customers so you can add revenue.
How many messages do I need before the results mean anything?
There's no fixed number, but a reason that shows up five or more times in a week, or from two or more paying customers, is worth a closer look. Below that, keep counting before you act.