WhatsApp API & Developers

WhatsApp Quality Rating: What Moves It and How to Recover

A template you send every morning suddenly shows "Paused" in WhatsApp Manager. The phone number beside it has slipped from green to yellow. Nothing in your code changed, and there is no support ticket to read. What changed is how people reacted to your messages, and Meta's WhatsApp quality rating is how that reaction gets scored.

The quality rating is Meta's running verdict on whether people want your messages. It decides whether your templates keep sending, whether your messaging limit can grow and whether you qualify for higher throughput. It also changed meaning in October 2025, so a lot of advice online is out of date.

This guide explains what the rating measures, what a low score does today and how to recover one.

Two ratings, not one

Meta rates each phone number and each template separately, and they react differently.

Phone numberTemplate
API valuesGREEN, YELLOW, RED, NA (field quality_rating)GREEN, YELLOW, RED, UNKNOWN (field quality_score)
WhatsApp Manager labelsHigh, Medium, LowActive: High, Medium, Low or Quality pending
Where to lookAccount tools, Phone numbersManage templates
Main consequence of lowBlocks growth and higher throughputTemplate paused, then disabled

A new number starts at NA and a new template at UNKNOWN until there is enough feedback to score them. A single bad template can drop to RED while the number stays green, which is the early warning you want to catch.

What moves the rating

The short answer: what recipients did with your messages in the last seven days, with recent days weighted more. Meta's message quality guidance names the signals: blocks, reports, mutes, archives and the reasons people give when they block you. For templates, Meta adds low read rates to negative feedback.

Two things follow from that. First, the rating is about reactions, not delivery: a perfectly delivered message that people mute still hurts. Second, quiet signals count. Someone who archives your chat without reading it is telling Meta the message wasn't wanted, even if they never press Block.

The usual triggers we see:

  • Messages people didn't expect. A list collected for one purpose (warranty registration) used for another (flash sales). Our guide to the WhatsApp Business API opt-in policy covers what consent has to say.
  • Open-ended openers. Meta specifically advises against open-ended welcome or introductory messages. "Hi, how can we help you today?" sent cold reads as spam.
  • Frequency. Several templates a day to the same person, even good ones.
  • Generic content. One message for the whole list, in the wrong language, at the wrong hour.

Meta also notes that high-traffic numbers commonly see quality change within short intervals, so a single big send can move the needle in hours.

What a low rating does now

Since October 7, 2025, a falling phone number rating no longer lowers your messaging limit, and the old "Flagged" status no longer exists. That is the part most guides still get wrong. Low quality still costs you in four ways:

  1. Your limit stops growing. Automatic scaling to 10,000, 100,000 and unlimited requires high-quality messages across all your numbers and templates. Details in our guide to WhatsApp API messaging limits.
  2. No higher throughput. The upgrade to 1,000 messages per second requires a number rated YELLOW or better, among other conditions covered in WhatsApp API throughput.
  3. Templates get paused, then disabled. When a template reaches RED, Meta pauses it for 3 hours the first time and 6 hours the second. The third time it is disabled. Sends of a paused template fail with error 132015; a disabled one returns 132016. Paused attempts aren't charged and don't count against your messaging limit.
  4. Sustained low quality gets rate limited. Meta says its systems rate limit businesses whose quality stays low for a sustained period. Error 131048 (restrictions on how many messages a number can send) is the usual symptom, and repeated problems can escalate to the enforcement covered in WhatsApp API account restricted.

There is also template pacing for marketing and utility templates. New templates, unpaused ones and older ones without a GREEN rating may be sent to a first slice of recipients and then held while Meta collects feedback. Held sends come back with message_status set to held_for_quality_assessment. Good feedback releases them; bad feedback pauses the template and drops the held messages with 132015. Meta's stated goal is that even paced campaigns deliver within an hour at the 99th percentile. Utility templates are only paced for 7 days after you have had a utility template paused.

Pausing doesn't hit the phone number at first. Meta warns that a business consistently sending low-quality templates may eventually see the number affected.

Watching quality from code

Don't wait for the WhatsApp Manager banner. Poll the ratings and subscribe to the webhooks. Use the current Graph API version from Meta's changelog in place of v23.0.

# Phone number rating
curl "https://graph.facebook.com/v23.0/PHONE_NUMBER_ID?fields=quality_rating" \
  -H "Authorization: Bearer $WHATSAPP_TOKEN"

# Template rating (returns quality_score.score and quality_score.date)
curl "https://graph.facebook.com/v23.0/TEMPLATE_ID?fields=name,status,quality_score" \
  -H "Authorization: Bearer $WHATSAPP_TOKEN"

Two webhook fields matter: message_template_quality_update (score changes, with previous_quality_score and new_quality_score) and message_template_status_update (events such as PAUSED, DISABLED, FLAGGED and REINSTATED). Wire them to your campaign scheduler so a paused template stops the queue instead of producing a wall of failures:

// Express route, after you have verified X-Hub-Signature-256
app.post("/webhooks/whatsapp", async (req, res) => {
  res.sendStatus(200); // acknowledge fast, process after
  for (const entry of req.body.entry ?? []) {
    for (const change of entry.changes ?? []) {
      const v = change.value;
      if (change.field === "message_template_quality_update" && v.new_quality_score === "RED") {
        await campaigns.throttleTemplate(v.message_template_id); // slow down before Meta pauses it
        await alerts.notify(`Template ${v.message_template_name} is RED`);
      }
      if (change.field === "message_template_status_update" &&
          ["PAUSED", "DISABLED"].includes(v.event)) {
        await campaigns.haltTemplate(v.message_template_id, v.event);
      }
    }
  }
});

Verify each payload's X-Hub-Signature-256 header before acting on it, or anyone who finds the URL can halt your campaigns.

How to recover a low rating

Quality reflects the last seven days, so a clean week of sending is what fixes it. The steps, in order:

  1. Stop the template that's hurting you. Halt campaigns using any template at RED or paused. Meta rejects paused sends anyway, and pushing more volume into a bad signal only deepens it.
  2. Find the segment, not just the template. Split recent sends by list source, last purchase date and language. The damage usually comes from one cold or stale segment, not the whole audience.
  3. Cut the audience to people who expect you. For the next week, send only to customers who bought or wrote to you recently and clearly opted in.
  4. Rewrite, don't rename. Make the message specific to the person and the moment, with a clear reason it arrived now. Editing a paused template sends it back to review, and it can't be used until re-approved. A disabled template has to be replaced with genuinely different content. Copying the same text under a new name doesn't help: Meta says a template's quality history is a main reason other templates get paced.
  5. Lower frequency. One useful message beats three reminders. Spread sends so no one gets more than they would welcome.
  6. Restart small. Send the new template to your most engaged customers first and let pacing collect good feedback before the wider list.
  7. Watch the scores daily. If the number recovers to yellow, then green, scale back up gradually.

If you are also building lists, the existing guide on building a WhatsApp opt-in list helps you start from people who want to hear from you. For the full platform picture, see the complete guide to the WhatsApp API.

Where Tenashi fits

Quality ratings exist because one-way template blasts are easy to get wrong. Many teams we talk to mostly need the other half of WhatsApp: answering customers fast, following up on quotes and keeping group conversations moving. Tenashi links the number you already use with a QR scan and gives your team one shared inbox for DMs and groups, with a CRM, notes, assignments and SLAs under every chat.

Because it runs on your own number as a linked device rather than Meta's official API, there are no Meta quality tiers or template approvals to manage. The same underlying truth still applies, though: if people block and report you, WhatsApp can ban the number. Tenashi paces sends (one message every 4 to 12 seconds per number), caps new chats at 50 a day via the API and pauses identical text sent to 5 chats within 10 minutes. That reduces risk; it can't guarantee against a ban. Plans start from $18/mo.

See every feature · Get started

FAQ

What does a yellow quality rating mean on WhatsApp?

Yellow, shown as Medium in WhatsApp Manager, means recipients have given some negative feedback, such as blocks, reports, mutes or archives, over the past seven days. You can keep sending, and yellow still qualifies for the 1,000 messages per second upgrade, but automatic scaling of your messaging limit needs consistently high-quality messages.

Does a low quality rating reduce my messaging limit?

Not since October 7, 2025. Meta moved limits to the business portfolio level and said a drop in phone number quality no longer downgrades the limit. Low quality still stops your limit from growing, pauses templates that reach red, and sustained low quality can lead to rate limits and policy enforcement.

How long is a WhatsApp template paused for?

When a template reaches a red rating, Meta pauses it for 3 hours the first time and 6 hours the second time. The third time, the template is disabled and you must create a new one with different content. Templates paused during pacing must be unpaused manually through the API or WhatsApp Manager.

How long does it take to improve a quality rating?

Meta scores quality on the past seven days of user feedback, weighted toward recent days. In practice, a week of sending only expected, relevant messages to engaged customers is what moves the rating. Busy numbers can see changes within hours, so one well-targeted send helps quickly, and one careless blast hurts just as fast.

Why was my message held for quality assessment?

Template pacing holds sends for new marketing and utility templates, unpaused templates and templates without a green rating once an unspecified threshold is reached. Meta waits for early feedback, then releases the held messages if feedback is good or drops them with error 132015 if it's bad. Meta aims to deliver paced campaigns within an hour.


A good quality rating is a side effect of sending messages people asked for. If most of your WhatsApp work is conversation rather than campaigns, see how Tenashi's shared inbox works on the number your customers already have.