Home/Help Center/Merge duplicate contacts

Inbox

Merge Duplicate Contacts

How VGraple CRM prevents and resolves duplicate contact records, including the automatic merge that runs on your website chat widget and how to request a manual merge.

By Chirag Darji · Updated 27 Aug 2026 · 7 min read

On this page
  1. Before you start
  2. Steps
  3. Why the automatic fix is narrow rather than general
  4. What you will see
  5. Settings and options
  6. Troubleshooting
  7. Related reading
Contacts in VGraple CRM: 420 contacts with tags, channel filters, saved segments and opt-in status

Two records for the same person split their conversation history, tags and notes across separate profiles, which is confusing for your team and makes a contact's history look thinner than it really is. VGraple CRM prevents the most common cause of this automatically on your website chat widget, and merges the rest on request.

Merge duplicate contacts: first 5 of 8 steps

  1. 1A visitor uses your website chat widget
  2. 2The visitor identifies themselves
  3. 3VGraple CRM checks that email against your
  4. 4Their conversation carries over
  5. 5Spot the duplicate
The steps on this page, in order.

Before you start

  • Merging is available to every plan, since it fixes data quality rather than being a paid feature.
  • Requesting a manual merge for two contacts you have spotted does not require any particular role or permission from your side; support carries out the merge on your behalf.
  • Merging is permanent for the record removed: its conversations, tags, notes and other activity move to the surviving contact, and the removed record is not restorable afterward.
  • A merge only ever combines two contacts within the same organisation; it cannot combine contacts across two separate VGraple CRM workspaces.

Steps

A conversation open in the VGraple CRM inbox with stage, priority, assign, summary, snooze and resolve controls in the header

How the automatic merge works

  1. A visitor uses your website chat widget anonymously. VGraple CRM creates a temporary "Website Visitor" contact so their conversation has somewhere to attach to.

  2. The visitor identifies themselves, typically by typing their name and email into the chat widget's identify step, or a chatbot flow that asks for it.

  3. VGraple CRM checks that email against your existing contacts. If it matches a contact already in your organisation, for example someone who previously messaged you on WhatsApp using that same email, the temporary visitor record is merged into the matching contact automatically, with no action needed from your team.

  4. Their conversation carries over. The web chat conversation now shows under the same contact as their earlier WhatsApp history, so an agent opening either channel sees the full picture rather than a fresh, empty-looking profile.

Requesting a manual merge

  1. Spot the duplicate. This usually shows up as two separate rows on the Contacts page with the same name or phone number, or two conversations in the inbox that both seem to be the same person.
  2. Note both contacts' details (name, phone, email if visible, and roughly when each was created) so support can identify them quickly.
  3. Contact VGraple CRM support, Monday to Friday, 10 AM to 7 PM IST, with those details and which record you would like kept as the main one.
  4. Support merges the records. Every conversation, appointment, lead, note and custom field value from the duplicate moves onto the contact you keep, and the duplicate record is removed.

Why the automatic fix is narrow rather than general

Merging is a genuinely risky operation done wrong: combine the wrong two contacts and you attach a stranger's conversation history, appointments and notes to someone else's profile, with no easy way to tell after the fact which pieces belonged where. Because of that, VGraple CRM only merges automatically in the one case where the match is unambiguous, a web chat visitor who explicitly types an email address that exactly matches an existing contact's email. An exact match on an email address someone just typed themselves is about as safe as automatic identity resolution gets.

Example

A D2C store's customer messages on WhatsApp asking about an order, then weeks later visits the store's website and opens the chat widget as an anonymous visitor to ask a different question. When the widget asks for their email and they type the same one linked to their WhatsApp profile, VGraple CRM merges the new web chat conversation straight into their existing contact, so the agent who picks it up sees the earlier WhatsApp order conversation as history, not a blank profile.

Two contacts that look like duplicates for any other reason, same name but no shared email, two different phone numbers for one person, a contact created twice from separate CSV imports, all need a human to confirm they are actually the same person before merging, which is why those go through a support request rather than a self-serve button. This mirrors how most serious CRMs handle contact deduplication: automatic where the signal is unambiguous, reviewed by a person everywhere else.

What you will see

After an automatic web chat merge, the customer's web chat conversation appears seamlessly under their existing contact, with no separate "Website Visitor" entry left behind. After a manual merge from support, the surviving contact's history grows to include everything that was on the duplicate: every past conversation, any tags or notes that were not already present, and appointments or leads tied to the merged record, all reassigned rather than duplicated.

Settings and options

SituationHandled byWhen it runs
Anonymous web chat visitor later provides an email matching an existing contactAutomatic mergeThe moment the visitor identifies themselves in the chat widget
Two separately created contacts you have spotted as duplicatesManual merge via supportOn request, Monday to Friday, 10 AM to 7 PM IST
Tags present on both recordsKept once on the surviving contact, not duplicatedDuring any merge
Custom field values present on both recordsThe surviving contact's existing value is kept where both have one setDuring any merge
Conversations, appointments, leads, notes, broadcast sendsReassigned in full to the surviving contactDuring any merge

Troubleshooting

SymptomLikely causeFix
A web chat visitor's history did not merge into their existing contactThe email they typed does not exactly match the email on the existing contact recordConfirm both records use the same email address, correcting a typo if needed, and contact support to merge them manually
I merged two contacts and now cannot find one of them by its old nameThe merged-away record no longer exists as a separate contact; its history now lives under the surviving contactSearch by phone number or the surviving contact's name instead
Two WhatsApp numbers for the same person are showing as separate contactsWhatsApp identifies contacts primarily by phone number, so two different numbers for one person are treated as two people unless merged manuallyContact support with both numbers to have them merged
A tag I expected on the merged contact is missingThis should not happen since tags carry over; check you are viewing the surviving contact, not a cached view of the removed oneRefresh the Contacts page and search for the contact again
I am not sure which of two contacts should be the surviving oneThere is no fixed rule you need to apply yourself; tell support which one you would prefer to keep, or let them use the earlier-created record by defaultInclude your preference when you contact support

To avoid creating duplicates in the first place when importing customers in bulk, see importing contacts from CSV. For organising contacts once they are clean, see tags, notes and stages.

Frequently asked questions

Why would the same person end up as two separate contacts?
Most often because they reached you on two different identifiers before VGraple CRM could connect them, for example an anonymous web chat visitor who later types in an email address that matches a WhatsApp contact you already had, before that link is made.
Does VGraple CRM merge duplicate web chat contacts automatically?
Yes, in one specific case. When an anonymous web chat visitor identifies themselves with an email address that matches an existing contact in your organisation, their temporary "Website Visitor" record is merged into the matching contact automatically, and their conversation history moves with it.
What happens to conversations, tags and notes when two contacts merge?
Every conversation, appointment, lead, note, custom field value and broadcast send record moves to the surviving contact. Tags and custom fields that would collide (the same tag or field already on both records) are kept once rather than duplicated; the merged-away record is then removed.
Can I merge two duplicate contacts myself from the Contacts page?
Not yet with a self-serve button beyond the automatic web chat case above. If you spot two separate contact records for the same person, for example a WhatsApp contact and a web chat contact that never linked, contact VGraple CRM support to have them merged for you.
Will merging lose any message history?
No. Merging reassigns every conversation to the surviving contact rather than deleting anything; a merged contact's full conversation history remains visible under the contact you keep.
How does VGraple CRM decide which of two duplicate contacts to keep as the surviving one?
The earlier-created contact is used as the canonical record by default in the automatic web chat case, since it is the one with the longer-established history to attach new activity to.

Run your WhatsApp on VGraple CRM

Free forever plan, official Meta WhatsApp Business API, set up in 15 minutes. No card needed.