# Why does WhatsApp show my messages as both delivered and failed?
Author: Rohit Jain
Author URL: https://www.fyno.io/blog/author/rohit-jain/
Published: 2025-03-06
Category: Resources
Category URL: https://www.fyno.io/blog/category/resources/
Tags: WhatsApp, whatsapp deliverability
Tag URLs: WhatsApp (https://www.fyno.io/blog/tag/whatsapp/), whatsapp deliverability (https://www.fyno.io/blog/tag/whatsapp-deliverability/)
URL: https://www.fyno.io/blog/why-does-whatsapp-show-my-messages-as-both-delivered-and-failed-cm7x97mbe000ifoil08bmp9qg/

### TL;DR

If you use the WhatsApp Business API (including Cloud API), you can occasionally receive both **DELIVERED** and **FAILED/UNDELIVERED** webhooks for the same message. This usually happens in **multi-device** scenarios: the message reaches at least one device (so WhatsApp emits _delivered_), but fails on another device (so WhatsApp emits _failed/undelivered_).

![](https://prod.superblogcdn.com/site_cuid_clsli1s4n0010sbt4d6ctqt47/images/whatsapp-message-failed-and-delivered-1741262754547-compressed.png)

### Why does WhatsApp show a message as both DELIVERED and FAILED?

In rare cases, WhatsApp can send a **DELIVERED** status webhook and also a **FAILED/UNDELIVERED** webhook for the same message ID. This isn’t necessarily a contradiction—WhatsApp’s delivery reporting can reflect delivery outcomes across a user’s **multiple devices**, which means one device can succeed while another fails.

### The short explanation

- **DELIVERED** can mean the message reached **at least one** of the user’s active devices.

- **FAILED/UNDELIVERED** can mean delivery to **another device** did not succeed.


### Why you may also see multiple DELIVERED webhooks

If the same message is successfully delivered to multiple devices (phone + desktop, etc.), you may receive **multiple DELIVERED** webhooks for that single message.

This behavior is documented within the Meta for Developers documentation, providing clarification on how webhooks function, especially concerning message status updates. You can find more details here: [WhatsApp Cloud API Webhooks](https://developers.facebook.com/docs/whatsapp/cloud-api/support#webhooks)

### How multi-device logins create “delivered + failed” for one message

When a customer is logged into WhatsApp on multiple devices (phone, tablet, desktop), WhatsApp’s delivery process can produce mixed outcomes. One device may be reachable and receive the message, while another device might be offline, constrained, or otherwise unreachable—resulting in both success and failure signals for the same message.

### Delivered to at least one device

If WhatsApp successfully delivers the message to **at least one** active device, you can receive a **delivered** status webhook.

### Failed on another device

If delivery fails to **one or more** other [devices, WhatsApp](https://www.fyno.io/blog/how-to-unblock-your-blocked-whatsapp-business-account-cm6a80wgk000c11x6d5z74ipz) can also emit a **failed/undelivered** status webhook—without negating the fact that another device received it.

## Key takeaway: is the message delivered to the user or not?

If you have received a **DELIVERED** webhook, that confirms the message was delivered to at least one device and therefore **reached the user**. The accompanying **FAILED/UNDELIVERED** webhook indicates delivery wasn’t universally successful across all devices, but it doesn’t automatically invalidate the delivered outcome.

## Practical implications for reporting and ops

When you see both statuses, you should treat **DELIVERED** as confirmation of user reach, and treat **FAILED/UNDELIVERED** as device-level friction that may matter for debugging—but not necessarily for end-user delivery success. Also account for webhook timing and retries when analyzing logs and dashboards.

### How to interpret delivery reports

- If **DELIVERED** exists, consider the message delivered to the end user (at least one device).

- Use **timestamps** to understand the real sequence, not webhook arrival order.


### What “failed” means when “delivered” exists

- It can highlight delivery issues on **specific devices** (connectivity, device limitations, etc.).

- It does **not** necessarily mean the user didn’t get the message, if _delivered_ was already sent.


## Conclusion

Seeing both **DELIVERED** and **FAILED/UNDELIVERED** for the same WhatsApp Business API message can be confusing, but it’s typically a byproduct of **multi-device** delivery dynamics. Interpreting it correctly means treating **DELIVERED** as successful user reach, using **timestamps** for sequencing, and using **FAILED/UNDELIVERED** as a diagnostic signal rather than a blanket failure verdict.


---
This blog is powered by Superblog. Visit https://superblog.ai to know more.
---

