I'm working on an online registration system for my company that allows our customers to register for events.

Once the customer has selected their seats and signed in, we "reserve" the seats, preventing the section from be oversold, but we'll only hold them for about 10 minutes. Think of websites like TicketMaster, where they give you a few minutes to complete the purchase process before they make your tickets available for sale again.

I know that TicketMaster displays a timer to their customers, but I've got two options:

  • Have the count-down happen silently, and at the end of the 10 minutes display the pop-up message
  • Display the count-down timer so that the user is aware of the time limit

So my question is, which option should I choose? I have to have a 10-minute limit, and I think that the count down timer may encourage customers to complete the process faster, but is it being too pushy?

Just to be clear, here's an example of a count-down timer:

Count Down Timer


Have the count-down happen silently, and at the end of the 10 minutes display the pop-up message

I don't think users will like getting a surprise like this. It's akin to rubbing salt into the wounds. "Another user just bought your tickets. Loser."

Display the count-down timer so that the user is aware of the time limit

I recommend doing this. You want the experience to be positive, and for the user to feel like they have control over what happens. So make the ten minute threshold as transparent as possible, and actively help your users avoid making a mistake.

I think that the count down timer may encourage customers to complete the process faster

I'd state this more simply - it's helping them to complete the process. Period.

  • 3
    I agree, display the countdown timer. I would suggest having the actual timeout be a second or three after the timer shows that time is up. I also suggest not relying on JavaScript pop-ups for messaging. Jun 3 '11 at 18:54
  • 2
    @Dave +1. In fact, I would make it more like 15-30 seconds, allowing for network latency and courtesy. (It's my own fault if I don't get to the bus stop on time, but if I'm almost there as the door's closing I still expect the driver to wait. :-) ) Jun 4 '11 at 15:57

IMHO, displaying the counter is either frustrating and annoying and might cause mistakes ("damn, I have a time limit, I better hurry up..."), or meaningless - in case users fails to notice it just because it's always there. It took me a second or two to locate it.

I would display the timer in the last 2-3 minutes. This way most users won't even be aware that there was a timer behind the scenes, but the ones who do require it won't get it as a surprise telling them that they had failed. And for those who can't make it on time with the three minutes left them, I'd put some kind of a snooze button that lets the user reserve another minute or two.

  • 2
    +1 snooze button - definitely allow the user to increase the timeout
    – Jon Cram
    Jun 3 '11 at 22:42
  • 1
    Love this answer. One suggestion: Display the number of minutes only until the 2-3 minute mark is hit. Then start counting down seconds and add the snooze button. Jun 4 '11 at 15:46

You have at least one other option, which is to not display a timer and to not show a message about timeout, unless the user resumes/continues after the timeout. Airline sites typically do this, and I prefer it. What choice you make depends on your audience and your objectives. Less net-savvy older people find comparing options and making bookings online stressful - and you want to reduce their stress. Younger net-savvy users enjoy more game-like interfaces. The dynamics of your ticket sales also comes into it. A timer is more appropriate when the tickets are sold over a short period. Airline tickets may sell months in advance.

The particular circumstances of your ticket sales matter a great deal.

More Detail

You're getting a wide range of opinions here. Mine is contrary to the general trend.

What is your objective:

  • To avoid seats being 'reserved' but not bought?
  • To frighten the user into buying the tickets quickly?

I've used airline ticket booking sites which tell you you've timed out if you take a long time. They tell you when you next click on something. They don't show a timeout timer at all. They don't warn that you need to be reasonably prompt. It just happens if you continue after too long a delay.

They are quite good about keeping other details like address and name, so it is not a major hassle to rebook, and that's important whatever tack you take.

Decide exactly what your objective is.

There is no must about showing a timer - and there are definite drawbacks.

Some Drawbacks to Showing a Timer

Some users will resent the timer. Also, do you want a longer timer for events that are not going to sell out? Someone might 'book' but then want to check with a colleague whether they want to come too, and only complete the booking more than ten minutes later. If you want to allow longer than ten minutes for a non sell out event, you probably don't want to advertise what is and isn't expected to be a sell out by showing the timer.

Timer More Work than it Looks

You probably have this already in hand, but the timeout needs to be handled on the server, not (only) the web page. Otherwise your competition can 'block book' everything and not pay anything. If you want to cater for no javascript enabled, you have to have a version that works without showing a timer too.

  • 1
    I'm not sure that my objective is either of two things. The simple fact is that I can't hold the seats for them without a purchase forever; they have 10 minutes to complete the purchase - but that's not what this question is about. The objective of this question is about how that time limit should be communicated - I want to help the customer as much as possible, I'm just afraid that a timer might come across as pushy.
    – Ryan
    Jun 4 '11 at 3:05

I guess it all depends on what your company does. If it is anything as important as reserving seats to a concert, you should definitely display the time remaining. If someone was purchasing tickets for a concert and were unaware of their time constraint, I bet they would be very upset if they lost their opportunity because of lack of disclosure.


Another option is to display "this session will expire at $time". A static display is less intrusive than something that keeps updating, but still provides the information. (You could optionally add something like "this page loaded at $time", to mitigate problems caused by clock skew.)


I'd show the timer but indicate the rationale for the timer. For example, "we can guarantee this reservation only for the next ten minutes". Ideally, if you could give people a way to indicate that they need a bit more time and extend the timer say once per reservation, that would alleviate the feeling of pressure without holding up the reserved item for no good reason.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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