How to Run WhatsApp Marketing Campaigns
ProfilePilot Team | Aug 28, 2026 | 14 min read
Build opt-in audiences, sync approved Marketing templates from WhatsApp Manager, send paced campaigns (including carousels and Flow buttons), and honour STOP.
Step 1: Orders vs Marketing (same WABA, different rules)
WhatsApp Orders = transactional (catalog, cart, kitchen, Utility templates like `order_confirmed`).
WhatsApp Marketing = promotional broadcasts using Marketing category templates only.
They share:
- One connected WABA (`org_whatsapp_config`)
- One contact table (`inbox_contacts`)
They do not share consent: a completed order is not marketing opt-in.
Navigate: Dashboard → Marketing → WhatsApp (requires WhatsApp Commerce add-on today).
Risk: spam reports or blocks on Marketing throttle the entire WABA, including order notifications. Start with small tests and clean lists.
Step 2: Consent and Audience
POPIA requires specific marketing consent — log who, when, wording, and source.
Marketing → Audience shows contacts with marketing eligibility:
- Opted in when `marketing_opted_in_at` is newer than `marketing_opted_out_at`
- Record sources: checkout checkbox, YES reply, staff manual, CSV import, web form
Staff manual opt-in: use Audience → add/opt-in (manager role).
Opt-out export: download suppressed numbers for audit.
Important: consent is org-scoped. Admins must select the client org that owns the WABA before recording opt-ins (not the partner lab org).
Test-send allow-list: opted-in contacts or org operational numbers (contact phone, kitchen notify IDs) — not arbitrary staff mobiles.
Step 3: STOP and opt-out (mandatory)
Customers can reply STOP, UNSUBSCRIBE, or use the marketing opt-out quick reply.
ProfilePilot detects whole-message STOP before commerce handlers — “stop the onions” in an active order is not treated as marketing opt-out.
After STOP:
- Set `marketing_opted_out_at` on the contact
- Never send Marketing templates to that number again
- Opt-out always wins over prior opt-in
Utility order updates may still send when appropriate (they are not Marketing templates).
Step 4: Templates — create in Manager, sync in ProfilePilot
ProfilePilot does not replace WhatsApp Manager template authoring.
Workflow:
- Create/edit template in WhatsApp Manager on the client WABA (category MARKETING for promos).
- Wait for APPROVED status.
- In ProfilePilot: Marketing → WhatsApp → Sync templates.
Sendable kinds (V1): default (body + optional image header + URL button), carousel (2–10 cards, Sprint 5), flow (opens a Flow — see Flows guide).
Do not put promotional copy in Utility templates — Meta will reject or pause them.
Utility library names for Orders (`order_confirmed`, etc.) must exist on each client WABA separately.
Step 5: Create and send a campaign
Marketing → WhatsApp → New campaign:
- Pick an APPROVED Marketing template.
- Choose audience (all eligible opt-ins or a saved segment).
- Fill template variables (body, header media, button URL suffix).
- Schedule or send now.
Paced sending: large lists send via background worker with Meta rate-limit retries (HTTP 429 / error 4).
Carousel campaigns: upload 2–10 card images to WhatsApp media ids (public HTTPS URLs). Static button URLs leave the ProfilePilot click-tracking suffix blank unless you use dynamic `https://profilepilotapp.com/r/{{1}}`.
Flow template button: Marketing sends a `flow_token` only — ProfilePilot builds `pp.v1.<payload>`. Template in Manager must use Flow starts with → Network request (not “Pre-defined screen”). See *How to Set Up WhatsApp Flows Checkout*.
Step 6: Test send, tracking, and stats
Test send (campaign composer or admin test route): recipient must be opted-in or an org operational number.
Click tracking: ProfilePilot short links use `/r/<code>`. The template URL button in Manager must be dynamic: `https://profilepilotapp.com/r/{{1}}` — Meta’s “use link tracking” tick alone does not populate PP stats.
Campaign detail shows sent/delivered/read/failed and click counts.
555 utility-only numbers (partner lab) accept template API calls but fail Marketing delivery — use the client Test WABA for Marketing QA.
Monitor quality rating and messaging limits in WhatsApp Manager (1k → 10k → 100k tiers).
Keep learning
See the latest guides, experiments, and rollouts.