← Blog

·

WhatsApp Error 130472: User’s Number Is Part of a Meta Experiment

Updated on October 29, 2026

WhatsApp error 130472 means your message was not sent because the recipient is part of a Meta experiment. According to the official documentation, WhatsApp withholds marketing template messages from a very small percentage of users unless they have an open customer service window or an open free entry point window with your business. You are not charged, there are no exceptions or opt-outs, and resending returns the same error.

This article sticks to what Meta documents about 130472, and the second half adds our own operational recommendations for handling the code in your CRM and reports. For the full list of codes, see WhatsApp API error codes.

What Meta says about error 130472

In the error codes table, 130472 is described as “Message was not sent as part of an experiment”, and the suggested solution points to Meta’s experiments page, in the marketing message experiment section.

Here’s a summary of what that page states:

TopicWhat the documentation says
Why it existsWhatsApp runs experiments to measure how messaging affects user experience and engagement
Who is affectedA “very small percentage” of users; the page gives no exact figure
Which messagesMarketing template messages only
When the message goes throughIf the user has an open customer service window or an open free entry point window with the business
BillingWhatsApp does not send the message and does not bill you for it
ExceptionsNo exceptions or opt-outs are available for these experiments
ResendingAttempting to resend results in the same error
DurationThe experiment is ongoing, with no fixed end date

The page does not say who is in the group, how long a user stays in it, or offer an endpoint to check this before sending.

How 130472 reaches your system

The code arrives in the messages webhook as a status event with status: "failed" and code 130472 inside the errors array. Your send call may have returned success with a wamid; the failure shows up later, asynchronously. A simplified example:

{
  "statuses": [
    {
      "id": "wamid.HBgLNTU4NDk5OTk5OTk5...",
      "status": "failed",
      "timestamp": "1761750000",
      "recipient_id": "5584999999999",
      "errors": [
        {
          "code": 130472,
          "title": "Message was not sent as part of an experiment",
          "href": "/documentation/business-messaging/whatsapp/support/error-codes"
        }
      ]
    }
  ]
}

Branch on code, not on the title text. If you don’t store status events yet, start with our guide to WhatsApp API message status webhooks.

Want to try it while you read? Create a Vectalk account and send your first message through the official API. Create free account →

130472 is not 131049 or 131050

All three codes involve marketing templates, so they get mixed up. They need different handling:

CodeWhat it isRetry?
130472User in a Meta experiment; marketing withheld outside open windowsNo; you get the same error
131049Per-user marketing limit, “to maintain healthy ecosystem engagement”Only after at least 24 hours, per Meta
131050The user chose to stop receiving marketing from your businessNo; treat as an opt-out

131049 has its own article: WhatsApp error 131049 and the per-user marketing limit. The takeaway: if your system lumps all of these together as “marketing failure”, you’ll retry 130472 for nothing and fail to respect the 131050 opt-out.

Can you work around error 130472?

No. Meta says explicitly that there are no exceptions or opt-outs. Rewriting the template, changing the send time or using a different number are not offered as solutions in the documentation.

What the page does point to is the one official path: reach the user through non-WhatsApp channels and ask them to message you. Once the user starts the conversation, the 24-hour customer service window opens, and inside it the marketing template isn’t withheld by the experiment. According to the pricing page, the customer service window opens when the user messages or calls your business. The window rules are covered in the WhatsApp 24-hour customer service window, and re-engaging after it closes is covered in error 131047.

The other window Meta mentions is the free entry point window, which opens when a user arrives through a Click to WhatsApp ad and your business replies within the customer service window. Per the pricing page, it can stay open for up to 7 days.

Cost

The experiment documentation is clear: WhatsApp does not send the message and does not bill you for it. That also matches the general rule on the pricing page: businesses are only charged when a message is delivered.

In practice, for a marketing campaign to Brazil (R$ 0.3217, in Brazilian reais, per delivered message since October 1, 2026), contacts that return 130472 don’t add to the bill. If you estimate budget from list size, as shown in how much a WhatsApp campaign costs, actual spend will come in slightly below the forecast because of these contacts and other failures.

How to handle it in your CRM and reports

From here on, these are our operational recommendations, not Meta rules. The idea is simple: 130472 says nothing bad about the contact, the number or your campaign. It only says that particular marketing template couldn’t go through at that moment.

On the contact record

  • Don’t flag the number as invalid. 130472 doesn’t mean the number lacks WhatsApp. That’s 131026, which has its own handling in error 131026.
  • Don’t treat it as an opt-out. The user didn’t ask to leave; that generates 131050.
  • Store a separate flag, for example meta_marketing_experiment, with the date of the latest 130472.
  • Don’t resend the same template. Meta already says the result is the same error.

In campaigns

  • Remove these contacts from the marketing retry queue.
  • Focus on opening a conversation. For flagged contacts, use channels you already have consent for (email, SMS, your app) with an invitation to chat on WhatsApp, such as a wa.me link with a prefilled message.
  • Reply fast when the person writes. If the campaign is relevant to them, send it inside the open window.
  • Utility and authentication messages aren’t mentioned in the experiment description, which covers marketing templates only. Don’t pause order updates or login codes because of 130472.

In reports

  • Keep 130472 out of the campaign failure rate. A report that adds 130472 to 131026 and 131049 misreads the quality of your list.
  • Show three numbers: accepted by the API, delivered and failures by code. 130472 becomes its own row, “withheld by Meta experiment”.
  • Don’t use 130472 to judge copy or segments. Withholding is unrelated to content.
  • Track the share over time. Since Meta doesn’t publish the percentage, your own historical series is the best baseline for spotting changes.

Code example: isolating 130472

// Handle marketing failures by code without mixing the cases
async function onStatus(status, crm, metrics) {
  if (status.status !== 'failed') return;
  for (const err of status.errors || []) {
    switch (err.code) {
      case 130472: // Meta experiment: don't retry, don't invalidate
        await crm.flag(status.recipient_id, 'meta_marketing_experiment', status.timestamp);
        await metrics.increment('withheld_meta_experiment');
        break;
      case 131049: // per-user limit: re-evaluate after 24 h
        await crm.scheduleReview(status.recipient_id, 24 * 60 * 60);
        await metrics.increment('per_user_marketing_limit');
        break;
      case 131050: // user stopped marketing messages
        await crm.flag(status.recipient_id, 'marketing_opt_out', status.timestamp);
        await metrics.increment('marketing_opt_out');
        break;
      default:
        await metrics.increment(`failed_${err.code}`);
    }
  }
}

When an inbound message from that contact arrives in the webhook, record that the window is open. That’s the moment when a marketing template, if it fits the conversation, can be delivered.

How to do this with Vectalk

Vectalk is a proxy for Meta’s official Cloud API. Error 130472 reaches your webhook exactly as in Meta’s documentation, so the handling above works as is. To build a campaign failure report, call GET https://apis.vectalk.com.br/api/messages?status=failed&direction=outbound, documented in List Messages, and join the waMessageId values with the status events you stored to split them by code.

With Vectalk, only delivered messages are deducted from your prepaid balance, and Vectalk pays Meta. Create your account at apps.vectalk.com.br/register and see the big picture in our official WhatsApp API guide.

Frequently asked questions

What does WhatsApp error 130472 mean?

Meta did not send your marketing template because the recipient is part of an experiment. WhatsApp withholds marketing messages from a very small percentage of users unless a customer service window or free entry point window is open.

Am I charged for a message with error 130472?

No. The experiment documentation says WhatsApp does not send the message and does not bill you for it.

Can I ask Meta to remove my number or my customer from the experiment?

No. Meta states there are no exceptions or opt-outs for these experiments.

How long does the experiment last?

Meta’s page says it is ongoing with no fixed end date. It doesn’t say how long each user stays in the group.

Does 130472 affect utility messages?

The documentation describes the experiment for marketing templates only. It doesn’t mention utility, authentication or service messages.


Official sources consulted on October 29, 2026: WhatsApp Business Platform experiments, WhatsApp Cloud API error codes, Status webhook reference, WhatsApp Business Platform pricing, List Messages in the Vectalk docs.

Try the official WhatsApp API today

Create your account, generate a token and send your first message with the quick-start guide. Same payloads and webhooks as Meta's Cloud API.