keyboard_arrow_up

Contact Duplicates with WhatsApp on Android

Time to clean them up!

29 Sep 2017
Back to blog

Ah, duplicates. Something that makes me uncomfortable, seeing two or more same information at the same time. So, I have bought a new phone which is the Nokia 6 in the end of August. I have prepared the device for everything and then I have synced all my contacts to it. It is a bummer that I cannot unlock the bootloader yet even after months since the device's release, but that is another story to be told. One day, I have to make a call to somebody, so I casually opened the Dialer and searched for his name, only to see there were like 3 of the same contacts listed. I have been patient about this, but the pain for perfection is too much after a month persisting. Took a lot of time experimenting yesterday and I think I have found an indirect solution.

Symptom

You have a contact with a name Phoebe. Her number is +60 12-345 6789. When you open the Dialer and search for Phoebe, the app shows two duplicate Phoebe. If you tap both and see the numbers, both of Phoebe's number is the same. The second contact has WhatsApp's actions in it (message, voice call, video call).

The Solution

Some might come to this page by searching on the internet about the same issue. So here is a straight to the point solution with no fuss on how to fix it. The contacts are not merging because of a possible Android issue. I will explain that later below. Essentially, you will need to make two same contacts to have a similar (exact one to one copy) number, then Android will merge the contacts automatically.

We will need an application called “Twitch 2”, which is installable from the Play Store. What does this app do is to allow you to bulk re-format the numbers of your contacts based on standards
Go to App Page

This solution will be straightforward, you may explore the application by yourself and see what else you can do with it. The application is quite confusing to use at first glance, but I hope this solution will aid you in understanding the app. Also note that the country list is buggy, but this should not be an issue as it automatically selects your country on application launch. But if you really need to, you need to flick through the list instead of scrolling. In other words, you have to not touch the screen. Either flick or tap. The app bar has two drop down lists. From left, you can see the app name “Twitch 2”, then the country chosen (first list), and lastly the format chosen (second list). The country defaults to your country and the format defaults to international format.

Open the app and wait for it to load. You will be presented with a screen showing all of your contacts. This app automatically picks up the numbers from your contacts and edits them based on the format that you choose, if the number is not in the correct format. The changes are not yet saved, until you hit the “Save Selected” button. What we are going to do here is to edit all of your contacts to another format and then optionally back to your preferred format in order to stimulate Android to merge all of the contacts.

Slide open the navigation drawer, and tap on “Providers”. A dialog box will appear, and you will need to make sure only your phone/Google contacts is selected. Hit “OK”.

Open the navigation drawer again, scroll down a little bit and under “Format Preferences” tap on “Other Format Types”. Three selections will appear, now tap on “E164 (remove all spaces; INT prefix)”.

Proceed by selecting all of the contacts. To do this, just untick, and tick again the tickbox at the top of the list. Then, tap on the “Save Selected” button. The app will update all of your contacts to reflect to the format chosen.

Voila, open your Dialer app and everything has been merged! 😄 However, there is a possibility of future new contacts may not be stimulated for automated merge, therefore this app can also be used to target only specific contacts.

As explained by the app, E164 will remove all spaces in the numbers. If you want to reverse the changes, you can change back “Format Preferences” to the default “Follow INT/NAT Settings” and save the changes again.

The Issue

After a lot of experimenting to understand the underlying issue, I have been able to pinpoint that Android may have not recognised that the numbers are the same for the 2 similar contacts. To make matters easier to understand, let's assume Android has a consciousness.

Android is not stupid. When you have two different contacts with the same name but different number format, it will always recognise that it is a duplicate. For example, an app created a contact named Finn with his number “012345”. The one that originates from your phone is “012 345”. Notice the space. Android is clever enough to know that the two numbers are the same and it will merge them.

WhatsApp creates their copy of contacts based on your main contacts during contacts synchronisation. This is where the problem comes in. WhatsApp instead of creating a 1:1 number format from the original contact, it chose to create one of its own. For example, a contact with a number “+60 12-345 6789” will have a duplicate with the number “+60123456789”. And this is different from the one you saved.

As pointed out earlier, Android is not stupid, by design it should know that the contacts have a duplicate, but for some reason the “checking” may not be stimulated after creating your contacts. So in order to stimulate the “check”, there are 2 ways you can do this, either by changing the main contact's number to something else, save, then change it back, or you place a call to the duplicated contact. When you do so, the Dialer list will reset to top and flickers, that is when you will see the duplicate contact is gone.

However, doing such “stimulation” 😶 will cost you a lot of time because you have a lot of duplicated contacts. The solution above is more or less a shortcut to stimulate the “check” for all of the contacts, and Android will merge them for you seamlessly.

This issue most likely happens when you have a phone where there are no WhatsApp contacts at all. When you use WhatsApp, it will “synchronise” the contacts from your phone, and it is this action that will create WhatsApp's own contacts for all of your contacts that use WhatsApp. Pheww that is a lot of “contacts”. Since there are a large number of contacts, Android may not be able to automatically merge them all at once. This is the core of the issue. On the contrary, if you are saving a new number to your contacts, you can see the automation in action after several seconds when you hit Save.

Conclusion

So that is what is the cause and how you fix the issue. Until a change to how Contact Storage works is made or WhatsApp starts to save the contacts with the exact format from your phone storage, I think this issue may linger for a longer duration of time. Until then I guess you only have the option to use the solution provided, or use another Dialer app that provides an option to filter out accounts. I for one hope that WhatsApp would fix this issue by their side.

Thank you for reading!

Published on:

Get notified of new posts

Comments