Contacts and segments
Your audience lives here: who they are, whether they consented, and how you group them for campaigns.
Adding contacts
- Manually, from Contacts → Add contact.
- Automatically, whenever someone messages your WhatsApp number for the first time.
- In bulk, via CSV import.
- Programmatically, through the REST API or a connected integration (Shopify, WooCommerce, HubSpot).
CSV import
- 1Contacts → Import. Upload a UTF-8 CSV with a header row.
- 2Supported columns: phone (required), name, email, tags (semicolon-separated), locale.
- 3Map your columns to Wappr fields in the preview step.
- 4Existing contacts are matched on phone number and updated rather than duplicated.
Phone number format
Numbers are normalised to E.164: a plus sign, country code, then the national number with no spaces or dashes — +441632960961. Rows that can't be normalised are reported back to you at the end of the import and skipped.
Opt-in and consent
This is not optional
WhatsApp requires prior opt-in before you message anyone. Sending to non-consenting contacts gets your number quality rating downgraded and eventually blocked.
- Each contact carries a consent state, its source, and a timestamp.
- Double opt-in verification can be required in Compliance settings.
- Unsubscribe keywords (STOP and localised variants) automatically opt the contact out.
- Opted-out contacts are excluded from every campaign send, regardless of segment.
Lead status and ownership
| Field | Use |
|---|---|
| Lead status | New, contacted, qualified, won, lost — a lightweight CRM pipeline. |
| Owner | The team member responsible for this relationship. |
| Tags | Free-form labels, applied manually or by AI auto-tagging. |
| Notes | Internal-only context, never sent to the customer. |
Segments
A segment is a saved filter — tags, lead status, locale, consent state, last-activity window. Campaigns target segments, and membership is evaluated at send time, so a segment stays current without you re-running anything.
Still stuck? Open a support ticket.