Sometimes a user starts filling out a lengthy form but doesn't complete it before the session expires.

When the user returns (let's say after 2 hours), the website redirects to the login page and the user has to start over and fill out the form all over again.

Are there best practices for improving this?

2 Answers 2


The best UX would be letting the user decide if they want to pick up where they left off, or start over.

Sometimes people abandon forms on purpose, because they don't like what they've written. Other times they fully intend to complete the form, but get distracted.

When the user logs in again, you can do a few things:

  • Take them back to the form they were working on with all the fields they filled in fully intact, but make it easy to discard the form if they no longer want to fill it out;
  • Take them back to the form and ask in a modal if they'd like to keep working on it, or discard it;
  • Take them to the usual place they go after logging in, but allow them to recover a draft state of the form and keep working on it if they'd like.
  • thank you for your answer. I was thinking about showing a login popup (where the user can perform the login again), instead of redirect the user to another page. What do you think about it?
    – lorenzo
    Oct 21, 2021 at 13:06
  • I think if the idea is to log users out automatically for security purposes, you'll want to make sure that the information on the previous screen isn't visible (like in the background of a modal). But going form > login page > back to the form with the info in it would be a good solution.
    – Izquierdo
    Oct 21, 2021 at 13:36

You have a few options...

  1. Never log the user out automatically. A weak option, and absolutely impossible if you store any sensitive information.

  2. Let the user set a preferred timeout in profile settings.

  3. When the timeout is nearly up, show a big notice — preferably a modal — that says

Your session will expire in 5:00 due to inactivity.

To remain logged in, click here.

  1. Save their progress on the form as a temporary entity in the database so that it can be retrieved when they log back in. When they either submit or cancel (or after a month) remove the temporary entity.

These options are not exclusive.

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.