Lynkist Guides

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 — Get your contacts in

Go to Contacts → Import & Export and click Import Contacts. Upload a CSV or Excel file, map your file's columns to Lynkist fields, review the preview, and confirm. Full detail is in the Contacts guide.

CSV format

phone,first_name,last_name,city,order_id
+919876543210,Riya,Sharma,Mumbai,ORD-1042
+447700900456,Tom,Hodge,London,ORD-1043
  • The phone column is mandatory and must be in international format. Rows with missing or malformed numbers are skipped — the import summary tells you how many and why.
  • Columns beyond the built-in fields map onto custom fields, which you create first under Contacts → Custom Fields. Those are what you use as template variables later.

Bulk import and export are paid-plan features. If you see an Upgrade prompt on this page, the feature isn't included on your current plan.

Step 2 — Organise who you'll send to

Lynkist targets campaigns with groups and sources, both of which you manage under Contacts:

  • Groups (Contacts → Groups) are named buckets you put contacts in — "Newsletter", "VIP customers", "Trial signups". A contact can be in several at once.
  • Sources (Contacts → Sources) record where a contact came from — a website form, a walk-in, a referral, a QR campaign. QR campaigns create their source automatically.

Both are static membership: a contact is in a group because it was put there, by you, by an import, or by a QR scan. Set them up before you import so contacts land classified.

Rule-based segments that update themselves as contact attributes change — "everyone in Mumbai with more than 5 orders" — are not available yet. Today you build the equivalent by importing with a group or source assigned, or by adding contacts to a group after the fact.

Step 3 — Build the campaign

Go to Campaigns → New campaign. The wizard has five steps:

  1. Details — an internal name, an optional description, and an optional schedule. Recipients never see the name.
  2. Template — pick one of your approved templates. The list is filtered to approved ones, because nothing else can be broadcast.
  3. Variables — one field per value the template declares. Map each to a contact field, or type a fixed value that goes to everyone.
  4. Recipients — choose any combination of groups, sources, and individual contacts via the search box. The step warns you about contacts auto-created from inbound messages (the Unknown group), which usually have a phone number and nothing else — so a template with a {{name}} variable will render badly for them.
  5. Review & send — an audience summary and a server-side pre-send check.

Preview before you send

Step 5 runs a real pre-send check against the audience you picked, and the campaign detail page has a Send test message action that delivers the rendered template to a number you choose. Use it. Catch a wrong variable mapping there, not after 10,000 messages have shipped.

Step 4 — Schedule or send

Two options:

  • Send now — kick off immediately.
  • Schedule — set a date and time in step 1. It is interpreted in your effective timezone (your personal setting, falling back to the workspace's), so check that first — see Team & Settings.

Once a campaign is running you can pause, resume or stop it from the detail page. Stopping is permanent; pausing is not.

WhatsApp imposes a per-second throughput limit that grows with your number's quality rating, and Lynkist paces the send to stay under it. For very large lists the delivery window can stretch to hours — the campaign's progress bar shows how far through it is.

Step 5 — Monitor delivery

Open the campaign detail page. The KPI row shows Total recipients, Sent (of the total), Delivered (with a rate against sent), and Read (with a rate against delivered). Each recipient carries a status:

StatusWhat it means
PendingLynkist has the recipient queued, not yet handed to WhatsApp
SentHanded off to WhatsApp
DeliveredReached the recipient's device
ReadRecipient opened the chat (if read receipts are on)
FailedWhatsApp rejected it — the row carries the error

The recipients table also flags which contacts have replied. Counts settle within a few minutes for sends under 10,000; Refresh metrics recomputes them on demand.

Step 6 — Read the results

  • Delivery rate — should be 95%+ for a healthy list. Lower means many bad numbers; clean the list before next time.
  • Read rate — a content and timing signal, not a technical one.
  • Errors — the campaign has a dedicated errors panel that groups failures by WhatsApp error code and lets you drill into the affected recipients. This is the fastest way to tell a bad list from a bad template.

The campaign view reports delivery, not spend. What a campaign cost you is in Settings → Wallet, where every billed conversation appears in the ledger with its category — see Billing & Wallet.

Common pitfalls

PitfallWhat to do
Sending to a stale listClean lists older than 90 days — opt-outs and number changes accumulate
Variable map is wrong → blank-looking messagesSend a test message to yourself first
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 hourCheck your effective timezone before scheduling; for multi-region audiences, split the send
Sent without opt-inDon't. Suspended numbers are very hard to recover

What's not covered (yet)

  • Rule-based dynamic segments — audiences are groups, sources and hand-picked contacts today.
  • Recurring campaigns — every campaign is a one-off; recurring sends are on the roadmap.
  • A/B testing — also on the roadmap.
  • Send at the recipient's local time — scheduling is a single moment in your workspace timezone, not staggered per recipient.
  • Per-message CSV export — the recipients table and the errors drill-down are on-screen only.
  • Multi-channel campaigns — WhatsApp + SMS fallback is in design.

Next steps

Campaigns — Lynkist Guides | Lynkist