# Why someone wasn't reached

> Every reason a campaign recipient shows as Not sent or failed, as the console labels it, with what happened, what to do, and whether retrying helps.

Source: https://docs.amomic.in/campaigns/failure-reasons

---

Every recipient who didn't get a campaign carries a reason. The console shows its label in the **Reason** column, groups them in **Why N people didn't get this**, and explains each one when you open the recipient. See [Follow a campaign and read its results](/campaigns/results).

Each reason has a **scope**, and that decides what to do:

| Scope | Meaning | What the console offers |
|---|---|---|
| One person | Something about this recipient. | No button. Retrying won't change most of these. |
| Account (badge **Affects every message**) | The account, the number or the template is the problem. | No retry button, and the note *Retrying will not help until this is fixed.* |
| Temporary | Busy or rate-limited, on our side or the provider's. | **Retry these**, for admins. |

**Retry these** and **Retry N failed** do the same thing: they requeue *every* failed recipient on the campaign, not only the group you pressed it on. People left out by a rule (**Not sent**) are never retried.

## Left out by a rule

These are the rules working as intended. Amber in the console, shown as **Not sent**.

| Label | Code | What happened | What to do |
|---|---|---|---|
| **Opted out** | `suppressed` | The person asked to stop receiving messages from you. | Nothing; it stands until they message you again. |
| **No consent on this channel** | `channel_consent_missing` | The contact's record says they opted out of this channel. | Nothing, or reach them on a channel they haven't opted out of. |
| **Already messaged today** | `daily_contact_cap` | This campaign already reached them today. | Nothing. One message per campaign per day is fixed. |
| **Over the weekly limit** | `weekly_contact_cap` | They've had as many campaign messages this week as your workspace allows. | Nothing, or raise **Most messages one person gets a week** (up to 4) in **Sending rules**. |
| **Duplicate** | `duplicate_recipient` | The same person appeared more than once. | Nothing; they got one message. |
| **Missing a personalised value** | `missing_variable` | The message needs a value they don't have, such as an empty name cell. | Fill the value, or map the placeholder to something everyone has. |
| **Unusable phone number** | `invalid_destination` | Not a valid, dialable number. | Correct it, with the country code. |
| **Outside the 24-hour window** | `session_window_closed` | Free-form text to someone whose 24-hour window has closed. | Send an approved template. |
| **Campaign cancelled** | `campaign_cancelled` | The campaign was cancelled before they were reached. | Duplicate the campaign to reach them. |

## Template problems

These affect every message, because every recipient gets the same template.

| Label | Code | What happened | What to do |
|---|---|---|---|
| **Template not found** | `template_not_found`, Meta `132001` | The template no longer exists, or not in that language. | Pick another, or recreate it and get it approved. |
| **Template not approved** | `template_not_approved` | Meta hasn't approved it. | Wait for the review, or edit and resubmit it. |
| **Template values did not fit** | `template_variables`, Meta `132000`, `132012` | The values don't match the template's placeholders. | Check the placeholder mapping against the template. |
| **Template media missing** | `template_media_missing` | The template has an image or video header and nothing is attached. | Attach the file to the template; it needs no new review. |
| **Message too long** | Meta `132005` | With this person's values filled in, the message is too long. | Shorten the template or the values. |
| **Template rejected on format** | Meta `132007` | The formatting breaks Meta's content rules. | Edit and resubmit the template. |
| **Template paused** | Meta `132015` | Too many people marked it unwanted, so Meta paused it. | Use another template; the pause lifts as quality recovers. |
| **Template disabled** | Meta `132016` | Meta disabled it permanently for poor quality. | Create a new template. |
| **Could not read the media** | Meta `131052` | Meta couldn't download the header file. | Re-upload the image or video, then retry. |
| **Could not send the media** | Meta `131053` | Meta rejected the file, usually format or size. | Use a JPEG or PNG under 5 MB, or an MP4 under 16 MB, then retry. |
| **Message was incomplete** | Meta `131008` | A value the message needed was missing. | Check the placeholder mapping, then retry. |

## Account and number problems

These affect every message. Fix them in Meta Business Manager or under **Channels**, then retry.

| Label | Meta code | What happened | What to do |
|---|---|---|---|
| **Payment issue on your WhatsApp account** | `131042` | The WhatsApp Business Account has no valid payment method. | Fix the payment method in Meta Business Manager, then retry. |
| **WhatsApp account restricted** | `131031` | Meta locked or restricted the account, usually for a policy violation. | Request a review in Meta Business Manager. |
| **Temporarily blocked by Meta** | `368` | A temporary block for policy violations. | Read Meta's notice; sending resumes when it expires. |
| **Number not registered** | `133010` | The number isn't registered for sending. | Finish its registration under **Channels**, then retry. |
| **Number not set up correctly** | `131045` | The number's registration is incomplete. | Re-register it under **Channels**, then retry. |
| **WhatsApp connection expired** | `190` | The connection to the WhatsApp account has expired. | Reconnect the number under **Channels**, then retry. |
| **Permission denied** | `131005` | The account isn't allowed to send this message. | Reconnect the number; contact support if it persists. |
| **Held back for message quality** | `131048` | Too many people blocked or reported the number, so Meta limited it. | Send less often, to people who expect you. The limit lifts as quality recovers. |
| **Channel not connected** | `channel_not_connected` | The campaign's channel isn't connected. | Connect it under **Channels**, then use **Retry N failed** to continue the campaign. See [It stopped halfway](/campaigns/troubleshooting#it-stopped-halfway). |

## Delivery problems for one person

| Label | Meta code | What happened | What to do |
|---|---|---|---|
| **Cannot receive WhatsApp messages** | `131026` | Meta couldn't deliver to the number. Usually it isn't on WhatsApp; a blocked business or an old app look the same. | Check the number. A few of these in a large list is normal. |
| **Outside the 24-hour window** | `131047` | Free-form text more than 24 hours after their last message. | Send an approved template. |
| **Sent to your own number** | `131021` | The recipient is your sending number. | Remove it from the list. |
| **Not delivered — Meta experiment** | `130472` | The person is in a Meta test group that limits marketing messages. | Nothing; it doesn't mean the number is wrong. |
| **Held back by Meta** | `131049` | Meta limits how many marketing messages one person gets, and held this one back. | Nothing. Fewer, more relevant marketing messages help. |

## Temporary

Retry these.

| Label | Code | What happened |
|---|---|---|
| **Sending too fast** | Meta `130429`, `80007` | Messages went out faster than Meta allows for the number. **Gradual** pacing avoids it. |
| **Rate limited** | `rate_limited` | Messages went out faster than the provider allows. |
| **Too many messages to this person** | Meta `131056` | Too many messages to one person in a short time. Retry later. |
| **WhatsApp is busy** | Meta `131016` | Meta's service was briefly unavailable. |
| **WhatsApp had a problem** | Meta `131000` | An unspecified error at Meta. |
| **WhatsApp rejected the message** | Meta `100` | Meta rejected how the message was built. Contact support if it keeps happening. |
| **The provider rejected it** | `provider_error` | The provider refused the message without a reason. Contact support with the campaign name if it keeps happening. |
| **Waiting for a free line** | `call_concurrency` | Every call line was busy. Not a failure: the number stays queued and is dialled automatically. |

A Meta code that isn't in these tables shows Meta's own title as the label, with the code in the recipient's details.

## How a call ended

For a call batch, **How the calls ended** and the recipient's details use these labels:

| Label | Meaning | What to do |
|---|---|---|
| **Call completed** | The agent finished the conversation. | Nothing. |
| **Call ended** | Answered and finished normally. | Nothing. |
| **Answered, then hung up** | They picked up and ended the call. | Many of these usually means the opening line isn't landing. |
| **Nobody answered** | It rang and nobody picked up. | Turn on **Try again if nobody answers** for a second try. |
| **Line busy** | The number was engaged. | Retry; it usually clears within the hour. |
| **Call declined** | They actively declined the call. | Don't call again soon. |
| **Call did not connect** | The call couldn't be placed. | Check the number, then retry. |

What each call *produced*, such as **Completed** or **Asked to call back**, is on the **Outcomes** tab; see [Call outcomes](/campaigns/outcomes).
