The same customer shows up as several contacts
Why one person can appear as several contacts or anonymous visitors in Pengo, how to link signed-in customers for good, and how to merge duplicates.
On this page
Pengo knows a visitor by the browser they chat from. The same person on their phone, on their laptop, or in a private window looks like a new visitor, so they can show up as several contacts. Pengo only joins them into one when it has proof they’re the same person.
#Why it happens
| Situation | Why it’s a new contact |
|---|---|
| A different device or browser | Each browser is a separate visitor until the person is identified. |
| A private window, or cleared site data | The browser forgot the visitor, so the next chat starts fresh. |
| The visitor signed out | pengo('shutdown') forgets the user on that browser and starts a fresh anonymous visitor, on purpose. |
| They typed their email in the chat | A typed email is saved on the contact, but it never joins contacts. Anyone could type anyone’s email. |
| Two of your websites | Each website keeps its own contacts. |
#What joins contacts automatically
Pengo joins visitors into one contact when there’s proof:
- A verified identify call. Your website calls
pengo('identify')with the signed-in user’s ID and a validuserHashfrom your server. Every browser that sends the same user ID becomes the same contact, with all its conversations. - An email they sent you. Conversations that arrive by email from the same address belong to one person.
For signed-in customers, identity verification is the fix that lasts. See Identity verification.
#Check that identify is working
If your site already calls pengo('identify') but customers still split into several contacts:
- The hash is missing or wrong. Without a valid
userHash, Pengo only saves the name, email and attributes on that browser’s visitor. It never links devices. Open your browser’s console and look for[Pengo] identify: userHash is not valid for this userId.or[Pengo] identify was rejected. - The user ID isn’t the same everywhere. Every page, app and device must send the same
userIdfor a person. Use a stable ID from your system, not something that changes, like an email address the user can edit. - You rotated your secret. After Rotate secret, hashes made with the old secret stop verifying. Update
PENGO_IDENTITY_SECRETon your server.
Verified contacts show a Verified badge in the inbox. The identity verification troubleshooting section lists every console message.
#Merge duplicates
The workspace owner can merge contacts in Contacts. Pengo suggests likely duplicates, but nothing is merged until you confirm.
-
Open Contacts and click a contact.
-
Look for Possible duplicates on the contact. Each suggestion says why, such as Both emailed from an address, Same name and email (not verified) or Same name, similar email.
-
Click Merge contacts… to review them all, or Review next to one suggestion. You can also select 2 to 20 contacts in the list and click Merge in the bar that appears.
-
Pick the contact to keep. Pengo shows what moves into it: conversations, activity, tags and attributes.
-
Tick These are the same person. I understand a merge can’t be undone., then click Merge 2 contacts (the number matches how many you’re merging).
#When Pengo won’t merge
| Message | Why |
|---|---|
| These contacts belong to different websites. | Contacts can only be merged within one website. |
| These contacts are verified as different customers | They’re signed in as different users of your site, so they’re different people. |
| Pick the verified contact as primary. | A verified contact can only be merged as the one you keep. Choose it in step 4. |
#Still stuck?
Email support@pengo.chat with your website’s address and links to two contacts that should be one.
Common questions
Why doesn't Pengo join contacts that typed the same email?
Anyone can type any email address into a chat. If Pengo joined contacts on a typed email, a stranger could see someone else's conversations. Pengo only joins contacts on proof, such as a verified identify call or an email the customer actually sent.
Can I undo a merge?
No. A merge can't be undone, which is why Pengo asks you to confirm that the contacts are the same person first.
Can I merge contacts from two different websites?
No. Contacts can only be merged within one website.
Was this guide helpful?
Your answer helps us improve it.
Sorry about that. or contact support, and we'll fix the guide.