After eons of building on top of legacy systems, my company backed itself into the proverbial corner.

We are in the unique position where multiple user accounts can share one email. This is fine, for sign-in purposes because they have multiple ways (read: username/unique id/etc) of signing onto their account. This has worked up until now. We would like to allow people to sign in with their emails as well, but this would require the email to be unique.

The unfortunate scenario is that the best solution/workflow is to ask the user to choose a new unique email to be used for logging in. Which kind of feels like saying "We can't let you use your original email, you'll have to choose a new one, but the duplicate account will be able to use it because as soon as you change your email, then it's technically unique." This, to me, doesn't seem particularly fair, or indicative of good UX.

So the natural thought process is then to make a first come, first serve system, where the first person can lay claim to the email, and the duplicate account will have to choose a new one. The unfortunate scenario here is that we send billing information to these emails, and we can't have an account be email-less until they change it manually.

Does anyone have a better idea than the two listed above in regards to user experience?

  • 10
    Can you simply disallow e-mail login for the multi-account e-mails, allowing it for everyone else? Those folks are already used to using their unique ID, so it shouldn't be hardship for them to continue doing so. And if they complain, then they can sort their accounts out. Commented Feb 7, 2020 at 14:23
  • 4
    Can you assume that the two accounts that share an email address belong to the same user? Perhaps they can log in with their email address, then get presented with "Which account would you like to view?" and be already authorized to view either. Commented Feb 7, 2020 at 14:25
  • 2
    @MichaelKohne That is certainly an avenue we've explored. I think the powers that be have their minds set on enforcing a login flow to make sure emails are unique from here on. We've also considered asking the user to update their email after they've logged in. But that conflicts with app restrictions that I'm not going to go into. The reality of the situation is that the flaws here dig deep, but its not flashy enough for most people to say "we've updated an API!" so here we are. Commented Feb 7, 2020 at 14:51
  • 3
    I can say from doing this in the past that shared emails are often couples ([email protected]) who do not have a second account and will resist signing up for one just to use your service. Be prepared for angry user comments and some abandonment. Commented Feb 7, 2020 at 15:40
  • 2
    I would think the best solution is not to have login by email. I find it quite annoying, myself. I imagine that I'm hardly the only person that has more than one email address, or who had had occasion to change addresses.
    – jamesqf
    Commented Feb 8, 2020 at 3:43

2 Answers 2

  1. Force all new users to use a unique email address.
  2. Ask users to verify their email address when they sign in (send an email with a unique link that can only be accessed by the owner of the email account).
  3. Allow merging of accounts that share verified email addresses or require one of the accounts changes email address.
  4. Only authenticate email sign-ins from verified email addresses.
  • 2
    This is good. Seems to address each scenario I throw at it. One case that may be awkward is if I've been logging in to my account with an email address that belongs to someone else (probably unlikely, but possible because they've been unverified until now). Even if that email address gets verified with a different account, my log in page still needs to tell me generically something like "if you haven't yet verified your email address, log in with your {other unique identifier}", because I shouldn't be told whether it's associated to another account or not. Commented Feb 7, 2020 at 15:09
  • For probably 99% of use cases, this is certainly the solution. And I'll accept this as the answer because I doubt anyone else looking for a solution to this same question, will have the same messed up requirements that I do. The problem with this, is that our accounts are not created digitally-first. As in, someone creates the accounts for our members in person. And they specifically are not enforced to require a unique email. Fortunately we're taking steps to mitigate this too. But for now, our web platform will just have to be fighting a losing battle. Commented Feb 7, 2020 at 16:28

we send billing information to these emails, and we can't have an account be email-less

Just keep sending bills to the "old" email addresses. Only disallow login-by-email to those accounts that don't have a "new" unique email yet.

A first come, first serve system, where [an account] can lay claim to the email

For those accounts that share an email address, don't ask their owners to be quick at laying the claim. Instead, send a message to the email address asking the recipient to choose which of their accounts they want to login with this email address. Given they already receive bills for all accounts, it shouldn't be an issue to show them the list of accounts with that email address.

  • I very much like both of these ideas. The first I doubt will work, and that's just an unfortunate limitation to the 3rd party system we use to capture accounts (that's a whole nother beast though). But I particularly like the second part of your message. Certainly something to consider. Commented Feb 9, 2020 at 4:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.