Skip to main content
After a broadcast sends, DMLY reports how it went — on the Broadcasts list and on each individual broadcast. The numbers are useful, but only some of them are real on some channels. Read this first so you don’t chase a zero that was never going to be anything else.

What DMLY actually measures

A broadcast only ever counts Delivered and Opened on WhatsApp and SMS, and SMS reports Delivered but not Opened. Telegram sends no delivery confirmations at all. Facebook and Instagram do send them, and DMLY records them against the individual message in the Inbox — but it doesn’t add them up onto the broadcast, so Delivered and Opened stay at 0 on Meta channels no matter how well the broadcast performed.
Two things on these pages are not measurements at all:
  • Replies is always 0. Nothing in DMLY counts replies to a broadcast, on any channel. It appears as a stat card and as the last step of the funnel, and it will read 0 forever.
  • Engagement over time is placeholder data. It shows the same fixed shape for every broadcast and is not derived from your send. Ignore it.
To see whether a campaign actually landed, use Delivered and Opened on WhatsApp, and the Inbox — every broadcast send is recorded in the contact’s conversation thread, so replies arrive there like any other message.

Where to find the numbers

1

Open Broadcasts

Go to Broadcasts. The four cards at the top — Sent, Delivered, Replies and Failed — are totals across every broadcast on the channel you’re currently working in. Switch channel and the totals change with it.
2

Open one broadcast

Select View analytics on any broadcast to see its own Sent, Delivered, Opened, Replies and Failed, plus the Conversion funnel.

What each number means

Sent means accepted by WhatsApp, Meta, your SMS gateway or Telegram — not that it arrived. That is what Delivered is for, which is why a WhatsApp broadcast is the only kind where you can tell the difference. The Conversion funnel is these same numbers as a percentage of Sent. On Facebook, Instagram and Telegram it will show a full first bar and three empty ones, for the reasons above rather than because of anything you did.
A broadcast that reads Sent with 0 recipients isn’t broken — its audience matched nobody. Check the segment under Audiences.

Messenger delivery (Facebook and Instagram)

Facebook and Instagram broadcasts get one extra panel, Messenger delivery, and it is real. It splits recipients by how Meta let the message through: those reached inside Meta’s 24-hour messaging window, those reached because the contact had opted in to notifications, and those skipped because neither applied. This is the panel to read on Meta channels. It answers the question Delivered can’t.
Failed recipients count toward this panel’s total but don’t get a row of their own, so on a broadcast with failures the three percentages add up to less than 100%.

What a failure actually means

DMLY records a reason for every failed recipient, but the broadcast page doesn’t show it — there is no per-contact failure list in the app. The reasons aren’t lost, though: the API returns them, one row per recipient, each with its own error.
If you’d rather not go through the API, work through the likely causes in order:
Every channel blocks opted-out contacts at the moment of sending. They receive nothing — but they still count as recipients and still increment Failed.This happens because Reachable contacts only in the broadcast’s audience step is off unless you tick it, so opted-out contacts are pulled into the audience in the first place. Tick it to keep them out and your Failed number honest. It doesn’t change who receives the broadcast — opted-out contacts were never going to get it either way.
DMLY re-checks template approval at send time, not just when you schedule. If Meta revoked or paused the template between scheduling and sending, every recipient fails. See Message templates and WhatsApp rules and limits.
If a contact hasn’t messaged you in the last 24 hours and hasn’t opted in to notifications, Meta won’t accept the message. Those recipients fail and appear as skipped in Messenger delivery.
No phone number, no identity on the broadcast’s channel, or a channel whose connection has broken. Check the channel is still connected under Channels.
If a broadcast fails 100%, suspect the broadcast rather than the contacts: a revoked WhatsApp template, a disconnected channel, or a broadcast saved with no message content at all — nothing stops you saving an empty one.
Sent plus Failed may not equal the recipient count, in either direction. It can fall short because contacts deleted between scheduling and sending are skipped without counting as failures. On WhatsApp and SMS it can also overshoot: a message accepted by the channel counts as Sent, and if the channel later reports it as undeliverable that same recipient also counts as Failed.

Getting results out of DMLY

Broadcast results are available as webhooks if you want them in another system. Note what they mean: broadcast.sent fires when sending starts, not when it finishes. The one carrying the final counts is broadcast.completed.