Contacts
Contacts are the people you can message on WhatsApp, and everything you know about them. The Contacts page is where you import them, sort them with tags, and pick out who a broadcast is for.
Every broadcast starts here. How well you can target a message depends almost entirely on how well you tag your contacts.
Where contacts come from
flowchart LR
I["CSV import"] --> C["Contacts"]
O["A customer messages your number"] --> C
C --> B["Broadcasts"]
C --> X["Export"]
C --> L["Live Chat"]
You import them. Upload a CSV file of customers who agreed to hear from you. See Add and import contacts.
They message you. Anyone who sends a message to your WhatsApp number is saved as a contact the moment they write, with source ORGANIC. You do nothing.
If you import someone who is already a contact, their details are updated with the new values. You do not get a duplicate, and their chats stay as they were.
What each contact holds
Each row on the Contacts page is one person. Some columns you fill in. Others fill themselves in as the person interacts with you.
| Column | Filled in by | What it holds |
|---|---|---|
| Name | You, or WhatsApp | Full name. Also split into first and last name for personalising messages. |
| Mobile Number | You, or WhatsApp | Their WhatsApp number, with country code |
| Tags | You | Labels you use to group people, such as vip or diwali_2026_signup |
| Source | Automatic, or you | How they arrived: IMPORT, ORGANIC for people who messaged you first, or your own value from the CSV |
| Status | Automatic | ACTIVE if they messaged you in the last 24 hours, otherwise INACTIVE |
| State | Automatic | Where their conversation stands in Live Chat |
| Last Active | Automatic | When they last sent you a message |
| Created At | Automatic | When the contact was first added |
| First Message | Automatic, or you | A tag given based on the first thing they wrote to you |
| Attributes | You, or a chatbot | Anything else: city, email, preferred size, last order value |
State has four values:
| State | Means |
|---|---|
| Requesting | The customer is waiting for someone on your team to pick up the chat |
| Intervened | A team member has taken over the chat |
| Closed | The conversation was resolved and closed |
| Handled by Assistant | A chatbot is handling the chat on its own |
Status matters most when sending. You can send regular messages only to ACTIVE contacts. Everyone else needs a template. See How it works.
What you can do here
Upload a CSV of customers, map its columns, and check what was added. Export contacts back out. See Add and import contacts.
Group contacts with tags, and store details you can use to personalise messages. See Tags and attributes.
Narrow the list to exactly the people a message is for, then broadcast to them. See Filter contacts.
Let customers subscribe and unsubscribe by replying with a keyword, and see which messages still reach people who opted out. See Opt-in and opt-out.
Contacts cannot be deleted. Opt them out, tag them to keep them out, or block their messages. See Remove and block contacts.
Keeping your contacts useful
A contact list is only as good as what you can filter it by. A few habits make the difference between a list you can target and one you can only send to all at once.
Tag at import. Every import gets a tag that says where the people came from and when, such as diwali_2026_signup or instagram_giveaway_mar. Six months later, this is the only way to tell those groups apart.
Use one list, not many. Everyone lives on one Contacts page. You separate groups with tags, not with separate uploads. A customer who signed up twice is one contact with two tags, which is exactly what you want.
Only add people who agreed. WhatsApp Marketing treats every imported contact as opted in. A bought or scraped list gets you blocked, and blocks lower your quality rating for every message you send after. See Opt-in and opt-out.
Leave the automatic columns alone. Status, State and Last Active fill themselves in, so nobody has to keep them up to date.
Updated about 1 month ago