WordPress Mass Messaging: Broadcast to All Users from Admin
Site admins regularly need to reach every member at once — an outage update, a policy change, a new feature announcement, an event reminder, a payment-method update. Email works but lives in a different inbox; WordPress's built-in tooling stops at the "post on the activity feed" model that not everyone reads. Better Messages adds mass messaging: a one-time broadcast from the admin panel that delivers the same message to every selected user as an individual private conversation, so replies route back to the admin rather than to all recipients.
Why "individual conversations" and not a giant group chat
The mass messaging feature does not create one big thread with everyone in it. Instead, the message is delivered as an individual 1:1 conversation to each recipient. Three reasons this is the right model:
- Replies route to the sender, not to all recipients. If you broadcast "We are extending the deadline by a week" to 5,000 users, you do not want every "Thanks!" to be visible to all 5,000. Each user reply lands as a private DM to the admin.
- Recipients see the message as a personal touch, not as a group blast. The conversation appears in their inbox like any other DM.
- Admins can follow up individually if a specific reply needs a response — the existing 1:1 thread is the natural place to continue.
Behind the scenes, the mass-messaging job creates N independent conversations (one per recipient), each with the admin as the sender. Database-wise this is the same as the admin manually DMing each user, just automated.
What you can target
The recipient picker supports:
- All users — every registered WordPress user on the site
- Specific roles — pick one or more WordPress roles (Administrator, Editor, Subscriber, custom roles, etc.)
- Specific users (when paired with custom code) — for a curated list
Common patterns:
| Use case | Recipients |
|---|---|
| Site-wide announcement | All users |
| Paid-member-only update | "Pro Member" role |
| Course-cohort announcement | Custom role for the cohort, or the LMS-driven course chat (see WordPress LMS chat plugin) |
| Staff-only message | "Editor" + "Administrator" + "Shop Manager" |
| Re-engagement to free tier | "Subscriber" role |
How to use
- WP Admin → Better Messages → Mass Messaging.
- Enter your message content (full message editor with formatting, attachments, GIFs).
- Select recipients: All users or specific roles.
- Click Send.
The job runs in the background; each recipient gets their conversation within a few seconds to a few minutes depending on site size.
Combining mass messaging with email + push
Mass messaging interacts naturally with the rest of Better Messages' notification surfaces:
- Each recipient gets a standard in-messenger notification (unread badge, conversations-list update).
- Each recipient gets a batched email notification (per the email rules — skipped if they were active in the last 10 minutes).
- WebSocket-version recipients get real-time delivery and web push notifications when the site tab is closed.
For very large broadcasts, the email cron processes recipients in batches over the next 15-minute window — no email spike from a single sent action.
When NOT to use mass messaging
A few cases where another tool fits better:
- Frequent recurring updates — a newsletter / email-marketing plugin (FluentCRM, Mailchimp) is the right tool for ongoing weekly updates.
- One thread members should discuss together — use a chat room with the relevant role allowed in. Everyone sees everyone else's replies.
- Onboarding messages triggered per-user-event — use the AutomatorWP or Uncanny Automator integration to send a DM on user signup / course completion / payment.
Free vs WebSocket version
Mass messaging works on both versions:
| Feature | Free version | WebSocket version |
|---|---|---|
| Send to all users or specific roles | yes | yes |
| Each recipient gets an individual conversation | yes | yes |
| Replies route to sender only | yes | yes |
| Background processing for large recipient lists | yes | yes |
| Real-time delivery of broadcast messages | polling | instant |
| Web push notifications for new broadcast messages | — | yes |
| Email notifications via standard batched delivery | yes | yes |
Frequently asked questions
What is the upper limit on recipients?
There is no hard cap. The background job handles large recipient lists by processing in batches. Tens of thousands of recipients on a healthy site is fine; for sites in the hundreds of thousands, contact support for a tuning conversation.
Will recipients see who else received the broadcast?
No — each recipient sees an individual 1:1 conversation with the admin. There is no visible "this was sent to N other users" indicator.
Can I personalize the message per recipient?
Per-recipient personalization (e.g. Hi {first_name}) is not in the default UI but is filterable. For richer personalization, use the AutomatorWP integration with the AutomatorWP token system.
What happens if a recipient already has a thread with me?
The mass message appears as a new message in the existing thread rather than creating a duplicate. Their existing conversation history is preserved.
Can I schedule a broadcast for a future date?
Not in the default UI. For scheduled broadcasts, use WordPress's cron + a custom script, or trigger the broadcast through an Uncanny Automator / AutomatorWP recipe at the target time.
Will it work with the WebSocket version's real-time delivery?
Yes — broadcast messages are dispatched through the same event pipeline as regular messages. WebSocket-version recipients see the broadcast land instantly.
See also
- Mass Messaging feature documentation — full reference
- AutomatorWP send private message — for event-triggered automated DMs
- Uncanny Automator send private message — for event-triggered automated DMs
- How to add a chat room to WordPress — for announcements where everyone should discuss together