← Blog

·

WhatsApp broadcast frequency: how many messages per week without losing quality

Updated on October 29, 2026

There’s no fixed number of messages per week allowed on WhatsApp: Meta doesn’t publish a cap per business, but it limits how many marketing templates each person receives based on their recent engagement, and it lowers your number’s quality rating when blocks and reports pile up. The right frequency is the one that keeps reads and replies stable across your list. Start low, segment by engagement and slow down as soon as signs of fatigue appear, such as more blocks, “stop” requests and 131049 errors.

This guide covers the limits Meta applies, the signals that indicate overload, practical rules for setting your cadence and how to build frequency control into your system with the official WhatsApp Business API.

What Meta limits (and what it leaves to you)

Three Meta mechanisms react to frequency, each in a different way:

MechanismWhat it measuresWhat happensWhere it shows up
Per-user marketing limitEach person’s recent engagement with marketing messagesMarketing template isn’t deliveredStatus webhook failed with error 131049
Phone number qualityFeedback from recent days: blocks, reports and other signalsRating drops and limit growth stallsWhatsApp Manager and quality webhooks
Template pausingQuality of a specific templateTemplate paused for 3 h, then 6 h, and disabled the third timeTemplate status webhook

The per-user limit is the one most tied to frequency. According to the per-user limits documentation, it adapts automatically to the person’s recent engagement, considering how often they read marketing messages and how crowded their inbox is with messages from personal contacts and businesses. Meta doesn’t publish a number. The same page says WhatsApp currently doesn’t deliver marketing templates to US phone numbers. Marketing messages sent inside a customer service window opened by the customer don’t count toward this limit. The article on the per-user marketing limit explains the error in detail.

Everything else is up to you: how many campaigns per week, to whom and at what interval. Meta doesn’t do that control for you, and the cost of getting it wrong shows up later, in quality.

Why sending too much is expensive

High frequency hurts in three ways that add up:

  1. Less delivery. People who receive a lot and read little tend to hit the per-user limit sooner. Messages fail with 131049, and resending in less than 24 hours makes things worse: the documentation says repeated attempts can make sending to those people unavailable for up to 24 hours.
  2. Lower quality. Blocks and reports drag down your number’s rating. The article on phone number quality rating shows how to read green, yellow and red.
  3. A smaller list. Each person who turns off your business’s offers stops receiving your marketing until they turn it back on themselves.

There’s also a direct cost. Each marketing template delivered to Brazil costs R$ 0.3217 (Brazilian reais) since October 1, 2026. One extra weekly campaign to 10,000 delivered contacts adds up to R$ 3,217.00 on Meta’s rate card, even if nobody buys.

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

Signs of list fatigue

Track these signals per campaign and per segment. When two or more get worse at the same time, frequency has probably gone too far.

SignalHow to measureWhat it indicates
More 131049 errorsStatus webhook failedPeople receiving more marketing than they read
More 131050 errorsStatus webhook failedPeople turning off your business’s offers
More taps on the opt-out buttonMessage webhook with type: "button"Explicit opt-out
Replies like “stop”, “unsubscribe”, “no more”Text message webhookOpt-out by text, which must also be honored
Falling read rateread ÷ delivered per campaignMessage ignored
Change in number or template qualityWhatsApp Manager and webhooksAccumulated negative feedback

Error 131050 appears when the person used WhatsApp’s “Offers and announcements” setting to stop marketing messages from your business. The marketing templates documentation says the API accepts the request but doesn’t deliver the message, and that you can subscribe to the user_preferences webhook to learn when the person stops or resumes.

Practical frequency rules (a starting point)

The numbers below don’t come from a Meta rule or a study. They’re a conservative cadence to start with, which you should adjust using the signals in the table above.

  • Marketing to the general list: at most one campaign per week per contact.
  • Highly engaged contacts (read or replied to recent campaigns): up to two per week, on strong dates such as launches and Black Friday.
  • Low-engagement contacts (didn’t read recent campaigns): one every two to four weeks, with a stronger offer.
  • Contacts with no reads in a long time: stop marketing and try a single re-engagement message; with no response, remove them from the list.
  • Minimum interval: don’t send two marketing templates to the same person on the same day.
  • Utility doesn’t count toward marketing, but it also wears people out. Bundle notices whenever possible (one summary instead of three messages).

Content matters as much as the number. One relevant campaign per week wears people out less than three generic ones. The guide on how to write WhatsApp marketing messages covers the copy, and the one on the best time to send covers timing.

Segmenting by engagement

The most effective way to control frequency is to stop treating your list as a single block. A simple three-tier model:

TierSuggested criteriaStarting cadence
ActiveRead or replied to one of the last 3 campaigns, or bought in the last 90 daysWeekly
WarmRead at least 1 of the last 5 campaignsEvery two weeks
ColdNo reads in the last 5 campaignsSingle re-engagement, then pause

With the status webhook, this classification is automatic. Example in SQL, assuming a sends table with one row per message:

WITH latest AS (
  SELECT wa_id, read_at, replied_at,
         ROW_NUMBER() OVER (PARTITION BY wa_id ORDER BY sent_at DESC) AS n
  FROM sends
  WHERE category = 'marketing' AND status <> 'failed'
)
SELECT wa_id,
  CASE
    WHEN COUNT(*) FILTER (WHERE n <= 3 AND (read_at IS NOT NULL OR replied_at IS NOT NULL)) > 0 THEN 'active'
    WHEN COUNT(*) FILTER (WHERE n <= 5 AND read_at IS NOT NULL) > 0 THEN 'warm'
    ELSE 'cold'
  END AS tier
FROM latest
GROUP BY wa_id;

And a frequency check before each send, in Node.js:

const CADENCE_DAYS = { active: 7, warm: 14, cold: null }; // null = no marketing

async function canSendMarketing(contact, db) {
  if (contact.marketing_optout) return false;            // opt-out button, "stop" or 131050
  const days = CADENCE_DAYS[contact.tier];
  if (days === null) return false;
  const last = await db.lastMarketing(contact.wa_id);
  if (!last) return true;
  const elapsed = (Date.now() - last.getTime()) / 86400000;
  return elapsed >= days;
}

When you get 131049, schedule the next attempt for at least 24 hours later. When you get 131050, mark a marketing opt-out.

Opt-out in the template: make leaving easy

WhatsApp’s policy requires honoring all opt-out requests, made on or off WhatsApp (WhatsApp Business Messaging Policy). It sounds counterintuitive, but making it easy to leave protects your frequency: people who want out and can’t find the button block or report you, and that weighs on quality.

Best practices:

  • include a quick reply button such as “Stop offers” in marketing templates;
  • also handle free-text replies (“stop”, “unsubscribe”, “cancel”);
  • offer options by category: someone may want to stop offers but keep receiving order updates;
  • confirm the opt-out with a short message, without trying to talk them out of it.

The article on building a WhatsApp opt-in list shows how to record opt-ins and opt-outs.

How to do this with Vectalk

Vectalk delivers Meta’s status and incoming message events to your webhook, in the Cloud API format, including errors 131049 and 131050. Frequency control, segmentation and scheduling live in your system or in the campaign tool connected to the API, because the Vectalk dashboard doesn’t do bulk sending.

In the dashboard you create marketing templates with an opt-out button (the Template Library helps you get started), and track sending logs and your balance. Each delivered message is deducted from your prepaid balance, with no card registered with Meta. See the webhooks documentation or create your account at apps.vectalk.com.br/register.

Frequently asked questions

Will Meta block my number if I send more than one message a day?

There’s no such rule. What can happen is the per-user limit preventing delivery to people who’ve already received a lot of marketing, and negative feedback lowering the quality of your number and templates.

Do utility messages count toward the per-user marketing limit?

The per-user limit Meta describes applies to marketing templates. Utility has other rules, but it also leads to blocks if it’s excessive or looks like advertising.

Can I resend a campaign to people who didn’t read it?

Yes, carefully. Resends to people who got 131049 should wait at least 24 hours. For people who received it and didn’t read it, try a different offer or time instead of repeating the same message.

What should I do with cold contacts?

One re-engagement attempt with something relevant and a clear opt-out button. With no response, stop marketing to that contact. Keeping cold contacts on the list costs money and lowers quality.

Do multiple numbers help me send more often?

Not to the same customer. The per-user limit belongs to the person, and the messaging limit belongs to the business portfolio. See Black Friday on WhatsApp to plan peaks without straining your list.


Official sources consulted on October 29, 2026: Per-user marketing limits, Marketing templates, Template pausing, WhatsApp Business Messaging Policy, Pricing, Vectalk documentation: webhooks.

Put your business on the official WhatsApp

Create your account, connect your number to the official API (you can keep the app with coexistence) and start serving customers and sending messages.