A ticket system is a routing tool before it is a customer service tool, and routing only earns its price when you have enough people and enough volume for routing to be a problem. Below that line a shared inbox does the same work with less setup, and the budget is better spent removing contacts than organising them. So the useful question is not which ticket system. It is which of its three jobs you actually have.
In short
- Three jobs sit inside every ticket system — routing, shared state and reporting. Work out how many of them you have a problem with before you open a single pricing page.
- 30 days of your own inbound, split by who answered it, tells you more than any feature matrix. If one person handled most of it, routing is not your problem and you should not pay for it.
- 70.22% is the average documented cart abandonment rate across 50 studies (Baymard Institute, 2026). A large share of your inbound is therefore pre-purchase, and pre-purchase questions want a fast answer, not a ticket number.
What does a ticket system actually do?
Strip the marketing away and three distinct jobs are left. They are usually sold as one product, they are rarely needed at the same time, and each one costs something to operate as well as to licence.
- Routing. Deciding which human gets which message. Assignment rules, queues per team, escalation tiers, SLA timers that go red. This is the part that gives the category its name, and the part a two-person shop almost never switches on.
- Shared state. Everyone seeing the same list, the same history and the same answered-or-not flag. This is the job most small teams are genuinely missing, and it is the cheapest of the three to solve.
- Reporting. Volume by topic, first response time, resolution rate per agent. Worth real money when you are deciding whether to hire. Worth nothing when nobody opens the dashboard.
The operating cost is the part that gets left out of comparisons. Routing rules have to be designed, maintained and explained to every new person. An escalation tier nobody honours is worse than none, because it tells the customer a promise that no one is keeping. Before you shop, it is worth reading what Keaz actually does as a worked example of a narrow scope: a shared WhatsApp inbox with Shopify order history beside the chat, plus flows triggered by events in your own shop. That is one of the three jobs, deliberately.
How do you tell which of the three jobs you have?
Four questions, answerable from thirty days of history, none of them needing a trial account.
- How many people answered a customer in a normal week? Not how many have access — how many actually typed. If the honest answer is one, you have no routing problem, and buying routing will add work rather than remove it.
- How often did two people answer the same customer? Collisions are the clearest signal that shared state is missing. Count them for a month; the number is usually either near zero or embarrassing, and both answers are useful.
- Which decision did you take last quarter from support data? A hire, a product change, a shipping-policy change. If you cannot name one, reporting is a feature you will admire and not use.
- What happens when the person who answers is away? If the answer is "nothing gets answered", your problem is coverage, not software. Routing cannot allocate work to people who are not there.
Volume belongs in the same exercise, and it is worth counting in buckets rather than as one total — the counting method is set out here. The per-industry ranges are a sanity check on whether your volume is normal for your vertical or a symptom of something upstream.
What should you do before you buy either one?
Shrink the volume first. Every vendor sizes you against the number you describe, so describe the number you will have after the obvious removals rather than the one you have today.
- Send the status update before it is asked for. "Where is my order" is not a support question. It is a notification the customer did not receive, or received on a channel they do not read.
- Automate the three questions you answer most. Shipping times, return windows, sizing. A keyword reply resolves those without creating anything for anyone to route.
- Treat pre-purchase questions as sales, not support. They are time-sensitive in a way that a ticket queue actively damages: a sizing question answered in four hours is an answer to someone who has already bought elsewhere.
There is a long-standing research argument for this ordering. Across a study of more than 75,000 customer interactions, Dixon, Freeman and Toman found that reducing customer effort — repeat contacts and forcing people to switch channels in particular — predicted loyalty better than satisfaction scores did (Harvard Business Review, 2010, retrieved 2026-11-09). A ticket system is good at organising repeat contacts. It is not good at preventing them, and the prevention is where the return is.
Common mistakes
Roughly in order of what they cost.
- Buying routing for a one-person team. Assignment rules with one assignee are pure overhead. The setup is billed once in money and every week in attention.
- Confusing a ticket number with a process. An ID makes a conversation findable. It does not make anybody answer it, and an untouched ticket with a reference number still reads as silence to the customer.
- Setting SLA timers nobody is staffed to meet. A red timer at 9pm on a Sunday informs no one and trains the team to ignore the colour.
- Measuring first response instead of first useful answer. An automatic acknowledgement fixes the metric and not the week. Grade yourself on the reply the customer can act on.
- Routing pre-purchase questions into a support queue. These are revenue conversations with a deadline. Queueing them behind returns is the most expensive tidy-up in the list.
- Migrating macros without counting them. Export the library, check which were used in the last ninety days, and rebuild only those. Most such libraries are mostly dead text.
A ticket system is three products wearing one price tag. Name which of routing, shared state and reporting you actually have a problem with, remove the contacts your shop can answer by itself, and then look at what is left. Most stores doing it in that order discover they needed shared state and a smaller inbound number — not a desk.
The number that caps every one of those options is reach: how many of your customers you can talk to at all today. Calculate your forecast — a few minutes, on your own Shopify data, no code.
Sources: "Stop Trying to Delight Your Customers" (Dixon, Freeman and Toman, Harvard Business Review, July–August 2010, retrieved 2026-11-09) and "Cart Abandonment Rate: 50 Statistics" (Baymard Institute, updated 28 October 2026, retrieved 2026-11-09). Product behaviour is from the Keaz help center, retrieved 2026-11-09.
Frequently asked questions
Does a small Shopify store need a ticket system?
What is the difference between a shared inbox and a ticket system?
How do I know when I have outgrown a shared inbox?
Can I use labels instead of queues?
Should pre-purchase questions go into the same system as support?
Nils Spölgen
Founder at Keaz. Serial founder in chat marketing — built a local agency into Keaz, the WhatsApp marketing platform for Shopify. Bootstrapped the MVP, raised funding, and scaled to 200+ merchants in DACH. Writes about flows, opt-in & GDPR, Klaviyo, and realistic revenue benchmarks — prefers conservative math over impressive claims. View profile



