What Is a Theme Taxonomy?
A theme taxonomy is the list of product areas your customer feedback is sorted into. Each theme has a plain name, like Search or Billing, and a description of what belongs in it and what does not. A good taxonomy matches how your team talks about the product, so every count points at a real area.
Why Feedback Themes Turn into a Mess
Themes pile up one at a time. One is called “Bugs,” another “Search issues,” a third “Bad search.” Nobody can say which area gets the most feedback, because the same problem is split across three names and a catch-all theme holds the rest. Planning on top of that means arguing about labels, not customers.
How Deck Builds a Taxonomy from Your Product and Feedback
Deck builds themes from your feedback and reads each theme's name and description when it sorts new feedback. So you design the taxonomy once, from your own product areas and a sample of real quotes, and every theme says what belongs in it. Merges and renames keep the insights attached, and Deck archives themes instead of deleting them.
How to Design a Theme Taxonomy in Deck
Run it yourself in Deck, or hand it to your AI agent. Same steps, same result.
- 01
Describe Your Product Areas
Open Settings → Context and fill in Product information with your main modules and workflows. Deck's agents use it to map feedback to the right part of the product. An organization admin can edit it.
- 02
List Every Current Theme
Open Visualize → Themes and note each theme's name and insight count. The biggest themes show where feedback is concentrated. Empty themes may have no place in the new taxonomy.
- 03
Read Real Feedback in the Biggest Themes
Open a theme and read the quotes in the Theme Insights table. On the Starter plan or higher, the Subthemes card shows the finer topics. A subtheme that belongs to a different product area points at a theme to split.
- 04
Map Each Theme to One Action
For every current theme, choose keep, rename, merge, split, new, or archive. Use plain product-area names like “Search” or “Mobile app,” not a feeling or a solution. Write a description that says what belongs and what does not.
- 05
Apply Renames and Merges
Rename a theme from the editable title on its Overview page. Merge duplicates from Visualize. Check each merge before you confirm it, because it moves the insights of several themes into one.
- 06
Finish the Rest and Check the Result
New themes, splits, descriptions, and archives run through Deck MCP, so give your approved table to your agent. Then reopen Visualize → Themes and compare it with the table. Subthemes catch up on the next weekly synthesis run.
Design Your Theme Taxonomy with Your AI Agent
Prefer Claude, ChatGPT, Cursor, or another MCP client? Paste this prompt. Your agent runs the same workflow through Deck MCP and checks with you before it changes anything.
You need
- Deck MCP connected to your agent
- Customer feedback already in Deck
Your agent starts with get_overview.
Agent Prompt
Paste This into Your Agent
Use Deck MCP. Fetch and follow https://docs.getdeck.io/docs/agents/workflows/design-taxonomy.md
Theme Taxonomy Template
## Product areas- [Area 1]: [what customers do there]- [Area 2]: [what customers do there]## Target taxonomyTarget theme | Description (what belongs, what does not) | From current themes (Deck count) | Action-------------|-------------------------------------------------------------|----------------------------------|----------------------------------------------[Search] | [Finding records with search and filters. Not saved views.] | [Search (88)] | Keep / Rename / Merge / Split / New / Archive[Theme name] | [Description] | [Theme (count), Theme (count)] | [Action]## Naming rules- 1 to 120 characters, unique in the workspace- A product area, not a feeling ("Bad search") or a solution ("Add dark mode")- One product area per theme. Fewer, broader themes. Subthemes hold the detail- Description up to 1000 characters## Before applying[ ] Each merge approved: [source] into [target][ ] Each archive approved: [theme] has 0 insights[ ] Team knows subthemes refresh on the next synthesis run