I am working on an "on the fly" create new contact form for when a user is creating an order, but wants to create a new contact while on the order form page.

The issue here is if a user enters an email address that is already entered in their address book. Our system sends out invoices automatically via the contacts email so we can not have duplicate emails. I have two primary actions in question.

• Rather than having an "edit existing contact" AND a "choose this contact instead" I figured the user can just "edit" the contact and then save as the desired contact.

• IF the user decides to delete the old contact, I wanted to avoid a popup within a popup but felt a confirmation is needed, so Im hoping for a state change with the buttons switched around to avoid a "double click" and the user permanently deleting by mistake.

Please let me know if you see any gaps, or better ways to handle these.

enter image description here

  • Frame challenge: why shouldn't more than one person share an email address? Commented Oct 23, 2023 at 18:29
  • There is a couple of reasons but the primary one is we have automated systems in place to auto invoice/send documents to the contacts on an order. Multiple contacts with the same email would create confusion. Devs rebuttal is email is the parent to the contact since its a 1-1 entity, where names can be common/duplicated. All other info lives as a child. Commented Oct 24, 2023 at 15:43
  • My point is that that relationship is not so (or at least, cannot be guaranteed). A company could have several people ordering but only one invoice email address. I myself have been in a position where I and someone else could act jointly or individually, each with the same authority and could each act for the other. We shared an email address because either of us could deal with anything sent there. Commented Oct 24, 2023 at 16:57

1 Answer 1


welcome to UX.SE!

With regards to your question, I see a problem. Users may not always be aware of whether an email address is in use and, if so, for what purposes. This is a common scenario; for instance, I personally manage multiple accounts on various platforms, such as 5 or 6 Cloudflare accounts, numerous SiteGround accounts, several Git accounts, multiple Trello accounts, and probably more than 50 Google Analytics accounts. The reason behind this complexity is that our clients grant us access to these services with different sets of credentials, sometimes using their own credentials. Consequently, I often find myself switching between accounts to determine which one serves as the admin for my OWN accounts on these platforms.

Why do I explain you this? Because it's very possible that your users may find themselves in the same position. So they may delete an account which actually is used without them knowing for sure.

With this in mind, I'd do what I consider teh most common user flow: tell the user that email is already registered, then offer to login or create a new account.


If login --> merge new data for the service into teh existing account

If new account --> display registration form anew

Bottom line is: do never allow user to perform a destructive action in a checkout flow. Checkout flows come with a extreme friction and cognitive load, offering users to perform sensitive operations will end in a lot of errors or a lot of cart abandonment.

  • hey thanks for the feedback. I think there might be some confusion though. This would be great if they were using these emails to log in, however this is simply for an address book within a users account and doesn't have anything to do with login. We simply cant have duplicate emails within an address book due to sending automated invoices/documents out to a users customer which is attached to an order within a users account. It's ok if the email is added twice in the system under a different accounts as two separate users might have the same customer. Commented Oct 24, 2023 at 15:37
  • got it. Either way, the princicple is the same, and users still may not be aware of the consequences of their actions. That's why you'll never find a user flow where people can edit their info unless the process is strictly designed for that, and there will always be some kind of security measures. Editing on the fly is a huge security concern. Someone could go on, sign with an email he knows and then change all info as he wish. Imagine the consequences.
    – Devin
    Commented Oct 24, 2023 at 15:53

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.