An undelivered message is a problem for you and for us — we have no interest in it not arriving. The path to the end device leads through the delivery provider and the operator's network, though, and **a route can go down** at any of those links; messages that fall into such a window never reach the recipient. When that happens, write to our support with the [Message ID](https://www.bulkgate.com/en/helpdesk/general-information/message-id/) — we will trace what happened to the message with the delivery provider and get back to you with a solution. How to file the report is described in [How to report an undelivered message](#how-to-report-an-undelivered-message).

First, though, find out what status the message ended in. The status is the only thing we know about its fate, and it tells you whether this is an outage or something on the recipient's side.

1. In the menu click `Reports`
2. Click `History`
3. Find the message — use `Filter` by `Phone number`, `Campaign ID` or `Message ID`
4. Click the row and copy the `Message ID` from the detail

What the history contains and how to filter it is described in [History](https://www.bulkgate.com/en/helpdesk/reporting/history/). Continue with the section below that matches the status you see.

## Status `Sent` or `Accepted`

The message is on its way and has not reached a final status yet.

- `Sent` — we handed the message over for delivery, no confirmation has arrived yet.
- `Accepted` — the delivery provider took it over and is trying to deliver it. When the recipient's device is unreachable, it keeps retrying until the message validity expires.

**What to do:** give it a moment — the confirmation usually arrives within minutes. If the message stays in one of these statuses for **more than 30 minutes**, report it to [support](#how-to-report-an-undelivered-message).

> [!NOTE]
> As long as the message is in one of these two statuses, it is not undelivered — it just has no final status yet.

## Status `Delivered`

The message reached the end device. As far as we and the operator are concerned, it is done. If the recipient claims they have nothing, go through this:

- **Check the number in the message detail.** The most common cause is a typo or a different number than you expected.
- **Check which app the message went to.** Viber, RCS and WhatsApp deliver into their own apps, not among SMS.
- **Ask about filters on the phone.** Some devices move messages from unknown senders into a separate folder.

The `Read` status is only reported by channels that support read receipts — with SMS you will therefore never see more than `Delivered`.

**What to do:** if you have been through everything above and the message still did not arrive, this is a **fake delivery** — the operator confirmed a delivery that never happened. Write to [support](#how-to-report-an-undelivered-message) and we will escalate it to our provider.

## Status `Error`

The message was **rejected by the operator or the provider**. This is where reporting makes sense — and this is also where messages hit by a route outage end up.

| Reason | How to recognise it |
|:--|:--|
| The recipient does not use the channel and no suitable fallback is active in the [cascade](https://www.bulkgate.com/en/docs/advanced-api/advanced-cascade/) | Applies to Viber, RCS and WhatsApp. With the cascade on, the message would continue through the next channel. |
| Content the destination country does not allow | Errors on all messages with the same text. What does not pass in the USA and Canada is described in [Prohibited SMS content in the USA and Canada](https://www.bulkgate.com/en/helpdesk/sms/prohibited-sms-content-usa-and-canada/). |
| A promotional message sent over the transactional route | The operator's filter rejects it. The difference is described in [Promotional vs. transactional messages](https://www.bulkgate.com/en/helpdesk/general-information/difference-promotional-transactional-sms/). |
| A route outage | Errors on a whole batch to one destination at the same time. See [When a route goes down](#when-a-route-goes-down). |

> [!TIP]
> If one message out of a thousand did not arrive, the problem is on the recipient's side. If a whole batch to one country did not arrive, it is more likely the route — and that is exactly a case for support.

## Status `Recipient unavailable` or `DND`

Both mean the message went through fine, there was just nobody to deliver it to.

- `Recipient unavailable` — the device was unreachable for the whole message validity period: switched off, out of signal, or offline on data channels.
- `DND` — the recipient has "do not disturb" set. This applies to India and [promotional messages](https://www.bulkgate.com/en/helpdesk/general-information/difference-promotional-transactional-sms/): they only go through between 9 AM and 9 PM and only to numbers that are not in the NDNC registry. The details are described in [DND (Do Not Disturb)](https://www.bulkgate.com/en/helpdesk/integrations/sms-modules/dnd/).

**What to do:** this is not a fault on the route, so there is nothing to claim. With `Recipient unavailable` try sending again later, with `DND` outside the night window — and use the transactional route only for messages that really are transactional.

### France: nights, Sundays and public holidays

In France, promotional SMS follow the [Business Messaging charter](https://af2m.org/charte-business-messaging/) of the AF2M industry association. They are allowed only **between 8:00 and 21:30** French time. The recommended days are Monday to Saturday. Sending on Sundays and French public holidays was not allowed until 28 February 2026; since 1 March 2026 it is tolerated but not recommended. These rules do not apply to transactional messages.

A promotional message sent outside the allowed window may be held by the French operator until the next allowed window, or end in an error. **What to do:** [schedule](https://www.bulkgate.com/en/helpdesk/campaign/scheduling-campaign/) campaigns to France within the allowed hours and better leave out Sundays and public holidays.

## The message is not in the history at all

When you cannot find a message in the history, it usually does not mean it got lost:

- **The number was invalid.** A message to a non-existent or badly written number — typically without a prefix or with a typo — is never created, so it is not in the history.
- **It was sent from a different wallet.** The history only shows [wallets](https://www.bulkgate.com/en/helpdesk/payments-and-wallets/creating-wallet/) your account has access to. Use the `Filter` field `Wallet` to narrow or widen the list.
- **The campaign has not been sent yet.** A scheduled send waits in `Scheduled messages` and only reaches the history once it goes out.
- **The message was evaluated as a duplicate.** A discarded message is not sent at all, so it is not in the history and nothing is charged for it. In a campaign the same number and text is always removed, on the transactional route the same message is discarded within a five-minute window — the details and settings are described in [Duplicate message protection](https://www.bulkgate.com/en/helpdesk/tools/duplicate-message-protection/).
- **The number is [blacklisted or opted out](https://www.bulkgate.com/en/helpdesk/tools/blacklist-and-opt-out/).** Such a message is not sent at all, so it is not in the history.
- **The API request never went through.** In that case the message was never created and the API returned the reason directly in its response — typically an invalid token or insufficient credit.

## When a route goes down

On its way, a message passes through the delivery provider and the operator's network. An outage we cannot influence can happen at any link: the operator takes an SMSC down, a local provider stops accepting traffic, a country introduces a new rule overnight. Messages that fall into such a window end up in `Error`.

What we do about it:

- **We route messages the shortest way possible.** Wherever we can, they go over a direct connection to the operator with no intermediaries — the fewer links, the fewer places where the route can fail. This is described in [Infrastructure](https://www.bulkgate.com/en/helpdesk/general-information/api-infrastructure/).
- **We handle reports with the delivery provider.** With the `Message ID` we trace the specific message and find out where it ended up.

## How to report an undelivered message

1. In the menu click `Support` and then `Contact us`
2. In the `Subject` field choose `Message delivery issue`
3. Select the `Country` you were sending the message to
4. Choose the `Channel`
5. Paste the value copied from the history into the `Message ID` field
6. Fill in `Problem description` and click `Send`

> [!TIP]
> The `Add message ID` button lets you put up to three different `Message ID` values into one report. At least one is required — without it we cannot trace the specific message with the delivery provider. `Problem description` is not required, but it helps: write what you expected and what happened.

If you are not logged in to the portal, use the [contact form](https://www.bulkgate.com/en/contact-us/) — choose the same `Subject` and fill in the `Email` your account is registered under.
