We have an eCommerce website that takes credit card payments, everything is fine, however sometimes a user enters their details, gets approved and moves on to the Complete page - they then hit back and hit Submit AGAIN (they get a duplicate transaction error of course), but my question is - What is the best way to discourage this behavior?

My initial thoughts are

  • Grey the button out and add auxiliary text or change the button text - to "Processing..."

  • Add an "Intermediate" page that shows the text "Processing" with an ajax spinner and some additional text discouraging hitting back or closing

Is there a best practice for this schenario?

  • You may have to insist user further by showing a graphical-image scaring him what may happen if he goes "Back". The image has to match with the theme of your website. You can also use the "amount-payable-stats" to persuade further that he may lose it. Do not overdo it because you may give him a opinion that he losing money like "This transaction burns a hole in my pocket" Use the persuasion-emotion-trust at right ratio. Jul 25, 2014 at 4:19

3 Answers 3


You should ask yourself (or better: the user) why they're hitting the back button. They could

  1. be either confused and may not be sure that the transaction went through
  2. or they don't know what to do now

  3. or they hit the button by accident

1) can be solved by clearer messages

2) by giving the user new possibilities to draw their attention to (interesting related articles, reviews, etc.)

3) if it isn't the browser's back button we're talking about then you could try to move it to a different place on the page.

However, as said, the most important part to answer first is: why are they clicking the back button?


It sounds to me like the issue you are trying to solve for is users clicking a submit button on a transaction that has already been submitted. Rather than trying to find a way to prevent the user from clicking the Back button to get back to the submission screen, I would try and modify the submission screen to show that the transaction has already been submitted.

It's good that you have server-side validation to prevent the duplicate transaction, but maybe you should also add client-side validation to disable the submit button if it won't do any good to click it.


Some quick thoughts to look for "WHY" before making a solution:

  1. Something may be also wrong with implementation. Sending card details twice should not be allowed. If you are using credit card payments you may simply solve this issue by making a small delay between card authorization and card capture (more in this article). In many cases few minutes may make big change in business processes.
  2. Your confirmation form is missing some important detail.
  3. Your checkout process is not designed according to design patterns. In matter of checkout process and best practises it is a lot to find on Baymard.

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.