Campaigns
Upload a contact list, segment it, schedule a bulk WhatsApp campaign, and read the delivery results.
A campaign is a bulk send of an approved template to a list of contacts. This guide walks through running one end-to-end — from CSV upload to interpreting the delivery report.
Before you start
You need:
- A connected WhatsApp number (WhatsApp Setup)
- At least one approved template (Templates)
- A list of phone numbers in international format (
+91…,+1…, etc.) - The recipients' opt-in. This is non-negotiable — sending to people who didn't opt in burns your sender reputation and risks getting your number suspended.
WhatsApp Business policy requires explicit opt-in before sending the first marketing or utility template. "We bought a list" is not opt-in. Be conservative — recipients can mark you as spam, and Meta acts on those signals.
Step 1 — Upload your contacts
Go to Contacts → Import. You can:
- Upload a CSV (most common)
- Paste numbers directly into the textarea (for small batches)
- Sync from an integration (when available — Shopify, HubSpot etc. coming soon)
CSV format
phone,name,city,order_id
+919876543210,Riya Sharma,Mumbai,ORD-1042
+447700900456,Tom Hodge,London,ORD-1043- The
phonecolumn is required. Numbers must be in E.164 format (+then country code then number, no spaces or dashes). - Other columns become contact attributes you can use as template variables (
{{name}},{{city}},{{order_id}}). - Maximum 100,000 rows per upload. Larger lists should be split.
Validation
Lynkist validates every row on upload:
- Invalid phone formats are flagged and skipped
- Duplicates within the file are merged
- Numbers that already exist in your contact list are updated, not duplicated
You'll see a preview of the first 10 rows before confirming. Fix issues, re-upload, then confirm.
Step 2 — Segment your audience
Most campaigns are not sent to every contact. Use segments to narrow the list.
Go to Contacts → Segments → Create new and define filter rules:
- Attribute filters:
city = Mumbai,total_orders > 5 - Behavior filters:
last_message_received < 30 days ago,opted_in = true - Tag filters: contacts tagged
vip-customerorcart-abandoner
Segments are dynamic by default — when a contact's attributes change, they enter or leave the segment automatically.
Step 3 — Create the campaign
Go to Campaigns → New campaign and fill in:
- Name — internal label, recipients never see this
- Template — pick from your approved templates
- Variable mapping — tell Lynkist which contact attribute fills which template variable
(
{{1}}→name,{{2}}→order_id, etc.) - Audience — pick a segment, or the full contact list
- Send window — when to send
Preview before you send
Always preview. The preview pane renders the template with actual variable values from a few sample contacts in the audience. Catch typos here, not after 10,000 messages have shipped.
Step 4 — Schedule or send
You have three send options:
- Send now — kick off immediately
- Schedule — pick a date and time (your workspace timezone)
- Send at recipient's local time — Lynkist staggers the send so each person receives the message at, say, 10am their time
WhatsApp itself imposes a per-second throughput limit that grows with your account's quality rating. Lynkist automatically paces the send to stay under the limit — for very large lists, the actual delivery window can stretch to hours. The dashboard shows the estimated finish time.
Step 5 — Monitor delivery
Open the campaign detail page to see live counts:
| State | What it means |
|---|---|
| Queued | Lynkist has the message, waiting to send to WhatsApp |
| Sent | Handed off to WhatsApp |
| Delivered | Reached the recipient's device |
| Read | Recipient opened the chat (if read receipts are on) |
| Failed | WhatsApp rejected — see the failure reason |
| Replied | Recipient sent any reply |
Refresh after a few minutes — final counts usually stabilise within 10 minutes for sends under 10,000.
Step 6 — Read the report
The campaign report shows:
- Delivery rate — should be 95%+ for a healthy list. Lower means many bad numbers; clean the list before next time.
- Read rate — varies by segment and template quality.
- Reply rate — useful for marketing campaigns to gauge engagement.
- Opt-out rate — anything above 1% means the audience didn't expect the message.
- Cost — the WhatsApp conversation charges for this campaign.
You can export the per-message log to CSV for offline analysis.
Common pitfalls
| Pitfall | What to do |
|---|---|
| Sending to a stale list | Clean lists older than 90 days — opt-outs and number changes accumulate |
| Variable map is wrong → blank-looking messages | Always preview |
| Used a marketing template for a utility purpose (or vice versa) | Create the right-category template; using the wrong one burns conversation budget |
| Campaign sends at a bad local hour | Use "send at recipient's local time" for multi-region audiences |
| Sent without opt-in | Don't. Suspended numbers are very hard to recover |
What's not covered (yet)
- Recurring campaigns — currently every campaign is a one-off. Recurring sends are on the roadmap.
- A/B testing — also coming.
- Multi-channel campaigns — WhatsApp + SMS fallback is in design.