WhatsApp Broadcasts
A broadcast sends one approved WhatsApp template to a list of phone numbers you upload as a CSV file, from one of the agent's WhatsApp numbers: a promotion, a reminder, an announcement. Mojeeb sends it at once, tracks every recipient's status, and opens a conversation for each person, so replies land in your inbox and the agent answers them.
Who can send a broadcast?
Broadcasts are part of the Professional plan and appear as Broadcasts in the sidebar; on other plans the page shows Upgrade to unlock Broadcasts with a View plans button. Owners and admins create broadcasts, retry failures and export results. Members can open the page and follow campaigns, but Send Now is refused with "Only admins can do this."
The agent also needs an active WhatsApp connection and at least one template in Approved status; without one the wizard says No approved templates found.
What do I need before I start?
An approved template and a CSV file of recipients. Templates may use body variables such as {{1}} or {{customer_name}}, which you fill from the CSV or with a fixed value. Broadcasts fill body variables only: the wizard still lists a template with a dynamic-URL button, an authentication button, a copy-code button or a variable in its text header, but every recipient then fails with "Message delivery failed. WhatsApp did not provide additional details." Send such templates one at a time from the WhatsApp page.
The CSV needs a header row with a phone column; name is optional, and any other column can feed a variable. Numbers must carry the country code: +201001234567, 201001234567 and 00201001234567 are all accepted, while 01001234567 is rejected as ambiguous. Media headers send the sample file uploaded when the template was created, the same for everyone.
How do I create a broadcast?
Open Broadcasts, pick the agent at the top of the dashboard, and click New Broadcast. The wizard has four steps, and skips Personalize when the template has no variables. Nothing is sent until you click Send Now on the last step.
- Upload CSV — Type a Campaign Name, prefilled with today's date, and drop the file on Upload Recipients (CSV). Mojeeb reports how many numbers are valid and invalid, lists the invalid ones with the reason, and removes duplicates. Invalid rows are skipped, not blocking.
- Select Template — Choose the WhatsApp Connection when the agent has more than one number, then the Template from the approved ones; the Preview shows its text.
- Personalize — For each variable pick a column under From CSV column or choose Set fixed value and type the text for everyone. Named variables such as
customer_nameare matched to a column with the same name automatically;{{1}}-style variables need your choice. The preview steps through real recipients. - Review & Send — Check the campaign, template, category, language, recipient count and variable sources. A warning lists empty cells, which go out as a blank, and US numbers for marketing templates. Click Send Now; the toast Broadcast started with N recipients appears and the campaign page opens.
What happens after I click Send Now?
Sending starts immediately and the campaign shows Sending; there is no schedule, draft, pause or cancel, so send a short test list first. Mojeeb sends several messages at a time within WhatsApp's rate limits, backing off when WhatsApp asks. Campaigns go out one after another, so a second campaign waits in Sending until the first finishes.
Every message that WhatsApp accepts opens a conversation on the Chats page, with the template as the first message from your business. When the customer replies, the agent answers like any other chat. A campaign that runs longer than 30 minutes stops with the status Paused and the remaining recipients Pending.
| Campaign status | Meaning |
|---|---|
| Sending | Messages are going out, or the campaign is waiting its turn |
| Completed | The run finished; some recipients may still have failed |
| Failed | Nothing could be sent, for example the WhatsApp connection was inactive |
| Paused | The run was interrupted; Retry resumes it if any recipient failed, otherwise send the remaining numbers as a new broadcast |
How do I track delivery?
The Broadcasts list shows each campaign's template, recipient count, status, and a delivery line such as "120/150 sent (80% delivered)". Click a campaign for four cards, Sent, Delivered, Read and Failed, and a recipient table with Phone, Name, Status, Sent At, Delivered At and Error, filtered by All, Sent, Delivered, Read or Failed. Both pages update live.
| Recipient status | Meaning |
|---|---|
| Pending | Not sent yet, or left over when a run was interrupted |
| Sent | WhatsApp accepted the message |
| Delivered | The message reached the customer's phone |
| Read | The customer opened it; needs read receipts on their side |
| Failed | WhatsApp refused it; the Error column says why |
Why did a recipient fail?
The Error column shows WhatsApp's code and reason, such as "131026: Recipient is not a WhatsApp user". A number that is not on WhatsApp first shows Sent, then turns Failed when WhatsApp reports back. A failure without a code, "Message delivery failed. WhatsApp did not provide additional details.", usually means a template the broadcast cannot fill.
| Error | What to do |
|---|---|
| Recipient is not a WhatsApp user or has blocked this business number | Remove the number; it fails again on retry |
| Message blocked by WhatsApp's per-user frequency cap | The person received too many marketing messages recently; try later or use a Utility template |
| Too many messages sent to this recipient | Wait and retry |
| Template does not exist or has not been approved | Pick an approved template |
| Template was paused due to low quality | Edit the template and wait for approval |
| Template parameter count mismatch | Check that every variable has a value |
| Phone number is not registered on WhatsApp Cloud API | Finish the number's registration in Meta Business Manager |
| Rate limit exceeded | Retried automatically |
| Message delivery failed. WhatsApp did not provide additional details. | The template needs button or header values; send it from the WhatsApp page instead |
How do I retry failed recipients?
Click Retry on the Failed card of the campaign page. It appears whenever a recipient failed, is disabled while the campaign is sending, puts every failed recipient back to Pending, and returns the campaign to Sending. It is also the only way to resume a Paused campaign, so a paused campaign with no failed recipient cannot be resumed; send its remaining numbers as a new broadcast. Numbers not on WhatsApp fail again.
How do I export the results?
Click Export CSV on the campaign page; owners and admins can export, and members see a permission notice. The file follows the current filter and has the columns #, Phone, Name, Status, Sent At (UTC), Delivered At (UTC), Read At (UTC) and Error, opens in Excel with Arabic names intact, and is named after the campaign and the filter.
What are the limits?
- Recipients — 1 to 10,000 per broadcast; duplicates are removed before sending.
- Daily messaging tier — WhatsApp allows each number 50 or 250 business-initiated conversations per day for a new or unverified business, then 1,000, 10,000, 100,000 or unlimited. A list larger than your tier is refused with "This audience size exceeds your WhatsApp daily messaging limit"; reduce the list or wait for Meta to raise the tier.
- US numbers — WhatsApp has not delivered marketing templates to +1 numbers since April 2025; the wizard warns and sends anyway.
- Template lock — While a campaign is sending, its template cannot be edited or deleted: "A broadcast is sending this template right now. Try again when it finishes."
- Cost — Broadcast messages do not count against your plan's monthly messages. Meta bills each business-initiated conversation to your WhatsApp Business Account, and the replies the agent sends afterwards count as ordinary Mojeeb messages.
Common questions
Do broadcast messages count against my message quota?
No. A broadcast uses none of your plan's monthly messages, however many recipients it has. Meta charges your WhatsApp Business Account per conversation, and when a customer replies, the agent's answers count like any other reply.
Can I schedule a broadcast?
No. A broadcast goes out the moment you click Send Now. Prepare the CSV in advance and send it at the time you want.
Can I stop a broadcast that is sending?
No. There is no pause or cancel once sending starts, so test with a short list first and keep marketing lists to people who agreed to hear from you.
Does Mojeeb skip customers who asked to stop?
No. Mojeeb keeps no opt-out list, so remove those numbers from your CSV yourself. WhatsApp's own per-user cap may still hold a marketing message back.
Can I send the same broadcast again?
Create a new broadcast with the same file. Numbers are only de-duplicated within one campaign, not across campaigns.
Can I send an image or a PDF with the broadcast?
Yes, through a template with an image, video or document header. Every recipient receives the sample file uploaded when the template was created.
Why were my numbers rejected?
They lack a country code, such as 01001234567, or are not numbers at all. Write them as +201001234567; Excel's trailing .00 is stripped automatically.
Do replies reach my inbox?
Yes. Each sent message creates a conversation on the Chats page, and the agent answers the customer's reply unless you turn AI off for that chat.
Related
- WhatsApp Templates — creating and approving the template a broadcast sends
- WhatsApp — connecting the number
- AI Conversations — where replies arrive
- Plans & Pricing — the Professional plan