The message_template_quality_update field reports changes to a template's quality score. It helps you react before a template is paused or disabled due to poor feedback.
What message_template_quality_update Reports
The payload identifies the template and includes the previous and new quality score.
Quality values:
| Score | Meaning |
|---|---|
GREEN | High quality. |
YELLOW | Medium quality or warning state. |
RED | Low quality and higher risk. |
UNKNOWN | Quality is pending or not enough signal exists. |
When It Fires
Meta sends this webhook when a template's quality score changes.
Payload Shape
{
"object": "whatsapp_business_account",
"entry": [
{
"id": "<WABA_ID>",
"time": 1674864290,
"changes": [
{
"field": "message_template_quality_update",
"value": {
"previous_quality_score": "GREEN",
"new_quality_score": "YELLOW",
"message_template_id": 806312974732579,
"message_template_name": "welcome_template",
"message_template_language": "en-US"
}
}
]
}
]
}
Dualhook Handling
Dualhook subscribes to message_template_quality_update as a management field. It uses the event to keep template quality metadata current, surface warnings in the dashboard, and forward the management event to your endpoint.
The event contains template metadata and quality state only. Dualhook stores operational metadata and forwarding status; it does not store customer message content.
Implementation Notes
- Treat
YELLOWas an early warning andREDas urgent. - Segment or pause campaigns that are driving negative feedback before Meta pauses the template.
- Store both previous and new score so you can detect recovery as well as degradation.
- Join by
message_template_id, name, and language. Template names can be reused across languages.