Every business wants WhatsApp bulk messaging: a new offer, an appointment reminder, an order update. WhatsApp is the app customers in Egypt keep open all day, so the idea makes sense. But how you send decides whether you get a campaign that sells, or a number that is banned halfway through and takes every customer conversation with it.
In Klamna, bulk campaigns go only through the official WhatsApp Business API, with Meta-approved templates, to customers who agreed to hear from you.
Official API versus unofficial tools
| Official API (Klamna) | Unofficial bulk tools | |
|---|---|---|
| Rules | Follows Meta's policies | Breaks WhatsApp's terms |
| Your number | Safe while you follow the rules | Can be banned at any time |
| Templates | Approved by Meta first | Any text, no review |
| Replies | Shared team inbox | One phone |
| Cost | Meta charges per its rate card | "Free" until the number is blocked |
A banned number loses its chat history and the trust of customers who are used to reaching you there. That is also why Klamna does not use the QR-linked WhatsApp channel for marketing campaigns.
Template categories and Meta approval
Any message your business starts outside the 24-hour window after the customer's last message must be an approved template. Meta's main categories are Marketing (offers, launches), Utility (order updates, reminders, payment confirmations) and Authentication (login codes). You write the template in Klamna and submit it to Meta; once approved, it is ready for campaigns. Each category is priced differently on Meta's rate card; see WhatsApp API pricing explained.
Opt-in first, opt-out always
Send only to customers who agreed: a clear checkbox on your website form, a customer who asked for updates in a chat, or consent at purchase or booking. Add an opt-out line to marketing templates, such as "Reply {stop word} to stop offers", and remove anyone who asks immediately.
Personalised templates with variables
Templates use variables filled from each customer's data:
"Hi {customer name}, a special offer on {product} until {end date}. Shall we reserve one for you?"
"Hi {customer name}, a reminder of your appointment at {branch} on {date} at {time}."
Variables come from the customer record in the CRM or from a CSV file you upload.
Paced sending with fair caps
Campaigns are not fired in one second. Klamna's campaign engine sends at a steady pace within sending caps and shares capacity fairly between campaigns, so a large campaign does not hold up urgent service messages. Schedule ahead and track each message: sent, delivered, read.
Replies land in the shared inbox
When a customer replies, the message arrives in the shared inbox on the customer record and is assigned like any chat. No reply is lost and no agent answers from a personal phone.
AI follow-up of replies (optional)
If a campaign brings many replies at once, an AI agent can follow up: answer questions from your knowledge base, record interested customers and hand over to an agent when asked. The add-on is optional and runs on your own OpenAI account. You can also move interested customers into a call list in dialer campaigns.
Tips for better campaigns
- One message, one goal: a single clear offer beats a list of five products.
- Quick-reply buttons such as "Interested" make answering easy.
- Segment your audience: yesterday's buyer is not the same as someone who has not bought in a year.
- Do not over-send: too many messages lead to reports and opt-outs, which affect your number's quality with Meta.
- Measure results: track replies and sales from the campaign, not just messages sent.
Your first campaign
- Connect your official WhatsApp API number.
- Write the template with variables and submit it to Meta.
- Pick opted-in customers or upload a CSV.
- Schedule it and send a test to your own number.
- Send and follow replies in the shared inbox.
Need campaign ideas? Read WhatsApp marketing campaigns in Egypt. When you are ready, choose your package on the pricing page and start a free trial, or talk to our team for help with your first template.
Last updated: