Skip to main content
DoneThat

AI Adoption GuideSupportTriage

Granular topic auto-tagging

An LLM applies fine-grained topic tags so support analytics stay consistent across the full ticket corpus, using tools like SentiSum.

Support processIntakeTriageAssignInvestigateResolveConfirmClose

By Don, DoneThat’s AI coach · updated

Tags describe the ticket for analysis; they do not move it

A contact-driver report is only as good as the tags underneath it. Fine-grained topic tagging attaches several descriptive labels to each ticket so an analyst can count, group, and compare. Delivery arrived late, box was damaged, ice pack melted, and driver left it in the sun are four different facts about one order. A single category field cannot hold them.

Nothing about a tag changes where the ticket sits. It does not raise priority, does not reassign, and does not shorten a customer's wait. That separation is the whole reason the tag library can stay large and specific. The moment a tag starts firing an automation, someone will start editing tags to game the queue.

SentiSum and similar tagging platforms read ticket text and return topics against a library. The library is yours. Vendors ship a starter set built from other companies, and that set will name things your customers never mention while missing the two issues your team argues about weekly.

Keep tagging distinct from the routing label. One field decides which team opens the ticket, and it is set by a classifier that assigns the category driving routing. Tags describe what the conversation was about, in as much detail as the analyst can use.

A tag library needs owners, definitions, and a retirement rule

Write each tag as a sentence a person could test against a ticket. Ice pack fully melted on arrival is testable. Product quality is not, because two analysts will disagree about half the tickets. Vague tags produce large counts and no decisions.

Structure the library in two levels and stop there. A parent topic such as delivery, and children such as arrived late, never arrived, wrong address, left in an unsafe spot. Three levels look tidy in a spreadsheet and collapse the first time someone has to pick a tag under time pressure.

Every tag needs a named owner and a birth date. The owner is the person who will be asked what the tag means when it appears in a board deck. The date lets an analyst see that a tag did not exist before March, which explains a trend line better than any model output.

Retirement needs a rule too. A tag that has not fired in two quarters is either dead or badly worded. Merge it, rewrite it, or archive it with the date. Archived tags stay readable in old reports, and they stop appearing in the picker.

If no library exists yet, do not ask the model to invent one from scratch and start tagging. Cluster a few thousand recent tickets, read the clusters, and write the tags by hand. Machine-proposed names are a starting draft that a human edits into definitions.

Tag the whole corpus, then re-tag whenever the library changes

Consistency is the point, and consistency comes from applying one version of the library to every ticket. Manual tagging fails here for an ordinary reason: agents tag differently on a busy Monday than on a quiet Thursday, and new hires tag differently from people who wrote the library.

Run the model over the backlog as well as new arrivals. A tag applied only from today forward makes every historical comparison meaningless. Backfill at least the period the analytics team reports on, and record which library version produced each tag.

Re-tagging on every library change is what keeps this cheap and honest. Adding a child tag splits an old parent count. Unless the corpus is reprocessed, the split appears as a sudden change in customer behavior that never happened.

Tag the customer's words, not the resolution. A ticket where the customer reported a missing item and the agent issued a credit carries the missing item tag. The credit is an outcome, and it belongs in the fields that summarize the problem, cause, and fix on the closed record.

Allow multiple tags and require none. A ticket with four tags is normal. A ticket with zero tags is information, and forcing a minimum of one pushes ambiguous tickets into whichever tag sits nearest.

Re-tag a meal-kit backlog after a packaging change

The following scenario is invented. A meal-kit subscription company switched from a molded foam liner to a paper-based one in April. Support volume did not change much. The team wants to know whether the complaints changed.

Before April the library carried one child tag under packaging: box damaged in transit. The ops lead adds three more in May: liner torn, liner soaked, insulation insufficient. Each gets a one-sentence definition and an owner on the packaging team.

The model then re-tags six months of tickets, February through July, against the new library. Without that backfill the three new tags would show zero cases in March and a spike in May, which looks like the new liner caused a problem it may not have caused.

The backfilled view is more useful and less dramatic. Liner soaked appears in every month, including February, because customers described wet foam too. Liner torn appears mostly after April. Insulation insufficient is concentrated in two warm-weather regions and appears in both the foam and paper periods.

None of that changed a single queue. Nobody's ticket moved up or down because of a tag. What the packaging team received was a tag-filtered list of tickets, with the customers' own sentences attached, and the regional split that a contact-driver trend view over closed tickets can track from there.

Tag sprawl, synonym drift, and the tag that means nothing

Low effort makes this easy to start and easy to neglect. Four failure patterns show up in most libraries after a year.

Sprawl arrives one request at a time. A manager wants visibility into something, a tag gets added, nobody removes anything. A library of several hundred tags produces counts too thin to act on and a picker no agent will scan. Cap the library and make every addition compete with an existing tag.

Synonyms split one topic in half. Late delivery and delivery delayed both exist, both fire, and the real volume is invisible in either. Run a periodic co-occurrence check. Tags that almost always appear together are usually the same tag under two names.

Catch-all tags absorb the interesting cases. Once other or general inquiry exists, it grows, and nothing inside it is ever read. Sample twenty tickets from the catch-all every month. Either they belong in an existing tag or they are the next tag worth writing.

Long threads confuse the model. A ticket that ran twelve replies and drifted into a second issue will pick up tags from both. Tag on the customer's messages, weight the first description most heavily, and accept that some threads need a human to split before they can be counted.

The analyst who reads the tag owns what it claims

A tag count is a count of tickets, not a count of customers or of incidents. Ten tickets tagged liner torn might be ten households or one household writing ten times. Report the distinct account number beside the ticket number, always in the same table.

Agents keep an unconditional edit. Any agent can add or remove a tag on a ticket they touched, without approval, and the change is logged with their name. Those edits are the cheapest quality signal available, because they come from someone who read the whole thread.

Library changes belong to one owner, usually the support ops lead. Adding a tag is a reporting decision with a version number and a re-tag job behind it. Letting each team manager add their own tags is how a library reaches three hundred entries nobody trusts.

Before a tag count leaves the support org, someone opens tickets and reads them. Tags find the pile; a person says what the pile means. When the finding becomes a defect claim, it moves to clusters filed as engineering tickets with linked customer evidence, where the reproduction notes matter more than the count.

Is this worth automating for you?

Whether this pays back depends on how much time it takes your team today. Most teams estimate that from memory, and the estimate is usually wrong in one direction or the other.

DoneThat reconstructs where the time actually went, with no timers to forget, so you can measure the baseline before committing to a project and check the gain afterward.

Measure the baseline first