Make it possible to not merge two identified contacts

Moved from GitHub (#5495)

Original feature request:

Make it possible to not merge two identified contacts.
A possible solution could be to define a unique contact field (email address or other unique identifier) in settings and according to this field one contact can’t be automatically merged to another. Another solution could be an additional parameter in the tracking code which says “don’t merge an identified contact who used this computer earlier with this identified contact who is using the computer now”.
This should work with identified contacts only, and should not affect merging a non-identified contact to an identified one.

This could be a huge improvement for membership sites using Mautic.

The current contact merging method could have legal issues in some countries, especially if one contact is subscribed to some type of communication but the other is not, and after merging, the non-subscribed one will receive e-mails which he has never subscribed to.

Let’s imagine that you have two identified contacts. The first one logs on to your website, and you tell Mautic who he is, providing the contact’s e-mail address (or other unique identifier) with the tracking code.

If he leaves the site (logs out) and an another identified contact logs in from the same browser some days later, Mautic will merge these identified two contacts.

I like that idea as we regulary have problems from merging.

Problematic situations:

  • One of your registered user (for example Peter) shows his friend (James) how brilliant your website is. Logs in and shows him around, what it is good for, what he is using it for. James likes the website too and wants to register. Peter logs out, lets James sit down in his place and helps him with the registration to the website. In this case mautic will handle Peter and James as one person. You can't tell mautic, that "hey, it's a new user!".
  • Other example: You have an online service on your website, what people regulary use from public PC-s. Like we have an educational website and childrens use it from school too. And they use the same computers in the school. Different users are often merged in this case and its hard to communicate with them on their progress.

Idea for a solution

I believe a basic solution could be done quite fast. Only two thing is required.

  1. Put a checkbox into settings with label: Don't merge contact's with different unique fields.
  2. Make a function in lead model that checks if the tho contact can be merged based on the value of the setting and use that function before lead merge is done.

Of course there are much more sophisticated ways to solve that feature request, but I think that step would be a good for a first one. :slight_smile:
When it was originally posted, I tried to do it myself as it would be useful for us, but at the first try I got lost in the code and didn’t have time for another yet. :frowning: