Message Delivery Issues
A checklist for diagnosing SMS, WhatsApp, or Email messages that aren't arriving.
When a message doesn't arrive, the cause is almost always one of a small number of things. Work through this checklist in order — it covers SMS, WhatsApp, and Email, and calls out where a channel needs its own extra check.
1. Confirm the gateway is actually connected
Open Gateways in the dashboard and check that the channel you sent from shows as connected/active, not disconnected or pending. A campaign or single send can be submitted even if the underlying gateway has dropped — the platform will still record the attempt, but nothing will reach the recipient until the gateway is reconnected.
- For WhatsApp via QR, this means the linked phone is online and the session hasn't expired — see WhatsApp Connection Issues for that specific flow.
- For WhatsApp Cloud API, SMS API, or Email/SMTP, this means the provider credentials are still valid and the connection test would still pass.
- For the Android SIM Gateway, this means the paired phone is powered on, connected to the internet, and running the bridge app.
2. Check your account or channel balance
Sending consumes credits or a plan allowance depending on your channel and subscription. If a balance is exhausted, sends will fail even though everything else is configured correctly. Check your account's balance/plan status before assuming the problem is technical.
3. Check the recipient's number or email format
Missing country code is the most common cause
The single most common reason a message silently fails is a recipient phone number saved without a country code (for example, 01012345678 instead of +201012345678). Mersal's Excel import automatically cleans and normalizes numbers on the way in, but numbers added manually or sent directly through the API bypass that cleanup — always include the full international format with a leading + and country code.
For email, confirm the address is syntactically valid and not a typo — Mersal's account-protection checks catch some bad addresses at signup time, but that doesn't guarantee every address you message is deliverable.
4. Check Reports for that specific message
Open Reports and find the message or campaign in question. Each entry shows a per-message status — sent, pending, or failed — and, where available, the reason behind a failed status. This is the fastest way to tell whether the problem is on Mersal's side (gateway issue), the provider's side (rejected by carrier or Meta), or the recipient's side (invalid address/number).
If a message is stuck in pending for longer than expected, that usually points back to steps 1 or 2 — a gateway that dropped mid-send, or a rate-limit preset queuing the send rather than rejecting it outright.
5. Check rate-limit presets
Every gateway has rate-limit presets — per-minute, per-hour, and per-day caps — that control how fast messages actually go out. If you send a large batch, later messages in that batch can appear delayed or queued simply because the gateway is pacing itself against its own limit, not because anything failed. This is especially relevant for Android SIM Gateway sending, where conservative limits are intentional.
6. Email-specific: check DKIM and domain verification
If Email messages are sending without errors but landing in spam or not arriving at all, check your sending domain's status. A domain that hasn't completed DKIM setup and verification is far more likely to be filtered by the receiving mail server. See Setting Up DKIM and Tracking Domains to verify your domain is fully signed.
Still stuck?
If you've worked through all of the above and a specific message is still failing, check Common Errors for API-level error messages, or WhatsApp Connection Issues if the problem is isolated to your WhatsApp channel.
