Broadcast Campaigns
Menu path: Admin -> Broadcast Campaigns
This section is used to send bulk messages to customers by email, Telegram, or both.
Main pages
Broadcast CampaignsCreate CampaignCampaign Details
Before you create a campaign
Make sure the delivery channels are ready first.
- For email campaigns, check SMTP Configuration
- For Telegram campaigns, check Telegram Configuration
- For sending speed and event behavior, check Notification Settings
- For background delivery work, keep the scheduled tasks active from Installation
What you can do
- save a campaign as draft
- queue a campaign for delivery
- choose email, Telegram, or both
- send to different customer groups
- review delivery and open metrics
Important workflow note
In the current admin panel, this section includes:
- list page
- create page
- details page
- queue action for draft campaigns
There is no normal edit page in this section.
Because of that, it is better to save a campaign as Draft first, review it carefully, and queue it only after the content is correct.
Create Campaign field guide
| Field | What it means | Validation or good input |
|---|---|---|
Campaign Name | Internal name used by admins | Required. Keep it under 190 characters |
Channel | Delivery method | Required. Choose Email, Telegram, or Email + Telegram |
Audience | Who should receive the campaign | Required. Choose the group that matches your goal |
Email Subject | Subject line for email delivery | Required when channel includes email. Keep it under 190 characters |
Use Default Email Layout | Controls whether the standard email layout is used | Use enabled for normal branded emails |
Selected Customers | One or more specific customers | Required when audience is Single customer or Selected customers |
Require Verified Email | Extra filter for valid verified email users | Optional |
Require Verified Customer | Extra filter for fully verified customers | Optional |
Newsletter Only | Extra filter for newsletter subscribers | Optional |
Telegram Connected Only | Extra filter for customers with Telegram connected | Optional |
Email Body | Main email content | Required when channel includes email |
Telegram Message | Main Telegram content | Required when channel includes Telegram |
Audience options
The create page supports these audience groups:
All customersSingle customerSelected customersVerified emailFully verified customersNewsletter subscribersTelegram connected customers
How audience and extra filters work
The Audience field chooses the main group.
The extra filter switches can narrow that group even more.
Example:
- audience =
All customers Newsletter Only= enabled
Result:
- only newsletter subscribers receive the campaign
Another example:
- audience =
Selected customers Require Verified Customer= enabled
Result:
- only the selected customers who are fully verified receive it
Use Default Email Layout
This field has two modes:
Use mailLayout.blade.phpSend raw HTML only
Use the default layout if you want the standard email design and branding.
Use raw HTML only if you already prepared a full custom email body yourself.
Available placeholders
You can personalize campaign text with placeholders.
The application supports placeholders such as:
{{customer_name}}{{customer_first_name}}{{customer_email}}{{website_title}}{{default_email}}{{default_phone}}{{site_url}}{{today}}
Use them exactly as written.
Example placeholder use
Email example:
Hello {{customer_name}},
<br>
Welcome to {{website_title}}.
Telegram example:
Hello {{customer_name}}, today is {{today}}.
Buttons on the create page
The create page gives you these main actions:
Queue Campaign: saves the campaign and starts deliverySave Draft: saves the campaign without starting deliveryCancel: leaves the page
When each field becomes required
Campaign Nameis always requiredChannelis always requiredAudienceis always requiredEmail Subjectis required forEmailandEmail + TelegramEmail Bodyis required forEmailandEmail + TelegramTelegram Messageis required forTelegramandEmail + TelegramSelected Customersis required forSingle customerandSelected customers
Campaign details page
The details page shows:
- pending recipients
- accepted or reached recipients
- failed recipients
- read or open count
- campaign status
- recipient activity log
Email open tracking is supported through a tracking pixel.
Telegram does not provide reliable read receipts, so Telegram delivery is not counted as open or read in the same way.
Campaign status guide
The list and details page can show campaign statuses such as:
draftqueuedprocessingcompletedpartially failedfailed
Recipient activity meanings
Inside Campaign Details, the recipient activity table helps you understand what happened for each recipient.
Common status meanings:
pending: waiting to be sentprocessing: currently being handleddeliveredorsent: accepted by the delivery processopenedorread: email was opened or tracked as readfailed: the message could not be delivered
Draft campaign action
If a campaign is still in Draft, the details page shows a Queue Draft button.
This lets you review the campaign first and start it later.
Common mistakes
- choosing
Email + Telegrambut filling only one message body - forgetting to add selected customers when the audience requires it
- queuing a campaign before SMTP or Telegram is working
- using filters that make the audience too small or empty
- writing a Telegram message but forgetting the email subject for an email campaign
- sending a large campaign first instead of testing with a small one
- saving the wrong content and then expecting a normal edit page to exist
If the campaign does not save
Check these points first:
- campaign name is filled
- channel is selected
- audience is selected
- email subject is filled if the campaign uses email
- email body is filled if the campaign uses email
- Telegram message is filled if the campaign uses Telegram
- selected customers are chosen when the audience requires them
Best practice
- test with one small audience first
- keep message text short and clear
- do not queue a campaign until SMTP or Telegram is working
- use draft mode when you still need approval
- use placeholders carefully and test them in a small campaign
- review the details page after sending so you can catch failures early