# Why a message does not arrive

> The full directory of reasons a send can fail, what Konverda does about each one and what you can do. Includes every WhatsApp error code.

Fuente / source: https://soporte.konverda.com/en/docs/deliverability-and-meta/send-errors
Idioma / language: en
Actualizado / updated: 2026-08-27

---
A message that does not arrive always has a reason, and the reason is always recorded. Sometimes it belongs to WhatsApp — the person opted out, the template is paused, the number no longer exists — and sometimes it is one of our own checks stopping the send on purpose. This page collects all of them.

**Where to see them in the app:**

- **«Campañas»** (campaigns) → a wave: the summary includes **«Por qué no llegaron»** (why they did not arrive), counting each reason.
- **«Flujos»** (flows) → a message step: open the analytics and select the step; the **«Entrega»** (delivery) section breaks down its failures.
- **«Contactos»** (contacts) → a contact's profile: the **«Entrega»** section lists the sends that never reached them, with dates.

In all three places every reason links to its section on this page.

:::nota
A delivery failure is not the same as an ignored message. Only sends that were not delivered appear here; someone reading a message and not replying is a different thing.
:::

## WhatsApp errors {#whatsapp-errors}

### About the person receiving {#g-persona}

Reasons that say something about that particular contact, not about your account or your template.

#### 131050 · The person stopped marketing messages {#error-131050}

The person tapped "stop receiving marketing messages" inside WhatsApp. It is not a technical failure: it is an opt-out.

**Konverda:** Opts them out automatically and instantly, cancels any flow they were in, and notifies the people in charge. It is written to their history.

**You:** Nothing, and you should not try anything. They can only come back if they give you consent again themselves, for example by filling in one of your forms.

:::nota
**Tip.** If you see many of these in one wave, the problem is almost never the number: it is the message. Review the hook and the frequency before sending again.
:::

#### 131049 · WhatsApp limited delivery to this person {#error-131049}

WhatsApp chose not to deliver this marketing message to this person right now, because they already receive too many or rarely read them. Meta applies the limit across every business messaging them, not just you.

**Konverda:** Flags it in **«Centinela»** (the consent review queue) so someone on your team can decide whether to stop including them in campaigns. It does not opt them out.

**You:** Wait at least 24 hours before writing to them again. Pushing sooner can extend the block for another 24 hours.

:::nota
**Tip.** The limit does not count messages sent inside the 24-hour window their reply opens. Earn that reply first and the limit stops getting in your way.
:::

#### 131026 · The number could not receive the message {#error-131026}

WhatsApp could not deliver it. Meta documents three causes: the number is not on WhatsApp, its owner has not accepted the terms of service, or they run a very old version of the app.

**Konverda:** Flags it in **«Centinela»** for review. It does not opt the contact out.

**You:** Check the number, including its country prefix. If it is right and always fails, mark it as unreachable on WhatsApp and use another channel.

:::nota
**Tip.** A spike of this error right after an import almost always means badly normalised prefixes, not bad contacts.
:::

#### 130472 · The person is in a Meta experiment {#error-130472}

WhatsApp is running an experiment with this person and has decided not to deliver marketing messages to them. It is not your mistake. It affects very few people and only marketing messages.

**Konverda:** Records it and shows it in reports. It does not touch the contact, and you are not billed.

**You:** If you need to reach that person, contact them another way and ask them to message you on WhatsApp: inside their 24-hour window the message does arrive.

:::nota
**Tip.** Do not count these as "bad delivery". Mixing them with unreachable numbers will make your quality reports lie.
:::

#### 130403 · Your number has blocked this person {#error-130403}

Your own WhatsApp Business number has this person blocked, so nothing reaches them. It is an action on your side, not their opt-out.

**Konverda:** Flags it in **«Centinela»**.

**You:** Unblock them in WhatsApp Business Manager if it was a mistake. If the block was intentional, mark them as not contactable so they stop entering waves.

#### 131021 · You are messaging yourself {#error-131021}

You are trying to send a message to your own WhatsApp Business number.

**Konverda:** Records it.

**You:** Remove your number from the contact list. To test sends, use a second phone.

### Your template {#g-plantilla}

When the template is the problem, one send does not fail: every send of that template fails. So Konverda notifies once, even if the wave had hundreds of recipients.

#### 132000 · The number of variables does not match {#error-132000}

The template has {{1}}, {{2}}… slots and the wave did not send the same number of values. It fails identically for every recipient, not just one.

**Konverda:** Notifies the people in charge once, even if hundreds of sends fail. It does not pause the wave on its own.

**You:** Open the wave and fill in every variable. If the send already went out halfway, fix it and relaunch: only the remainder is sent.

:::nota
**Tip.** Konverda already checks the slots before launching. If you still see this, the template changed in Meta after the wave was saved.
:::

#### 132001 · The template does not exist or is not approved {#error-132001}

Three different cases share this error: the template does not exist, it exists but Meta has not approved it yet, or it exists in a different language than the send.

**Konverda:** Notifies the people in charge once per template per day.

**You:** Check under **«Plantillas»** (templates) that it shows as approved and in the right language. "es" is not the same as "es_ES".

:::nota
**Tip.** This is the classic first-campaign error. The template language and the wave language must match exactly.
:::

#### 132015 · Meta paused the template {#error-132015}

WhatsApp paused this template because it is drawing complaints or is barely read. The pause is 3 hours the first time and 6 the second; the third time, the template is disabled for good.

**Konverda:** Notifies the people in charge. It does not pause the wave on its own: that is your call.

**You:** Stop the campaign. Edit the template to improve it and wait for re-approval. Do not relaunch it as-is.

:::nota
**Tip.** Template quality is measured by complaints AND by reads. A message nobody opens gets paused just like one that annoys.
:::

#### 132016 · Meta disabled the template {#error-132016}

This template was paused too many times and WhatsApp has permanently disabled it. It does not come back.

**Konverda:** Notifies the people in charge.

**You:** Create a new template with different content. Copying the same one under a new name sinks it again.

:::nota
**Tip.** Before writing the replacement, look at what the disabled one said. If it promised something the message did not deliver, that is where the complaints came from.
:::

#### 131008 · A required value is missing {#error-131008}

A required value is missing, almost always an unfilled template variable.

**Konverda:** Notifies the people in charge.

**You:** Open the template, check how many slots it has and fill them all in the wave. If one is missing, every send fails.

#### 131009 · A value is not valid {#error-131009}

One of the message values is invalid: a text where WhatsApp expects a date, or a malformed link.

**Konverda:** Notifies the people in charge.

**You:** Check the wave variable values. A link must start with https://.

#### 132005 · The text is too long {#error-132005}

The template text, with the variables filled in, exceeds WhatsApp’s maximum.

**Konverda:** Notifies the people in charge.

**You:** Shorten the values filling the variables (very long names, unshortened links) or edit the template.

#### 132007 · The template breaks a policy {#error-132007}

The template content violates WhatsApp policy.

**Konverda:** Notifies the people in charge.

**You:** Rewrite the template and submit it for review again. Insisting with the same one damages the number’s reputation.

#### 132012 · A variable’s format does not fit {#error-132012}

The values sent do not have the format the template expects. The most common cause is a missing header image.

**Konverda:** Notifies the people in charge.

**You:** If the template has an image or video header, register that file in Konverda once; from then on it is sent automatically.

:::nota
**Tip.** The image you uploaded when creating the template is only the sample for Meta’s review. Every send must carry its own.
:::

#### 132018 · Problem with the template variables {#error-132018}

There is a problem with how the template variables are configured.

**Konverda:** Notifies the people in charge.

**You:** Review the template under **«Plantillas»** and save it again.

### Your account and your connection {#g-cuenta}

These affect all your sends at once. Konverda notifies the people in charge once a day while the problem lasts.

#### 368 · Account temporarily blocked {#error-368}

Meta has restricted or disabled your WhatsApp Business account for a policy violation. While it lasts, nothing goes out.

**Konverda:** Notifies the people in charge once a day while it lasts. It does not pause sending on its own.

**You:** Go to Business Manager → Account quality, read the reason and appeal if appropriate.

:::nota
**Tip.** Meta’s appeal is a button with no text field: the only thing arguing for you is the account’s behaviour. Look after volume and consent before you need it.
:::

#### 131031 · The account is locked or unverified {#error-131031}

Two very different situations share this error: Meta has restricted the account for policy, or it could not verify some data in the request, for example an incorrect two-step verification PIN.

**Konverda:** Notifies the people in charge once a day.

**You:** The second case you fix yourself by checking the number’s details under **«Ajustes»** (settings) → **«Canal»** (channel). The first means reading Meta’s notice in Business Manager and appealing if appropriate.

:::nota
**Tip.** Before assuming you have been sanctioned, check the PIN. It is the most common cause and the quickest to rule out.
:::

#### 131042 · Payment method problem {#error-131042}

WhatsApp cannot charge you, so it sends nothing. There may be no payment method, an inactive credit line, or an unset account timezone and currency.

**Konverda:** Notifies the people in charge once a day.

**You:** Go to Business Manager → Payment settings and add or repair the payment method. Check the timezone and currency too.

:::nota
**Tip.** Check the balance or card BEFORE launching a big campaign, not after. A payment failure mid-wave leaves half your audience unmessaged and your report meaningless.
:::

#### 131063 · Marketing disabled on this path {#error-131063}

Your account cannot send marketing templates over the Cloud API. Meta has moved them to another of its products.

**Konverda:** Notifies the people in charge.

**You:** Tell us immediately. This is not fixable from Konverda: the account configuration in Meta has to be reviewed.

#### 130497 · Country restricted for your account {#error-130497}

Your business type cannot message people in that country.

**Konverda:** Flags it in **«Centinela»** and notifies.

**You:** Check which countries you may message for your business category and exclude those prefixes from your audiences.

#### 33 · The number no longer exists {#error-33}

The number you send from no longer exists in WhatsApp Business.

**Konverda:** Notifies the people in charge.

**You:** Connect a number again under **«Ajustes»**. Nothing goes out until then.

#### 131037 · No approved display name {#error-131037}

The number you are using has no approved display name. This is typical of test numbers.

**Konverda:** Notifies the people in charge.

**You:** Approve the display name in Business Manager, or use the real number.

#### 131045 · Number registration failure {#error-131045}

The number is not registered, or lost its registration, on the WhatsApp Business platform.

**Konverda:** Notifies the people in charge.

**You:** Register the number again from Konverda’s connection wizard. If the number is new, this is normal until registration finishes.

#### 133010 · The number is not registered {#error-133010}

The number is not registered on the WhatsApp API, so it cannot send.

**Konverda:** Notifies the people in charge.

**You:** Complete the number connection again under **«Ajustes»** → **«Canal»**.

#### 134011 · Payments terms not accepted {#error-134011}

WhatsApp Payments terms are pending acceptance. This only applies in countries with in-WhatsApp payments, such as India or Brazil.

**Konverda:** Notifies the people in charge.

**You:** Accept the terms in Business Manager if you operate in one of those countries.

#### 0 · Authentication failed {#error-0}

The app could not authenticate with WhatsApp.

**Konverda:** Notifies the people in charge.

**You:** Connect the number again under **«Ajustes»**.

#### 3 · Missing permissions {#error-3}

Permissions for this operation are missing.

**Konverda:** Notifies the people in charge.

**You:** Review the connection permissions in Meta.

#### 10 · Permission removed {#error-10}

A required permission has been removed.

**Konverda:** Notifies the people in charge.

**You:** Authorise the app again in Meta.

#### 131005 · The connection lost permissions {#error-131005}

The WhatsApp connection lost permissions. Nothing will send until it is fixed.

**Konverda:** Notifies the people in charge.

**You:** Reconnect the number under **«Ajustes»** → **«Canal»**. If it keeps failing, the app permissions in Meta need review.

#### 190 · The token has expired {#error-190}

The WhatsApp access token has expired.

**Konverda:** Notifies the people in charge.

**You:** Connect the number again; Konverda will ask for fresh credentials.

:::nota
**Tip.** A token that dies all at once is usually a 24-hour test token. Production needs a long-lived one: if your sends die at the same time every day, this is why.
:::

#### 200 · No access token {#error-200}

No access token was sent with the request.

**Konverda:** Notifies the people in charge.

**You:** This is a configuration fault on our side — tell us.

#### 133000 · Previous deregister failed {#error-133000}

An earlier attempt to deregister the number failed.

**Konverda:** Notifies the people in charge.

**You:** Deregister the number again before re-registering it.

#### 133005 · Two-step PIN mismatch {#error-133005}

The two-step verification PIN is incorrect.

**Konverda:** Notifies the people in charge.

**You:** Check the PIN; if you do not remember it, reset it in Business Manager.

#### 133006 · Number not verified {#error-133006}

The number is not verified.

**Konverda:** Notifies the people in charge.

**You:** Verify it by SMS or call before registering it.

#### 133008 · Too many PIN attempts {#error-133008}

Too many two-step PIN attempts were made.

**Konverda:** Notifies the people in charge.

**You:** Wait as long as WhatsApp indicates before trying again.

#### 133009 · PIN entered too quickly {#error-133009}

The PIN was entered too soon after the previous attempt.

**Konverda:** Notifies the people in charge.

**You:** Wait a moment and try again.

#### 133015 · Number deletion pending {#error-133015}

The number was deleted recently and the process has not finished.

**Konverda:** Notifies the people in charge.

**You:** Wait about five minutes and try again.

#### 133016 · Too many registration attempts {#error-133016}

Too many registration attempts were made in a row.

**Konverda:** Notifies the people in charge.

**You:** Wait for the block to lift before trying again.

### Pace and limits {#g-ritmo}

WhatsApp regulates how fast and how much you may send. Almost all of these resolve themselves.

#### 131048 · Sending limited by quality {#error-131048}

WhatsApp has limited how much your number can send because its quality dropped. This is not a burst problem: it is a reputation problem.

**Konverda:** Notifies the people in charge. Today it treats this as a send failure rather than a channel pause: a known limitation.

**You:** Pause the marketing campaigns. Find which template is drawing complaints. Restart at low volume in a few days.

:::nota
**Tip.** Check the number’s quality rating under **«Ajustes»**. If it is yellow or red, this error will keep repeating until you recover it. It is not fixed by sending more slowly that same afternoon.
:::

#### 130429 · Messages-per-second limit {#error-130429}

You are sending faster than WhatsApp currently accepts. The default is 80 messages per second per number.

**Konverda:** Waits and sends it again on its own. Nothing is lost.

**You:** Nothing. If you see it often, lower the send rate under **«Ajustes»**.

:::nota
**Tip.** Going slower also protects the number’s quality. Haste is the most common cause of a falling reputation.
:::

#### 131056 · Too many messages to the same number {#error-131056}

You have written to that same person too many times in a row. It only affects that pair of numbers: other contacts keep receiving normally.

**Konverda:** Retries automatically later.

**You:** Wait a while before writing to them again.

:::nota
**Tip.** It is usually a looping automation. Check whether a flow is messaging them twice for the same event.
:::

#### 131064 · Limited for template classification {#error-131064}

You have been sending badly classified templates (marketing dressed as utility) and WhatsApp has limited you. The restriction lifts on its own.

**Konverda:** Notifies the people in charge.

**You:** Review your template categories. Anything with an offer, a discount or an invitation is marketing, even if it talks about an order.

:::nota
**Tip.** Meta recategorises on its own: if one of your templates moved from utility to marketing, that is the one costing you the limit.
:::

#### 80007 · Account request limit {#error-80007}

Too many requests were made to WhatsApp from your account in a short time. It counts all requests, not just sends.

**Konverda:** Waits and retries.

**You:** Nothing.

#### 4 · Application limit {#error-4}

The application request limit was reached. It is a platform-wide limit, not only your account’s.

**Konverda:** Waits and retries, and alerts us.

**You:** Nothing. This one is ours.

#### 2494100 · Number in maintenance {#error-2494100}

The phone number is in maintenance on Meta’s side.

**Konverda:** Retries within minutes.

**You:** Wait.

#### 131057 · Account in maintenance {#error-131057}

Your WhatsApp account is in maintenance. Sometimes this is Meta RAISING your sending capacity: good news wearing an error’s clothes.

**Konverda:** Holds the sends in the queue and releases them when it passes.

**You:** Wait.

### The 24-hour window {#g-ventana}

#### 131047 · More than 24 hours had passed {#error-131047}

More than 24 hours have passed since that person’s last message, so you can no longer write freely: only with an approved template.

**Konverda:** Records it. This error should never appear: Konverda checks the window before every free-form send. If you see it in a report, it is a bug on our side and we want to know.

**You:** Send them an approved template. It is the only way to reopen the conversation.

:::nota
**Tip.** They reopen the window, not you. One template that invites a reply is worth more than three that inform.
:::

### Technical and temporary faults {#g-tecnico}

Passing problems. Konverda retries them on its own and they never affect the contact.

#### 131051 · Unsupported message type {#error-131051}

The message type we tried to send is not supported on this number.

**Konverda:** Records it.

**You:** Nothing on your side: tell us. It is a platform fault or a feature unavailable to your account.

#### 131052 · WhatsApp could not download the file {#error-131052}

WhatsApp could not download a file that was part of the conversation. This is the inbound file path, not the outbound one.

**Konverda:** Retries automatically.

**You:** If a contact was sending you the file, ask them to send it again.

#### 131053 · WhatsApp rejected the file {#error-131053}

WhatsApp rejected the file bytes. The usual cause is an unsupported format, or a file whose real type does not match its extension.

**Konverda:** Retries automatically.

**You:** Upload it again in a standard format: JPG or PNG for images, MP4 for video, PDF for documents. A hand-renamed file (a .webp called .jpg) always fails.

:::nota
**Tip.** If the template has an image header, upload the image once to the Konverda gallery and reuse it: then the failure, if any, happens once instead of on every send.
:::

#### 131016 · WhatsApp unavailable {#error-131016}

WhatsApp is down or overloaded right now.

**Konverda:** Retries on its own. You do not need to do anything.

**You:** Nothing.

:::nota
**Tip.** If it lasts, check Meta’s platform status before suspecting your account.
:::

#### 131000 · Unknown WhatsApp failure {#error-131000}

WhatsApp failed without saying why.

**Konverda:** Retries a limited number of times, then records it.

**You:** Try again later. If it repeats across many sends, tell us: it needs a ticket with Meta.

#### 1 · Temporary server error {#error-1}

WhatsApp had a temporary problem.

**Konverda:** Retries.

**You:** Nothing.

#### 2 · Temporary downtime {#error-2}

WhatsApp is temporarily down or overloaded.

**Konverda:** Retries.

**You:** Nothing.

#### 100 · Invalid parameter {#error-100}

WhatsApp rejected the request because something in the message is not in the expected format.

**Konverda:** Records it. It does not retry: repeating the same request would give the same result.

**You:** Usually fixed by reviewing the template variables: all filled in, none too long.

#### 135000 · Generic error {#error-135000}

WhatsApp rejected the request without detail.

**Konverda:** Records it.

**You:** Tell us; it needs a technical look.

#### 133004 · Server unavailable {#error-133004}

Meta’s server is temporarily unavailable.

**Konverda:** Retries later.

**You:** Nothing.

### Creating or editing a template {#g-creacion}

These do not stop a send: they stop a sendable template from existing.

#### 2388019 · Maximum templates reached {#error-2388019}

Your account has hit the 250-template maximum.

**Konverda:** Records it.

**You:** Delete templates you no longer use.

#### 2388039 · Cannot be changed right now {#error-2388039}

The template cannot be edited at this moment.

**Konverda:** Records it.

**You:** Wait for Meta to approve or reject it. There is a daily edit limit.

#### 2388040 · Character limit exceeded {#error-2388040}

A template field exceeds the character maximum.

**Konverda:** Records it.

**You:** Shorten the text.

#### 2388047 · Invalid header formatting {#error-2388047}

The template header has formatting Meta does not accept.

**Konverda:** Records it.

**You:** Remove line breaks and bold from the header.

#### 2388072 · Invalid body formatting {#error-2388072}

The template body has formatting Meta does not accept.

**Konverda:** Records it.

**You:** Review the text formatting.

#### 2388073 · Invalid footer formatting {#error-2388073}

The template footer has formatting Meta does not accept.

**Konverda:** Records it.

**You:** Simplify the footer.

#### 2388293 · Too many variables for the text {#error-2388293}

The template has too many variables relative to its fixed text.

**Konverda:** Records it.

**You:** Write more fixed text or use fewer variables.

#### 2388299 · Variable at the start or end {#error-2388299}

A variable sits at the very start or end of the message, which Meta does not allow.

**Konverda:** Records it.

**You:** Move the variables inside the message.

### Codes that do not affect a send {#g-no-afecta}

Catalogued so a code appearing in an email from Meta is never a mystery.

#### 132068 · Meta form blocked {#error-132068}

One of Meta’s in-chat forms ("WhatsApp Flows") is blocked. It has nothing to do with Konverda’s **«Flujos»** (flows).

**Konverda:** Records it.

**You:** Check that form in Meta Business Manager.

#### 132069 · Meta form throttled {#error-132069}

One of Meta’s in-chat forms is throttled for overuse: it fires at 10 sends in one hour. These are not Konverda’s **«Flujos»**.

**Konverda:** Records it.

**You:** Wait an hour before using it again.

#### 131055 · Marketing templates only {#error-131055}

That Meta sending path only supports marketing templates.

**Konverda:** Records it.

**You:** Nothing: Konverda does not use that path today.

#### 134100 · Marketing messages only {#error-134100}

That sending path only supports marketing messages.

**Konverda:** Records it.

**You:** Nothing: Konverda does not use that path today.

#### 134101 · Template syncing {#error-134101}

The template is still syncing; it can take up to ten minutes.

**Konverda:** Retries.

**You:** Wait ten minutes.

#### 134102 · Template unavailable {#error-134102}

The template is unavailable or ineligible on that sending path.

**Konverda:** Records it.

**You:** Use another template.

#### 2388012 · Number migration {#error-2388012}

An error in migrating a number between accounts. It cannot affect an in-flight send.

**Konverda:** Records it.

**You:** It only appears during a migration; tell us if you are running one.

#### 2388091 · Number migration (2) {#error-2388091}

Another number-migration error. It cannot affect an in-flight send.

**Konverda:** Records it.

**You:** It only appears during a migration.

#### 2388093 · Number migration (3) {#error-2388093}

Another number-migration error. It cannot affect an in-flight send.

**Konverda:** Records it.

**You:** It only appears during a migration.

#### 2388103 · Number migration (4) {#error-2388103}

A migration error with several possible causes. It cannot affect an in-flight send.

**Konverda:** Records it.

**You:** It only appears during a migration.

#### 1752041 · Number migration (5) {#error-1752041}

A migration-process error. It cannot affect an in-flight send.

**Konverda:** Records it.

**You:** It only appears during a migration.

#### 2593107 · Synchronisation {#error-2593107}

A data-sync error with Meta. It cannot affect an in-flight send.

**Konverda:** Records it.

**You:** Nothing.

#### 2593108 · Synchronisation (2) {#error-2593108}

Another data-sync error with Meta. It cannot affect an in-flight send.

**Konverda:** Records it.

**You:** Nothing.

#### 200005 · Template insights {#error-200005}

An error reading a template’s insights. It does not affect a send.

**Konverda:** Records it.

**You:** Nothing.

#### 200006 · Template insights (2) {#error-200006}

Another error reading a template’s insights. It does not affect a send.

**Konverda:** Records it.

**You:** Nothing.

#### 200007 · Template insights (3) {#error-200007}

Another error reading a template’s insights. It does not affect a send.

**Konverda:** Records it.

**You:** Nothing.

## Konverda's own checks {#konverda-checks}

### Consent {#kg-consent}

The checks that stop you writing to someone who does not want to be written to. They matter most: ignoring them is what ends with a blocked number.

#### The contact opted out {#reason-opted-out}

This contact is opted out, so the message never even left.

**Konverda:** Blocks the send before calling WhatsApp and records it. The opt-out is honoured on every outbound path, manual replies included.

**You:** Honour it. If they sign up again through one of your forms, they reactivate on their own.

:::nota
**Tip.** Checking the opt-out at send time rather than when the audience is built is what stops a list saved days ago from messaging someone who already said no.
:::

#### The number is suppressed {#reason-suppressed}

That number asked to be removed. Suppression is keyed to the phone number, so it survives deleting and re-importing the contact.

**Konverda:** Blocks the send and records it.

**You:** Nothing. Only their own explicit consent lifts it.

:::nota
**Tip.** If it surprises you, open their profile: the history says exactly when it was suppressed and why.
:::

#### The contact has no marketing opt-in {#reason-not-marketing}

This contact can talk to you, but has not agreed to receive messages you start. Having someone’s number is not the same as having permission to promote to them.

**Konverda:** Blocks the send. You can still reply when they write to you.

**You:** To message them first, they need to become a marketing contact: a form, a consent checkbox, or a purchase with acceptance.

:::nota
**Tip.** If you have evidence they did accept, you can declare it from their profile, and it is recorded in your name.
:::

### The 24-hour window {#kg-window}

#### The 24-hour window was closed {#reason-window-closed}

More than 24 hours have passed since their last message, so free-form text cannot be sent.

**Konverda:** Blocks the send so Meta’s rule is not broken, and records it. It deliberately does not retry: the window only reopens if they write, and by then this reply would be stale.

**You:** Use an approved template to restart the conversation.

:::nota
**Tip.** If a conversation matters, answer within the first few hours. The 24 hours run down at night just as fast.
:::

### Configuration {#kg-config}

#### No number connected {#reason-no-credentials}

Your workspace does not have a WhatsApp number connected yet, so the send had no way out.

**Konverda:** Blocks the send and records it. It deliberately does not retry: retrying does not conjure credentials.

**You:** Go to **«Ajustes»** → **«Canal»** and complete the connection. Nothing goes out until then.

#### The file is gone {#reason-media-asset-missing}

The file attached to this message was deleted from the gallery before it was sent.

**Konverda:** Blocks the send rather than delivering an incomplete message, and records it.

**You:** Upload the file again and check which campaigns or flows were using it.

### Pace and pauses {#kg-pace}

Nothing is lost here: the message waits and goes out later.

#### Daily maximum reached {#reason-daily-cap}

The daily maximum of new conversations was reached. The effective limit is the LOWEST of three: the one you configured, the tier Meta gives you, and the gradual warm-up if it is on.

**Konverda:** Holds the messages in the queue and releases them the next day. Nothing is lost.

**You:** Nothing, unless you want to raise the limit under **«Ajustes»**. Raise it slowly.

:::nota
**Tip.** A daily limit that annoys you almost always means the list is bigger than the team’s capacity to answer. Opening more conversations than you can handle within 24 hours is what sinks quality.
:::

#### Channel sending paused {#reason-channel-send-paused}

Template sends are paused: for low quality, for a Meta restriction, or because someone paused them by hand.

**Konverda:** Holds the messages in the queue and releases them when the pause lifts. It does not mark them failed.

**You:** Check under **«Ajustes»** which of the three it is. Only you can lift the manual pause; the other two lift themselves when the cause clears.

:::nota
**Tip.** The automatic quality pause is a safety net, not a punishment. Lifting it by hand to "keep sending" is the fastest way to lose the number.
:::

#### Workspace suspended {#reason-workspace-suspended}

Your workspace is suspended, so sends stay queued.

**Konverda:** Holds the messages in the queue. It does not mark them failed.

**You:** Contact support.

#### Messages too close together {#reason-session-gap}

Two automatic messages were about to go out with very little gap in the same conversation.

**Konverda:** Spaces the second one out by a few seconds and sends it after. Nothing is lost.

**You:** Nothing. It is deliberate courtesy: a burst becomes a drip.

### Launching a wave {#kg-launch}

Konverda refuses the whole wave before sending anything, because these failures would fail identically for every recipient.

#### No channel connected {#reason-no-channel}

The wave cannot launch because no WhatsApp number is connected.

**Konverda:** Refuses the whole launch before queueing anything.

**You:** Connect the number under **«Ajustes»** → **«Canal»**.

#### Missing variables {#reason-missing-variables}

The template has slots the wave cannot fill.

**Konverda:** Refuses the whole launch, because every send would fail identically.

**You:** Open it and fill in every variable before launching.

#### Missing location {#reason-missing-location}

The template has a location header and the wave set none.

**Konverda:** Refuses the whole launch.

**You:** Set the location on the wave before launching.

#### The link has nowhere to go {#reason-link-has-no-slot}

You want a link in the body, but the template has no slot to put it in.

**Konverda:** Refuses the whole launch.

**You:** Put the link in a button, or edit the template so it has a slot.

#### Segment with no conditions {#reason-segment-empty}

That segment has no effective condition, so it would send to everyone.

**Konverda:** Refuses the launch on purpose.

**You:** Add conditions to the segment, or choose another audience.

#### The segment no longer exists {#reason-segment-missing}

The segment this wave used has been deleted.

**Konverda:** Refuses the launch.

**You:** Choose another audience for the wave.

#### The segment is archived {#reason-segment-archived}

The segment this wave used is archived, so it matches nobody.

**Konverda:** Refuses the launch.

**You:** Restore it under **«Segmentos»**, or choose another audience.

#### The wave is already sending {#reason-already-running}

A launch was attempted on a wave already under way.

**Konverda:** Refuses the second launch, so nothing is sent twice.

**You:** Nothing. This is the protection working.

### Automations {#kg-automations}

Reasons an automation decides not to send. Almost all are the late re-check working: a premise that dies stays dead.

#### The flow was paused {#reason-flow-not-active}

The automation called a flow that is paused or unpublished.

**Konverda:** Cancels the enrolment with that reason.

**You:** Publish or reactivate the flow if you wanted it to run.

#### Conditions no longer met {#reason-conditions-not-met}

By the time it was due to send, the contact no longer matched the automation’s conditions.

**Konverda:** Cancels the enrolment with that reason.

**You:** Nothing. This is the late re-check working: a premise that dies stays dead.

#### A flow was already running {#reason-run-alive}

There was already a live automated conversation with that person.

**Konverda:** Does not enter again, so nothing overlaps.

**You:** Nothing.

#### The team already replied {#reason-human-replied}

Someone on your team answered between the message being scheduled and it being sent.

**Konverda:** Cancels the automatic message.

**You:** Nothing. This is right: a person is already handling it.

#### They wrote back {#reason-window-reopened}

The nudge was about a closing window, and the person wrote back first.

**Konverda:** Cancels the nudge, which no longer made sense.

**You:** Nothing.

#### The team was in the conversation {#reason-human-active}

Your team was mid-conversation with that person.

**Konverda:** Holds the automation paused instead of interrupting.

**You:** Nothing.

#### A live sale with a person in it {#reason-human-active-at-send}

At send time there was an open sales conversation with someone from your team in it.

**Konverda:** Cancels the automatic message.

**You:** Nothing.

#### Held for courtesy {#reason-politeness-hold}

The automation was held back so the same person is not written to too often.

**Konverda:** Holds it paused and releases it when the gap passes.

**You:** Nothing. It is configured on the flow.

#### The pause ended without continuing {#reason-pause-ended}

The automation was paused and, when it ended, continuing no longer made sense.

**Konverda:** Cancels it with that reason.

**You:** Nothing.

#### The contact no longer exists {#reason-contact-missing}

The contact was deleted before the send was due.

**Konverda:** Cancels the send with that reason.

**You:** Nothing.

#### The automation was archived {#reason-automation-archived}

The automation was archived while sends were pending.

**Konverda:** Cancels the pending sends.

**You:** Nothing.

#### They had already replied {#reason-replied}

The nudge was for people who had not replied, and they replied in time.

**Konverda:** Cancels the nudge.

**You:** Nothing.

#### They had already read it {#reason-read}

The nudge was for people who had not read it, and they read it in time.

**Konverda:** Cancels the nudge.

**You:** Nothing.

#### The contact was merged {#reason-merged}

The contact was merged into another and the send lost its original recipient.

**Konverda:** Cancels the send with that reason.

**You:** Nothing. The surviving contact keeps the history.

### Flows {#kg-flows}

#### The flow was paused {#reason-flow-paused}

The person was about to enter a flow that was paused.

**Konverda:** Does not let them in and records it.

**You:** Reactivate the flow if you wanted them to enter.

#### They had entered before {#reason-reentry-policy}

The person had already been through this flow and its policy does not allow repeats.

**Konverda:** Does not let them enter again.

**You:** Change the flow’s re-entry policy if you want to allow it.

#### Flow message dropped {#reason-send-dropped}

The message was dropped because the run had already ended, been cancelled, or was a duplicate.

**Konverda:** Drops it and records it. The run itself is fine.

**You:** Nothing.

#### The flow message failed {#reason-send-failed}

A flow step’s message could not be sent.

**Konverda:** Stops the run and hands the conversation to a person rather than continuing blind.

**You:** Look at the specific failure reason on the conversation and resolve it.

#### The window closed right at send {#reason-window-closed-race}

The 24-hour window was open when the flow prepared the message and closed just before it went out.

**Konverda:** Stops the run and hands the conversation to a person.

**You:** Restart the conversation with a template if it matters.

#### The conversation no longer exists {#reason-conversation-missing}

The conversation was deleted or merged while the flow was running.

**Konverda:** Stops the run.

**You:** Nothing.

#### The flow looped {#reason-step-cap}

The flow executed too many steps in one conversation.

**Konverda:** Stops it as a safety measure and hands the conversation to a person.

**You:** Review the flow: there is almost always a path that loops back on itself.

#### Step does not exist {#reason-unknown-step}

The flow definition pointed at a step that does not exist.

**Konverda:** Stops the run and hands the conversation to a person.

**You:** Tell us: it is an internal flow fault.

#### Next step does not exist {#reason-missing-next}

The flow definition pointed at a next step that does not exist.

**Konverda:** Stops the run and hands the conversation to a person.

**You:** Tell us: it is an internal flow fault.

#### Waiting state lost {#reason-bad-waiting-state}

The run was waiting for something, but the state of that wait was lost.

**Konverda:** Stops the run and hands the conversation to a person.

**You:** Tell us: it is an internal flow fault.

#### Internal flow fault {#reason-executor-error}

An internal fault occurred while executing a flow step.

**Konverda:** Stops the run and hands the conversation to a person.

**You:** Tell us.

#### The step did not run in time {#reason-executor-missed}

The engine did not execute the step when it was due.

**Konverda:** Stops the run and hands the conversation to a person.

**You:** Tell us.

#### The flow was archived {#reason-flow-archived}

The flow was archived while conversations were still running inside it.

**Konverda:** Cancels the live runs.

**You:** Nothing.

#### Superseded by a newer entry {#reason-superseded}

A more recent entry replaced this one in the same conversation.

**Konverda:** Closes the older one and continues with the new one.

**You:** Nothing.

#### Run too old {#reason-max-run-age}

The run had been open longer than allowed.

**Konverda:** Cancels it.

**You:** Nothing.

#### The bot stood down {#reason-stood-down}

Someone on your team wrote in the conversation, so the bot stepped aside.

**Konverda:** Stops the run and leaves the conversation to the person.

**You:** Nothing. This is right.

### Before reaching WhatsApp {#kg-api}

#### Unknown template {#reason-unknown-template}

A template was sent that does not exist or is not approved for your account.

**Konverda:** Refuses the send before queueing it.

**You:** Pick an approved template under **«Plantillas»**.

#### Missing values {#reason-missing-params}

Values for the template variables are missing.

**Konverda:** Refuses the send and says how many are missing.

**You:** Fill in the missing variables.

#### Voice note not converted {#reason-audio-convert-failed}

The voice note could not be converted to the format WhatsApp accepts.

**Konverda:** Refuses the send.

**You:** Record it again. If it repeats, tell us.

#### Invalid file {#reason-bad-asset}

The gallery file chosen is not valid for this send.

**Konverda:** Refuses the send.

**You:** Choose another file.

#### File not found {#reason-asset-not-found}

The gallery file chosen no longer exists.

**Konverda:** Refuses the send.

**You:** Upload it again and choose it again.

#### Audio cannot carry a caption {#reason-caption-not-allowed}

An audio was sent with a caption, and WhatsApp does not show one.

**Konverda:** Refuses the send rather than deliver text nobody would see.

**You:** Send the text as a separate message.

### Buttons and menus {#kg-interactive}

Konverda checks WhatsApp's limits before sending, so the failure happens here and not halfway through a campaign.

#### Text missing {#reason-body-required}

A message with buttons or a list must carry body text.

**Konverda:** Refuses the send before calling WhatsApp.

**You:** Write the message text.

#### Text too long {#reason-body-too-long}

The text exceeds WhatsApp’s maximum for that message type.

**Konverda:** Refuses the send before calling WhatsApp.

**You:** Shorten the text.

#### Header too long {#reason-header-too-long}

The header exceeds 60 characters.

**Konverda:** Refuses the send before calling WhatsApp.

**You:** Shorten the header.

#### Footer too long {#reason-footer-too-long}

The footer exceeds 60 characters.

**Konverda:** Refuses the send before calling WhatsApp.

**You:** Shorten the footer.

#### Buttons missing {#reason-buttons-required}

A button message must carry between one and three.

**Konverda:** Refuses the send before calling WhatsApp.

**You:** Add at least one button.

#### Too many buttons {#reason-too-many-buttons}

WhatsApp allows at most three buttons.

**Konverda:** Refuses the send before calling WhatsApp.

**You:** Remove buttons until three remain.

#### Invalid button id {#reason-bad-button-id}

A button’s internal identifier is not valid.

**Konverda:** Refuses the send before calling WhatsApp.

**You:** Tell us: it is an internal fault.

#### Button text too long {#reason-bad-button-title}

A button’s text exceeds 20 characters.

**Konverda:** Refuses the send before calling WhatsApp.

**You:** Shorten the button text.

#### Duplicate buttons {#reason-duplicate-button-titles}

Two buttons in the same message have the same text, which WhatsApp does not allow.

**Konverda:** Refuses the send before calling WhatsApp.

**You:** Give each button its own text.

#### Menu button too long {#reason-bad-list-button}

The text of the button that opens the menu exceeds 20 characters.

**Konverda:** Refuses the send before calling WhatsApp.

**You:** Shorten it.

#### Menu with no options {#reason-rows-required}

A list message must carry at least one option.

**Konverda:** Refuses the send before calling WhatsApp.

**You:** Add options to the menu.

#### Too many options {#reason-too-many-rows}

A list allows at most ten options in total.

**Konverda:** Refuses the send before calling WhatsApp.

**You:** Remove options until ten remain.

#### Too many sections {#reason-too-many-sections}

A list allows at most ten sections.

**Konverda:** Refuses the send before calling WhatsApp.

**You:** Group the options into fewer sections.

#### Section title too long {#reason-section-title-too-long}

A menu section title exceeds 24 characters.

**Konverda:** Refuses the send before calling WhatsApp.

**You:** Shorten it.

#### Invalid option id {#reason-bad-row-id}

A menu option’s internal identifier is not valid.

**Konverda:** Refuses the send before calling WhatsApp.

**You:** Tell us: it is an internal fault.

#### Option title too long {#reason-bad-row-title}

A menu option title exceeds 24 characters.

**Konverda:** Refuses the send before calling WhatsApp.

**You:** Shorten it.

#### Option description too long {#reason-row-description-too-long}

A menu option description exceeds 72 characters.

**Konverda:** Refuses the send before calling WhatsApp.

**You:** Shorten it.

#### Invalid button link {#reason-bad-cta-url}

The button link must start with https:// and be under 2000 characters.

**Konverda:** Refuses the send before calling WhatsApp. This is OUR rule, stricter than Meta’s: a verified business’s link should not travel unencrypted.

**You:** Fix the link so it starts with https://.

#### Link button too long {#reason-bad-cta-title}

The link button text exceeds 20 characters.

**Konverda:** Refuses the send before calling WhatsApp.

**You:** Shorten it.

#### Unknown interactive type {#reason-unknown-interactive-type}

An interactive message type we do not recognise was sent.

**Konverda:** Refuses the send.

**You:** Tell us: it is an internal fault.

### System incidents {#kg-system}

#### The send was left half-done {#reason-stuck-sending}

The send started and never confirmed, for instance because the connection to WhatsApp dropped at that exact moment.

**Konverda:** Marks it failed and records it. It deliberately does not resend: whether WhatsApp accepted it is unknowable, and a duplicate message is worse than a visible failure.

**You:** Send it again yourself if it mattered.

#### The send was lost in the queue {#reason-enqueue-lost}

The send job vanished from the queue without completing.

**Konverda:** Cancels it and records it.

**You:** Launch it again. If it repeats, tell us.

#### Wave send no longer valid {#reason-wave-job-stale}

The wave was paused, deleted or relaunched, so this send no longer applied.

**Konverda:** Drops it without sending.

**You:** Nothing.

#### Another attempt took it {#reason-claim-lost}

Two attempts coincided and another one took charge of this send.

**Konverda:** Drops the duplicate, so nothing is sent twice.

**You:** Nothing. This is the protection working.

#### A reaction did not send {#reason-reaction-failed}

A reaction (an emoji on a message) could not be sent.

**Konverda:** Today it leaves no trace in the conversation: a known limitation, noted to be fixed.

**You:** React again if it matters.

### Deferred {#kg-deferred}

#### Deferred because of an open conversation {#reason-open-episode}

Not a failure. That person had a live conversation with your team and the wave was set not to interrupt it.

**Konverda:** Defers it and counts it apart from failures, because it did the right thing.

**You:** Nothing. If you would rather waves never defer, change it in the wave settings.

:::nota
**Tip.** It is worth leaving on. A campaign message in the middle of a live sale is the most expensive kind of interruption.
:::

## States that are not an error {#states}

### Marketing does not reach United States numbers {#pausa-marketing-eeuu}

WhatsApp delivers no MARKETING messages to United States numbers. It is a temporary pause in force since 1 April 2025, with no announced end date. It depends on the RECEIVING number, not where your business is: from Spain or from the US, a US +1 number gets no marketing; any other country does.

**Konverda:** Today it does not warn you when composing a wave. If your audience carries US numbers, those sends are simply lost. This is noted to be fixed.

**You:** What does not work is cold broadcasting. What does reach a US number: utility and authentication templates, free-form replies inside the 24-hour window, and conversations started from a click-to-WhatsApp ad, which open a free 72-hour entry window.

:::nota
**Tip.** In the US the model that works is "let them write first". A click-to-WhatsApp ad turns an unreachable audience into open conversations, and inside that window you can talk normally.
:::

### Messages held by Meta before delivery {#retenido-por-calidad}

When a template is new, was just unpaused, or its quality is not green, Meta applies "pacing": it delivers the first messages, holds the rest, and decides — usually within an hour — whether to keep delivering. If the verdict is bad, those held messages come back hours later as failures for a paused template.

**Konverda:** Today Konverda counts a held message as sent, because WhatsApp gives it an identifier like any other. There is no "held" state in the app. It is the most confusing limitation we have, and it is noted.

**You:** If you launch a new template and sends seem to "go out" but no deliveries arrive, wait an hour before touching anything. Debut templates on small audiences.

:::nota
**Tip.** This is the real reason to debut a template on a hundred people and not nine hundred: Meta’s pacing decides using the first ones, and a small audience gets you the verdict cheaply.
:::

### Messaging tiers {#niveles-de-envio}

Meta assigns each number a tier limiting how many new conversations you may start per day. It rises with sustained good use and falls if quality stays flagged for seven days.

**Konverda:** Respects the tier and shows it under **«Ajustes»** → **«Canal»**. The limit applied is the lowest of your configuration, Meta’s tier and the warm-up.

**You:** To move up a tier, send consistently and with good quality. Replying inside the 24-hour window does not consume tier.

### Number quality {#calidad-del-numero}

Meta scores your number green, yellow or red by how people react: blocks, reports and silence. Seven days flagged drops your messaging tier.

**Konverda:** Automatically pauses template sends when Meta flags the number, and resumes when it unflags it.

**You:** Send less and better. It is the only real lever.

### Template quality {#calidad-de-plantilla}

Every template has its own score: green, yellow, red, or none if it is new. It is computed from complaints and from reads.

**Konverda:** Shows each template’s state under **«Plantillas»**.

**You:** A template nobody opens degrades just like one that annoys. If it is red, rewrite it before Meta pauses it.

### Template states {#estados-de-plantilla}

A template moves through several states in Meta: pending, approved, rejected, paused, disabled, locked for editing, in appeal, archived or deleted. Only an approved template can be sent.

**Konverda:** Syncs the state from Meta and refuses to publish a flow using an unapproved template.

**You:** If it is rejected, the reason usually comes with a concrete recommendation. Read it before resubmitting.

### WhatsApp account states {#estados-de-cuenta}

Meta can disable the account, schedule its deactivation, restrict it partially (for example letting you reply but not start conversations), warn you of a violation without blocking yet, or reinstate it.

**Konverda:** Pauses sending when Meta restricts business-initiated conversations, and resumes on reinstatement. Some newer Meta restrictions are not recognised yet: this is noted.

**You:** The detail and the end date are in Business Manager, under Account quality.

### When someone accepts marketing again {#preferencias-de-marketing}

WhatsApp lets a person stop receiving marketing from a business and also accept it again later.

**Konverda:** Records the opt-out, but not the automatic re-opt-in: if someone accepts again inside WhatsApp, Konverda still treats them as opted out. This is a deliberate divergence — we prefer to err on the cautious side — but it is worth knowing.

**You:** If someone tells you they want your messages again, the clean route is for them to declare it on one of your forms.

## Other errors {#otros-errores}

WhatsApp can return codes we have not catalogued yet. When that happens Konverda does **not** hide it: reports count it as "otro" (other) and show the raw code.

**Konverda:** records it and shows it. It never touches a contact over a code it does not know.

**You:** tell us the code and which send produced it. Adding it to this page takes minutes, and then it stops being "other" for everyone.
