Customer Identification
How Chatvox recognizes returning customers on the web widget, Public Chat, and WhatsApp, and links their conversations to a contact.
Customer identification links a conversation to a known contact, so you can see all of a customer’s conversations and leads in one place. How it works depends on the channel.
| Channel | How customers are identified | Setup |
|---|---|---|
| Web widget | Your website sends a signed token for the signed-in user. | User identification |
| Public Chat | Your integration sends a signed token to Chatvox’s API. | See below |
| Automatically, by the customer’s phone number. | None | |
| Web widget and Public Chat tickets | The visitor verifies their email with a one-time code when asking for a ticket. | None |
Identification vs. remembering visitors
These are different:
- Remembering visitors keeps an anonymous visitor’s conversation on their browser, so they can pick up where they left off. See Conversation history.
- Identification tells Chatvox who the visitor is, using a token signed by your server, or an email the visitor verified for a ticket. Only identified visitors become contacts.
Public Chat
Opening a Public Chat link doesn’t identify the visitor. To identify one, your server sends a signed token, using the same secret and token format as the web widget, to:
POST https://my.chatvox.co/api/public/agents/<agent-id>/chat/identify
Content-Type: application/json
{
"token": "<server-signed JWT>",
"session_id": "<conversation session ID>",
"session_proof": "<64-character session proof>",
"source": "public_link"
}
The session_id and session_proof come from the Public Chat conversation. Chatvox checks that Public Chat is turned on for the agent and that the session belongs to that conversation before linking the identity.
This identifies one conversation. It isn’t a login system for the Public Chat page.
Channels aren’t merged
Contacts from different channels are kept separate. A customer who chats on your website and on WhatsApp has two contacts, even if their email or phone number matches.
Privacy
- Identify customers only with information they’ve shared with you, and that your privacy policy covers.
- Tokens are never stored in the browser.
- When a user signs out of your website, call
Chatvox.resetUser()so the next person on that device starts fresh. See Log out or switch users.