Lets say we have John Doe as an employee at a company and he has been assigned an email address of [email protected].
A year later John leaves the company and his account becomes dormant. Another year after that we hire John Door and decide to give him the email address of [email protected].
We delete the old John Doe user and create the new John Door user.
Now Jane Doe needs to send an email to John Door so she fires up her browser and opens her email account in the same G Suite organization (her email is [email protected]). She begins to enter "John" into the TO field of the email she is composing and it auto-fills with "John Doe" not "John Door".
Fast forward a few days and G Suite has synced up the Contacts Directory with individual G Suite users and most individuals now see "John Door" when they begin entering [email protected], but some users are still seeing "John Doe".
Why is this? My assumption is that the individuals still seeing the old information have a contact in their local G Suite account with information about "John Doe" and that Google doesn't overwrite this contact with information from the Contact Directory.
Am I correct? Or is there another reason someone might continue to see the old contact information associated with the email address?
The thing is the Gmail auto-complete suggestions are drawn from two databases: the Directory and the individual user's personal contacts.
The Directory is updated automatically according to changes in the Admin Console (i.e. a user account is renamed) but the personal contacts must be updated manually. I know it is tedious but the only solution is that users go into their personal contacts contacs.google.com and search for the old user, then delete it.
In your case every user that sent an email to John Doe must check the entry of "John Doe" in its personal contacts (i.e. contacs.google.com) and delete it. Once they send an email to "John Door" their personal contacts will be updated.
You pretty much figured it out yourself but I wanted to provide a more technical answer, and I hope this helps more users.
Carlos
Your guess is right. In this case Contacts Service uses a combination of personal contacts and Directory contacts (including domain shared contacts). Based on this, it returns matches first from your personal contacts and then from the domain Directory.
To sum up, if a user has a personal contact for a user with a domain profile, the name set in the personal contact supersedes that of the domain profile.
I hope this helps.