WhatsApp support service levels: reference table with operational definitions
A service level is not a loose number: it is a promise the team can keep or not, and that can be measured with the data you already have in the inbox. The problem is that most teams define the level in a meeting, write it in a document, and never connect it to what happens in the real conversation. This table translates each level into an operational definition: what is counted, from when to when, and what is done when the level is not met.
Before the table, a clarification that avoids arguments: levels are defined by type of conversation, not by channel or by customer. The same business can have a strict level for sales inquiries and a lax one for after-sales inquiries. What matters is that each level has a numeric threshold and an operational consequence. If there is no consequence, the level is decorative.
The three metrics that support any level
Almost all WhatsApp service levels rely on three metrics. The first is first response time: from when the customer's message comes in to when the first human or person-approved response goes out. The second is resolution: whether the conversation ended in something concrete (an order taken, an appointment scheduled, a response that closes the inquiry) or remained open. The third is reopening: whether the customer wrote again about the same topic after the team considered the conversation closed. All three are calculated on the same base of conversations, and that is why it is best to define them together.
A warning about the data: for any time-of-day analysis use the timestamp column (the one Meta sends), not created_at, which is when the row was inserted into the database. In a system with history import, created_at can show that everything happens at the same time on the same day. With timestamp, the curve reflects the real business.
Reference table: service levels with operational definition
| Level | First response (target) | Resolution (target) | Tolerated reopening | What is counted | Consequence if not met |
|---|---|---|---|---|---|
| N1 — Active sale | Up to 5 minutes during business hours | 80% of conversations end in an order, appointment, or concrete referral | Less than 10% reopen the same topic | From the customer's first message to the first response sent; resolution is marked when the team closes the conversation | The shift supervisor is notified and the inbox load for that time slot is reviewed |
| N2 — General inquiry | Up to 30 minutes during business hours | 70% of conversations are answered without escalating | Up to 15% may reopen | Same as N1, but resolution is marked when the customer stops writing after a complete response | The template or AI suggestion used in that time slot is reviewed |
| N3 — After-sales | Up to 2 hours during business hours | 60% are resolved in the first exchange | Up to 20% may reopen | Resolution is marked when the customer confirms it was resolved or when 24 hours pass without a response from them | A weekly review of the case is scheduled, no action is taken at the moment |
| N4 — After-hours inquiry | Up to the start of the next business hours | No resolution is required at the moment; an acknowledgment is required | Reopening is not measured in this time slot | It is counted from the message to the first response of the next shift; the automatic acknowledgment does not count as a first response | If after-hours volume exceeds 20% of the total, adding a shift is evaluated |
| N5 — Complaint or error | Up to 15 minutes during business hours | A human response is required, not a template | Any reopening is reviewed | It is counted from the message to the human response; resolution is marked when the customer confirms satisfaction | It is escalated to the area supervisor and the case is documented |
| N6 — Internal inquiry between agents | Does not apply to the customer; up to 10 minutes between agents | The handover is recorded with context | Does not apply | It is counted from when one agent asks for help to when another responds in the conversation | If it repeats, shift assignment is reviewed |
| N7 — Inbound campaign | Up to 1 hour from the customer's first response to the campaign | 50% of responses become an attended conversation | Up to 25% may reopen | It is counted from the customer's response to the campaign to the first response from the team | The campaign is paused if the level is missed two days in a row |
| N8 — Recurring customer | Up to 10 minutes during business hours | 75% are resolved in the first exchange | Less than 10% reopen | It is identified by recurring contact tag and measured on those conversations | It is reviewed whether the contact's history is available to the agent |
| N9 — Price inquiry | Up to 10 minutes during business hours | A response with a concrete figure or a referral is required | Up to 15% may reopen | The conversation is tagged with price and measured on that subset | It is reviewed whether the response used was up to date |
| N10 — Conversation without response | No target: it is measured to detect abandonments | 0% required; the goal is to reduce the volume | Does not apply | Conversations with no response from the team after 24 hours | They are listed and manually assigned the next day |
How to read the table without getting it wrong
The first response column has two parts: the number and the condition. The number without the condition is useless. "Up to 5 minutes" means nothing if it isn't clarified that it only counts during business hours. Outside business hours, the goal is different, and that's why N4 exists as a separate level. If you mix the two time frames, the average will give you a number that reflects neither one thing nor the other.
The resolution column is the one most discussed. The operational definition is: the conversation is marked as resolved when the customer stops writing after a complete response, or when they confirm it was resolved. It is not "when the agent believes they responded." That difference matters because an agent can feel satisfied with a response the customer didn't understand, and the conversation reopens. Reopening is precisely the thermometer of that difference.
The tolerated reopening column is the one that prevents internal disputes. It's not about eliminating reopenings: it's about knowing how many are normal for each level. A reopening at N1 may indicate that the initial response was not complete. A reopening at N5 (complaint) is expected and not penalized: it is documented. The table separates those two cases.
A concrete example: what a breach looks like in practice
So that the table doesn't remain an abstract framework, let's look at a case from a clothing store that handles inquiries with two people on the morning shift. On a Tuesday at 10:12, a message comes in: "Hi, do you have the black hoodie in size M? I need it for Friday." The first agent is closing a wholesale order and the second is answering exchange inquiries. The first response goes out at 10:31: "Hi, yes, we have it. Should I reserve it for you?" The customer responds at 10:40: "Yes, how do I make the payment?" No one answers until 12:05, when the first agent returns from a call: "I'll send you the payment link." The customer had already written at 11:20: "Are you still there? I'll buy it somewhere else if not." The conversation was closed without a sale.
Read against the table, this case is N1 (active sale) breached twice. The first response went out at 19 minutes, when the goal was 5. And the second wait, between the customer's question and the payment link, was 85 minutes, with no operational consequence recorded. If the team measures only the daily average, this case gets diluted among twenty quick conversations and doesn't show up. If you look at it as an individual conversation, the problem is clear: it wasn't general speed, it was that the active sale inquiry ended up in the same queue as the exchange inquiries, without priority. The consequence the table calls for at N1 is not a reprimand to the agent: it's reviewing the inbox load during that time frame. Here, the review would show that at 10 in the morning there are two people doing three different things, and that active sales need a different response than after-sales.
This example uses thresholds from the table, not market data. Each business replaces the numbers with its own and keeps the logic: identify the level, measure it on the specific conversation and draw an operational consequence, not a reproach.
What to do when a level is not met
- 1First check whether the breach is for a single day or a sustained window. A one-day spike may be a holiday or a campaign; a window that repeats three days in a row is a staffing or process problem.
- 2Check whether the conversation came in through a different channel than usual (Instagram or Messenger, for example) and whether that changed the response time. Sometimes the level is measured on WhatsApp but the volume shifted to another channel.
- 3Look at whether the breach is concentrated in one type of inquiry. If so, the problem is not the team's speed but the absence of a prepared response for that case.
- 4If the breach is in resolution and not first response, review the responses used in those conversations. A fast but incomplete response generates a reopening and lowers resolution.
- 5Document the case with the specific conversation, not with the average. A level that is breached is better explained with three examples than with a table of numbers.
- 6Define an operational consequence before the next measurement. If there is no consequence, the level becomes decorative and the team stops looking at it.
Common mistakes when defining service levels
- Defining the level by channel and not by type of conversation. The channel changes; the type of inquiry does not.
- Measuring first response time including the automatic acknowledgment. The acknowledgment is not a response: it is a confirmation of receipt. If you count it, the level is always met and it is useless.
- Using created_at instead of timestamp to calculate times. In systems with imported history, created_at can concentrate all messages at the same moment and ruin any window analysis.
- Promising a resolution time for technical or configuration errors. Those times depend on each case and on external factors; the honest thing is to measure and escalate, not to guarantee.
- Defining a level without saying what is done when it is not met. A level without a consequence is a number in a document.
- Mixing sales conversations with after-sales conversations in the same average. They are different levels and averaging them hides both problems.
- Measuring reopenings without distinguishing the type of inquiry. In a complaint, the reopening is part of the process; in a price inquiry, it is a sign that the response did not work.
How this connects to the tool you use
Levels can be measured by hand with a spreadsheet, but the cost of doing so grows with volume. If the business serves customers through WhatsApp with Meta's official API, the inbox already has the inbound and outbound data for each message, and contact tags let you separate the types of conversation. Wando, for example, offers an inbox with AI suggestions, contact tags and message and campaign statistics; that is enough to calculate first response, resolution and reopenings without exporting anything by hand. If the team uses another tool, the table is still the same: what changes is where the numbers come from.
A warning about AI in this context: if the tool suggests responses and the team approves them, the first response time includes that approval step. Do not exclude it from the measurement. The goal of the level is the time the customer waits, not the time the system takes to generate a suggestion.
Minimum template to record each week's level
| Data point | Where it comes from | Frequency |
|---|---|---|
| Conversations started | Message inbox, filtered by date | Weekly |
| Average first response | Difference between the customer's first message and the first response sent | Weekly |
| Percentage within the level | Conversations that met the threshold for their level | Weekly |
| Resolved conversations | Marked as resolved according to the operational definition | Weekly |
| Reopenings | Conversations that were reopened on the same topic | Weekly |
| Conversations without a response | No response from the team after 24 hours | Weekly |
| Distribution by time window | Using timestamp, not created_at | Monthly |
When to review thresholds
Thresholds are not permanent. They are reviewed when volume changes, when a channel is added, when a new agent joins, or when a campaign alters the mix of inquiries. The review should not happen automatically every month: it should be triggered by a specific change. If volume doubled and the first-response level stayed the same, the threshold is probably outdated. If volume dropped and the level got worse, the problem is not the threshold but the process.
A simple way to decide whether a threshold is still valid: look at the distribution of first-response times over the last two weeks. If 80% of conversations falls well below the threshold, the threshold is loose and is not measuring anything. If 80% falls well above it, the threshold is unattainable and the team will ignore it. The reasonable point is a threshold that is met in most conversations and that fails in a percentage worth investigating.
What a service level is NOT
- It is not a promise of instant response. Immediacy is not a level: it is an expectation that cannot be sustained with a human team.
- It is not an average. An average first-response time can hide the fact that half of the conversations are answered in one minute and the other half in three hours.
- It is not a marketing metric. The service level is measured to operate better, not to publish a number.
- It is not the same as customer satisfaction. A customer can be satisfied with a slow response if the response solves the issue. And they can be dissatisfied with a fast response that does not solve it.
- It is not a replacement for human conversation. A poorly defined level can push the team to answer anything quickly just to meet the number.
Frequently asked questions
What is a service level in WhatsApp support?+
It is a numeric threshold that defines how long a customer can wait to receive a response and what counts as a resolved conversation. It is defined by type of conversation, not by channel, and it has an operational consequence when it is not met.
How is first response time measured?+
From the customer's first message to the first response sent by the team. The automatic acknowledgment does not count as a first response, because it does not resolve anything: it only confirms receipt. If the acknowledgment is counted, the level is always met and stops being useful.
What counts as a resolved conversation?+
Operationally, a conversation is marked as resolved when the customer stops writing after a complete response, or when they confirm that it was resolved. It is not marked as resolved when the agent believes they responded, because that perception does not always match the customer's.
What is reopening and why does it matter?+
It is when the customer writes again about the same topic after the team considered the conversation closed. It matters because it measures whether the initial response was complete. A reopening in a price inquiry suggests a missing detail; in a complaint, it is an expected part of the process.
How often are thresholds reviewed?+
There is no fixed frequency. They are reviewed when volume changes, a channel is added, a new agent joins or a campaign changes the mix of inquiries. Reviewing them every month without a specific change usually leads to adjustments that respond to nothing.
Can a service level be defined for after-hours inquiries?+
Yes, but it is a different level. After hours, the same speed as during business hours cannot be required. The reasonable approach is to measure from the message to the first response of the next shift, and use after-hours volume as a signal to assess whether adding a shift is worthwhile.
What happens if the team does not meet the level two weeks in a row?+
First, check whether the failure is concentrated in one type of inquiry, in one time slot or in one agent. Then define a concrete consequence: review staffing, prepare a response for that case or adjust the threshold if it has become outdated. Without a consequence, the level stops being looked at.
Is the service level measured the same way if the tool suggests responses with AI?+
Yes. If the AI suggests and a person approves, the first response time includes that approval step. What is measured is what the customer waits, not how long the system takes to generate the suggestion.
Answer WhatsApp with AI
Try Wando free. No credit card required.