Fixing Registration Forms – Country Selection

Thursday, February 11 2010 - ,

A few months ago, I wrote about how to fix passwords in registration and login forms.  Now, I’m going to discuss some ideas on how to improve country selection.  This isn’t limited to registration forms, but since that’s the primary location where a website asks a user to enter a country, that’s the case I’m going to use.

How is Country Selected Now?

Right now, there are primarily two different ways that a user is prompted to enter his country.  The first is an ordinary textbox.  This provides the flexibility of allowing any country, but also causes some limitations.  First, you have no consistency of data.  For me, I could enter United States, United States of America, America (incorrect, but very common), US, USA, U.S., U.S.A., and probably some others as well.  If I were to try and use registration data on a site like this to gather a report on where my registered users live, it would be very difficult and time-consuming.  Also, with this method, you can’t use the country to set up and/or validate the rest of the form.  Knowing that the user registering is from the US vs. Spain allows me to update the other address and phone number fields on my form to reflect the standards for that data in each country.  Well, maybe not each country, but I can at least customize it for a better overall experience for my primary target countries, and leave it generic enough to support everyone else.

The second method used for selecting a country is via a standard select (dropdown box).  This is a much better solution overall, because it handles both drawbacks presented for the textbox.  However, it does present a few problems of its own. Primarily, a dropdown with over 100 items (like a list of countries would likely have) is somewhat difficult to use.  There is a lot of scrolling that needs to go on.  The primary way that websites handle this right now is by putting the primary selection at the top of the list, often selecting it by default.  However, this also causes a usability issue because it messes up the alphabetical order of things.  For example, if you make United States first, and a user needs to select United Kingdom, his first action will probably be to use the up arrow to move up until he gets to United Kingdom.  When this doesn’t work, he might try to type a “U” to take you to the countries that start with “U”.  Depending on the browser and your implementation, this could continue to cause problems because the first “U” country in your list is United States, and it is at the very top.  The user then has to manually scroll all the way down to get to where they needed to go.  Yes, most modern browsers will let you type multiple characters to get to specific items, but in this case, you would have to type “United K” to get away from that first entry.  That’s a lot more typing for a dropdown than should really be necessary.

Another problem with the method of putting your primary country (or countries) at the top of your country select box is the decision of whether or not to include said countries in the alphabetical list as well.  Many sites choose not to, so a country is not listed twice.  But if a user somehow starts scrolling in that country dropdown and wants to get to the country that is your primary selection, his first course of action is not going to be to scroll all the way to the top; he is going to scroll to where that country belongs alphabetically.  If the country isn’t there, it is going to cause a lot of confusion for this user. At this point, you’ve probably lost his registration for good.

The Right Way

First of all, the right way to handle country selection is often to not have it at all. You need to ask yourself – “what do I need country for?” The same thing holds true for all address fields actually. If your site is not an ecommerce site, or does not ship things to users in any way, you probably don’t need their address and definitely don’t need their country. Also, if you are setting up an ecommerce site, but the site will only ship to users in a single country, again there is no need to have users enter their country.  There are countless websites out there (unfortunately, even some that I have worked on) that ask for your full address for no user-centered reason whatsoever. They want that data to market to you or any other number of bogus reasons. I really wonder how many of these sites realize how many potential users they are driving away by requiring lots of data on registration that really isn’t necessary.

If it turns out that you do need country entered by your users, then here is the way that I recommend you do it:

  • Use a dropdown box with all countries, listed alphabetically.
  • When loading the dropdown box for a new registration, have the primary country for your website as the selected option.
  • Do not include a placeholder “select country” option. There is no need because everyone will have a country, and you are already using your primary country as the selection by default.
  • If a user is editing their information later, be sure to have their currently chosen country selected. I can’t count the number of times where I’ve seen this little tidbit forgotten about when reloading a form with existing data (not just countries, but any dropdown).

If you only support a limited subset of countries (e.g. you can only ship to countries in North America), then here are the changes to above that I would recommend:

  • In your dropdown, include all countries that you need to support.
  • Add an “Other” option.
    • When this option is selected:
      • Include messaging to explain that you do not currently support shipping to countries outside what is currently listed.
      • Include a textbox to let them enter their country. This can provide you with valuable information as to where you want to expand next.
    • Do not prevent the user from registering, unless the only reason for registration is to purchase something. And if this is the case, then I recommend you have country selection as the very first step in the registration process, maybe even on a separate screen. This way, you can save the user some time, and they will be happy(ish) that they didn’t spend a lot of time filling out a registration form only to learn that there was no point in doing so.

Another option I have been considering is something of a combination of the above:

  • Use a dropdown, but only include a primary subset of countries.
  • Include the “Other” option.
    • Again, make sure that a textbox appears if the user chooses “Other”, so he can enter his country directly.
  • Make sure that any countries you have in the dropdown box also have custom address forms set up, so you can collect the user’s address information in the manner that makes the most sense for their country.

I have not actively used this solution on a site yet, so I cannot speak to the usefulness. However, if 90% of your traffic is going to come from a small group of countries, then this could prove to be very user friendly. Be sure to only use this, however, if you really don’t need equal support for all countries, and you want to improve the user experience for your primary supported countries.


Hopefully, this has provided you with some ideas on how to improve your users’ experience with your registration forms, and it will help increase conversion rates. If you do change your existing system to one of the options I’ve laid out here, please come back and report on your successes (or failures, but that shouldn’t happen, right?).

Similar Posts

blog comments powered by Disqus