Zendesk Guide11 min read
How to Analyze Zendesk Tickets for Product Feedback and Recurring Issues
Last updated: · By Matt Teixeira, Founder and CEO
On this page
To analyze Zendesk tickets for product feedback, export the full threads as JSON or through the API (the CSV export drops comments), label each ticket by type and by the specific problem behind it, and rank problems by how many organizations raised them. Zendesk's own tools get you partway: intelligent triage labels how a ticket opens, and Zendesk Analytics can't read comment text at all.
To find recurring product issues in Zendesk tickets, search what your agents write, not what customers write. Customers describe one missing feature dozens of ways. Agents reach for a few stock phrases, like "that isn't supported yet." As a rule of thumb, a problem is recurring once three or more organizations raise it across two or more weeks.
Key Takeaways
- The CSV export has no comments. Use the JSON export, which Zendesk Support turns on for Suite Growth or Support Professional and up, or the API on any plan.
- Zendesk Analytics (formerly Explore) can't report on comment text, so its feedback charts count only what agents tagged.
- Intelligent triage labels a ticket from its subject and first public comment. Label from the last customer reply instead.
- Search agent replies with Zendesk's
comment:keyword to find requests nobody tagged. - Count organizations, not tickets. One account in a bad week can file 30 tickets about a single bug.
Where Is the Product Feedback in Your Zendesk Tickets?
Mostly in places nobody labeled as feedback. Agents tag for routing, so the product signal sits in replies, internal notes, and workarounds.
| Where it hides | What it looks like | How to find it |
|---|---|---|
| Agent "not yet" replies and workarounds | "That isn't something we support right now, but you can..." | Comment searches on your agents' stock phrases |
| Escalations to engineering | An internal note such as "FR from Acme, see linked issue" | Tickets linked to the same Jira issue, counted by a Zendesk Ticket Count field your Jira admin adds (source) |
| Cancel and downgrade tickets | "We're moving to a competitor next quarter" | Searches for "cancel" and competitor names, or Zendesk QA's churn risk spotlight |
What Can Zendesk's Built-in Tools Tell You?
Zendesk's AI and reporting are built to route tickets and measure support, not to decide what to build. Use them for structure and volume, then make roadmap calls from the threads.
| Tool | What it does | Plan | The gap for product teams |
|---|---|---|---|
| Tags and ticket fields | Agents or macros label tickets for reporting | All plans | Only as good as what agents remember on a busy day |
| Intelligent triage | Topic (formerly intent), sentiment, and language, plus up to 500 custom topics (source) | Suite or Support Professional and up; workflows need Copilot, $50 per agent a month, billed yearly (source) | Reads the subject and first public comment by default |
| Zendesk Analytics (Explore) | Reports on fields, tags, and triage values, with a prebuilt triage dashboard (source) | Lite on Team and Growth; Professional on Suite Professional (source) | Doesn't capture comment content (source) |
| Zendesk QA spotlight | Flags closed conversations that mention canceling or switching to a competitor (source) | QA or WEM add-on | Shows who might leave, not which product problem drives it |
Zendesk Analytics is a mirror of your fields. It counts what agents chose to label, so thin labels make a thin chart.
Intelligent triage tells you how tickets open. It classifies "based on a ticket's subject and the text of the first public comment" (Zendesk Help). Dynamic classification updates topic and sentiment on later customer replies, but only on tickets created after you turn it on. Sentiment is tuned for service, too: "A ticket isn't assigned a negative sentiment just because a customer has an issue."
Use custom topics to track known problems, not to find new ones. Once reading tickets has surfaced "CSV export capped at 10,000 rows," a custom topic counts it from then on. Keep topics few and distinct, because Zendesk warns that overlapping ones "can lead to low-confidence or wrong topic detection."
How Do You Export Zendesk Tickets with Comments?
Use the JSON export or the API. The CSV export is for counting, not reading (Zendesk Help).
| Method | Comments? | Who can use it | Use it for |
|---|---|---|---|
| CSV data export | No | Suite Growth or Support Professional and up, once the account owner asks Zendesk Support to turn exports on | Counts by field or tag |
| JSON data export | Yes, unless one ticket exceeds 1 MB | Same as CSV | A one-off batch for an LLM |
| REST API | Yes, via Ticket Comments and Incremental Exports | Every plan; needs a developer | Recurring analysis |
An export can take minutes or more than a day, so request it early. As a rule of thumb, a monthly JSON export and an LLM are enough under about 300 tickets a month; above that, script the API or connect a tool. For prompts and spot checks, see how to use AI to analyze support tickets and sales calls.
Step 1: Pull Full Threads with Organization and Plan
Analyze every comment, not just the first. The real request often arrives in the third or fourth message, after the agent offers a workaround and the customer explains why it falls short.
Keep each ticket's organization, tags, custom fields, and dates, plus each comment's author and whether it was public or internal. If many tickets lack an organization, add email domains to your organizations so new requesters map automatically (Zendesk Help). Store plan or ARR on the organization, or join it from your CRM.
Step 2: Search Agent Replies for Requests Nobody Tagged
Your agents' stock phrases are the best feature-request detector you already own. Zendesk's comment keyword searches ticket comment text, and double quotes force an exact match (Zendesk search reference).
Searches that usually surface feature requests
type:ticket comment:"not possible at the moment" created>2026-10-01
type:ticket comment:"isn't something we support"
type:ticket comment:"passed this on to our product team"
type:ticket comment:"workaround"
Searches that usually surface churn risk
type:ticket comment:"cancel"
type:ticket comment:"switching to"
Zendesk search has no OR operator, so run one search per phrase. To learn your team's real wording, open 20 tickets you know were requests and copy the agent's sentence.
Then fix the source: a "Not supported yet" macro that adds a feature_request tag, and a "Feedback type" dropdown agents fill in before solving. Analytics can count both, because they're fields, not text.
Step 3: Label Each Ticket by What It Turned Out to Be
Give every ticket one type: bug, feature request, how-to, or account issue. A how-to means the feature exists but the customer couldn't find it; account issues such as billing stay out of product counts. Then name one specific problem: "CSV export capped at 10,000 rows," not "Reporting."
Label from the last customer reply, not the subject line. A ticket titled "Export broken" that ends with "so we can't export more than 10,000 rows" is a product gap, not a bug. To keep theme names stable from month to month, see how to build a customer feedback taxonomy.
Step 4: Count Organizations, Not Tickets
A theme's weight is the number of distinct organizations behind it, split by plan. Thirty tickets from one admin during an outage are one signal, not thirty.
As a rule of thumb, a theme raised by five or more organizations in a month, or by two on your top plan, earns a roadmap look. Group tickets with no organization by email domain, and count people on free email domains such as gmail.com one at a time.
Step 5: Review Themes Weekly and Hand Them Off with Ticket Links
Hold a 30-minute review each Monday on new themes and the top themes by organization count, each with three quotes linked to their Zendesk tickets. Send bugs to engineering with those links and requests to roadmap review with the organization list. To tell a rising theme from a one-week spike, see how to tell which support ticket pain points are trending.
Worked Example: A Month of Zendesk Tickets
Illustrative numbers, not customer data. A B2B SaaS company on Suite Professional gets 800 tickets a month. Analytics shows 22 tagged feature_request, agent-phrase searches find 49 more, and reading the threads yields three top themes.
| Theme | Tickets | Organizations | Top-plan organizations | Tagged by an agent |
|---|---|---|---|---|
| Scheduled report emails not sending | 38 | 3 | 1 | 4 |
| CSV export capped at 10,000 rows | 26 | 18 | 4 | 3 |
| SCIM provisioning with Okta | 6 | 5 | 5 | 5 |
Report emails lead on tickets, but one organization filed 29 of the 38 during an outage. That's a bug for engineering and a call to that account.
The export cap goes to roadmap review: 18 organizations, four on the top plan, and only three tagged tickets. Most opened as "export is broken," so triage labeled them by that first message. The cap now gets its own custom topic.
SCIM would never stand out by volume. It goes to the enterprise discussion because every requester is on the top plan.
Tools That Help
| Option | How it reads Zendesk | Watch out for | Price |
|---|---|---|---|
| Spreadsheet plus an LLM | JSON export or an API script | You rerun it and handle the PII | Free, plus your time |
| Deck | 90-day backfill, then scheduled syncs of full threads (source) | Needs Starter; read-only | Starter $99 a month, or $79 billed annually |
| Productboard | Pushes all, tagged, or trigger-matched tickets as notes; later replies sync (source) | Notes wait for a PM to process; exports drop Zendesk text (source) | Business $59 per maker a month, billed annually (source) |
| Canny | Sidebar app; linking a ticket to a post adds a vote; optional Autopilot (source) | Counts votes on posts, not themes | Free for 25 tracked users; Pro from $79 a month, billed yearly (source) |
| Enterpret | Polls every 15 minutes by default; builds conversations from comments (source) | Enterprise pricing and setup | AWS lists $120,000 a year for 300,000 records (source) |
Pick Canny if agents should add votes to a public board from inside Zendesk, and Productboard if you already plan features there. Pick Deck or Enterpret if you want every ticket read and grouped without tagging, and let volume and budget decide between them.
Where Deck Fits
Deck reads each ticket's full comment history, pulls out insights in the customer's own words, and groups them into Themes alongside feedback from your other connected tools.
- Sync: the last 90 days on connect, then new and updated tickets once a day, with tags, status, and custom fields (Deck Zendesk docs). The connect your feedback stack playbook shows how to confirm tickets arrive.
- Analysis: each ticket passes relevance filtering, analysis, insight synthesis, and a quality review that checks quotes against the original comments. Internal notes are read too, as agent context. The Opportunity Backlog then ranks problems by impact, sentiment, and trend (Deck Opportunity Backlog docs).
- Segments: rules match Zendesk tags or custom fields, such as
customer_tier=Gold, and re-evaluate past tickets when you save them (Deck segments docs). - Credits: at Deck's planning estimate of about 3 credits per ticket, 800 tickets a month is about 2,400 credits, inside Starter's 2,500. The 90-day backfill adds roughly 7,200, so the first month runs about $454 on Starter with overage, or $333 on Business.
- Limitations: Zendesk needs Starter, so Free's one integration can't be Zendesk. Contact sync needs Business or Enterprise, and the backlog's customer counts need a CRM. History older than 90 days comes in only by CSV. Access is read-only: Deck adds no tags in Zendesk and has no sidebar app.
To see your own Zendesk tickets sorted into Themes, compare Deck's plans.
Frequently Asked Questions
Sources
- Zendesk Help: Automatically detecting customer intent, sentiment, and language
- Zendesk Help: Announcing the "Intent" to "Topic" terminology update in the Copilot add-on
- Zendesk Help: Personalizing intelligent triage by creating custom topics
- Zendesk Help: Overview of the Intelligent triage dashboard
- Zendesk Help: About the Zendesk Explore plan types
- Zendesk Help: Can I report on ticket comments or the description field?
- Zendesk Help: Exporting ticket, user, or organization data from your account
- Zendesk Help: Zendesk Support search reference
- Zendesk Help: Creating, managing, and using organizations
- Zendesk Help: Understanding spotlight insights
- Zendesk Help: Reporting on the number of Zendesk tickets linked to a Jira issue
- Zendesk pricing
- Productboard Support: Integrate with Zendesk
- Productboard Support: Export guide
- Productboard Support: Spark pricing and billing FAQ
- Canny Help: Zendesk integration
- Canny pricing
- Enterpret Help Center: Zendesk Support
- Enterpret on AWS Marketplace
- Deck Zendesk integration docs
- Deck Opportunity Backlog docs
- Deck customer segments docs
- Deck pricing
Sources checked November 2, 2026.