I have a website with a form users fill out to create an account. Following advice from this forum and other places I am asking for only the minimum required information to create an account, i.e. username, email, and password. Additionally, for the site to work correctly we need to know the country that the user lives in.

The countries are listed in a drop-down box with a default choice that says “Choose a country”. The problem is that about 1/3 of our users select the first country on the list, which is Afghanistan. Our site is very international, but I don’t believe that we have this many users from Afghanistan. What are some possible solutions?

Here’s a link to our registration form.


  • 1
    Do you really need quite this degree of detail ? Svalbard
    – PhillipW
    Jun 16, 2011 at 20:46
  • 1
  • 1
    Also off topic: its a nice example of how users entirely fail to jump through the loops they are supposed to jump through.
    – PhillipW
    Jun 17, 2011 at 16:52
  • 2
    @Whoever is trying to close this. I would agree although this questions addresses a similar topic of a couple of other questions, it is in fact unique and has some great answers that the other questions do not. Jun 17, 2011 at 17:35
  • 1
    More off topic: Your site is severely broken. It doesn't show anything with Javascript disabled (the noscript default behavior). After enabling it an error popup prevents me from closing it or doing anything else.
    – starblue
    Jun 18, 2011 at 13:30

18 Answers 18


Fun Solution: Translate the entire site into Farsi with English at the top that says "Not Afghani? Select a new Country"

Less fun solution: Put the top 5 countries that visit your site as the top 5 choices. People chose the first when they realize they will have to dig through dozens of countries.

  • 4
    +1 Great idea!. Or even if translating the entire site is too much work, translate the "Create account" button to read in the selected countries language Jun 16, 2011 at 17:10
  • 4
    Haha! I can just imagine the user panicking and switching the country back. Nice!
    – jonshariat
    Jun 16, 2011 at 17:12
  • 10
    No to your Fun solution: Do not hard-link Language and country. A user might live in Japan and still speak only German. Of course, if you want to know the language, ask about the language. Jun 17, 2011 at 22:47
  • 4
    @Paulo The fun solution is mostly a joke :)
    – jonshariat
    Jun 18, 2011 at 6:47
  • 4
    Farsi isn't an official language of Afghanistan.
    – Tim Huynh
    Feb 6, 2014 at 5:25

Put the most common countries first, as someone else already said.

Also, consider setting an initial value based on IP lookup? It won't be right all the time, but it won't go wrong as often as your current method. :-) Definitely accompany it with something like "we need your address because... and have made a guess based on your IP address".

  • I was proposing the same solution
    – ALoR
    Jun 16, 2011 at 20:01
  • +1 for repeating (!) the most common countries on top of the list and informed guesses based on IP location. Take burdens off your users wherever you can!
    – Jan
    Jun 17, 2011 at 9:03
  • 1
    @Nrgdallas, it does require careful wording of that notice, tailored to the expected user base. (You'd probably explain it differently on a web-development forum versus a photo-hosting site.) Jan 30, 2013 at 22:53
  • 1
    @Nrgdallas: telling the user that you're geolocating by IP Address is IMO not more evil than not telling that your server log contains IP address or using some Analytics service, which almost every site does.
    – Lie Ryan
    Feb 8, 2013 at 14:37
  • 1
    @Nrgdallas: Which is more evil though? I believe websites should respect a user's decision to not to want to be tracked, and that means to say straight that you're tracking their location, that means turning them away at the front door when it does not suit their comfort zone, instead of letting them in, snoop on their back, legally covered by a small print in a privacy policy hidden in unintelligible language (and then getting found out for it). Which is more evil?
    – Lie Ryan
    Feb 13, 2013 at 2:46

I would guess that users can't see why you require the country and so are picking the first one in the list just to get through the form.

Perhaps you need to explain why you need this a bit more clearly. I notice you have:

Please tell us where you live so we can show you books that are available to you

at the bottom of the form, but this could be easy to miss.

Perhaps you should reverse the form and start with that statement but in a slightly bigger font and perhaps expanded a little bit. Then have the country drop down and finally the other sign up information.

Another thought - do people have to sign up to find out about what the site is about? If they're not sure whether they want the service or not they could be selecting the first item on the list just to get further into the site to check it out in more detail.

So how about removing the requirement for selecting a country up front and only ask when you absolutely have to. You need to know the country before you can present a list of books so wait until they ask for this list before asking for the county. Then there'll be the immediate connection to show why you need this information.

  • 4
    +1, why would give you information that I don't think you need? Jun 16, 2011 at 22:16

Your users are sending you a clear message: they don't want to tell their country at this point in the process (the control is straightforward and other users do specify their country, so I don't think they select Afghanistan by accident). You'll either have to convince them to tell it anyway, or listen to them.

Looking at your website, I can think of several reasons why someone wouldn't tell their country. You only have 31 books available in total. And you just want to show me a subset, why not just show me all? My location is private information. I'm not willing to give it to you until I trust you a bit more (after looking around first). Maybe I just want to participate in the forums, or look around a bit first.

My guess is that your form design isn't the main problem here. You'll have to look at the whole process, and identify when in your user's mind (not yours) it really makes sense to ask for a country. Either postpone registration until your visitors are ready to participate in a book exchange and use the search parameters they've chosen (lazy registration pattern), or postpone account completion to when they want you to "show you books that are available to you" (scenario: user after logging in chooses "show available books", then prompt "please tell where you live").


I would venture to say most people are choosing "Afghanistan" not because they're choosing it but because you default it to "Afghanistan" and the placement of the "Country" dropdown is separated from the rest of the form. And it honestly doesn't grab the user's attention (at least it didn't grab mine). So people may just be submitting the form without ever even interacting with that field because they don't see it.

  • 2
    Full ack: +1. I only spotted the field because I wend looking for it due to your question.
    – André
    Feb 8, 2013 at 8:36

1/3 of your users are picking Afghanistan - that's a clear message as Marielle says. They don't want to tell you where the live. I suspect partly given the very long list, they can't be bothered to find their country in the list.

Or maybe the people accessing the registration form are not real people but automated webcrawlers or botnets which will be simply picking the first item in the list. Do you know if 1/3 of real people are choosing Afghanistan?

The good thing is - with an unlikely country like Afghanistan at the top - it's highlighted the problem - if you had USA or UK at the top (say), then you might find this more believable and never even have questioned the issue, but the reality might still have been that 1/3 of people are still clicking the first option even though it might not be true. Thus simply moving popular countries to the top will not really allow you to determine if the data is 'correct'.

I'd definitely look into automatically determining the country based on IP address - there should be plenty of lookup tools to do this depending on your code - (google: javascript jquery determine country from ip address) and then give the user the option to correct the fact if necessary.

Real users will be much more inclined when told the wrong thing, to correct it, as compared to deliberately choosing a lazy incorrect option in the first place. And if by automating the first guess you get it even 70% right, you're better off than you are now with 33% being 'from Afghanistan'.

The less users have to think, the better.


just my two cents: make it an auto-complete field – so a user types "Gr" and gets "Great Britain" and "Greece" offered etc. .

This might be a challenge though, because you might have to offer alternative country names like "USA" and "United States of America" etc.


I would suggest reading the http accept_languages header and use that as the default option for the user. English speaking US users will more then likely have en-US in the header.


2 character iso country codes http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2


Why not auto detect the country based on their IP address. They can always change it if it is not right.

Check out this question on the best approach for language selection; Choose Your Country: Best Usability approach.

  • as stated above, data mining location via IP can cause some users to feel that you have taken information you shouldn't have - people are paranoid about any personal information (even as vague as country) being used without being expressly given (despite the fact that google does it every day, all day)
    – Nrgdallas
    Jan 30, 2013 at 22:52

Internet is anonymous place, so every normal site must respect the privacy of its users and should not ask for information, the user is not willing to provide. Any attempt to force the user, leads to users trying to "hack the system". I would suggest following:

  1. Respect the user freedom - ask for the country in free text field (instead of fixed list) and make it not mandatory.

  2. If you really, really want to have a country information - try to explain your point of view, but don't force the user (or you will end with all users from Afghanistan).

  3. Auto-detection of the country will cause in the user only "I am tracked" feeling and will make him to not visit your site anymore. (Or will cause high level of annoyance if he is forced for some reason to visit your site).

  4. Provide decent fallback for the users that don't want to share their location - make the language changeable on the fly. Make the options dependent to the country (such as currency) user selectable. It is OK to remove some features of the site for the users that don't want to share their country, but be careful to keep these features at minimum.

  • 2
    You make some valid points, but it's a little heavy on the assumptions ("any attempt to force the user leads to users trying to hack the system..." and "I am tracked feeling will make him not visit your site anymore...") This isn't the case for everyone - is likely to be a smaller percentage of people who feel like that.
    – JonW
    Feb 8, 2013 at 10:35
  • 1
    @JonW: Well, "not visit anymore" is sometimes hard to be achieved if the user needs this site for some reason. But the annoyance remains and later, if such user discover other site, that treats him not so "we want to know everything about you", he probably will move there.
    – johnfound
    Feb 8, 2013 at 11:06

The quickest solution would be to make the first value of the select "Please select your country" and show an error message if it isn't selected when submitting the form.

I'd also think that it doesn't matter which country I choose - I'll be lazy and just let you think I'm from Afghanistan. If there's no value selected by default, most users will select their country.

Of course you could guess based on the IP adress, but I don't think it's absolutely mandatory in this case. If you clearly state a reason why you need this information, it's perfectly fine in my opinion.

  • 1
    How does your first suggestion help? They'll just take the first one on the list as they do now; inserting "please select" as an option doesn't change that. Feb 8, 2013 at 17:01
  • 1
    This is trivial to implement and would help considerably (if not completely solve the problem). More upvotes! Feb 10, 2013 at 0:12
  • 1
    Monica, any data to support that? I'd hypothesize the opposite--once they are forced to go through the effort of opening the dropdown and choosing an option, they'll spend the time to at least find the correct one. Only testing will tell for sure. Feb 10, 2013 at 0:14
  • @SamPierceLolla, I based that on this from the question: The countries are listed in a drop-down box with a default choice that says "Choose a country". The problem is that about 1/3 of our users select the first country on the list which is Afghanistan." We could as easily ask how this answerer knows that, once forced into the drop-down, people will actually choose the correct answer, by the way. Feb 10, 2013 at 2:54
  • 1
    You're right Monica, the question is clear--I apologize! However, the original poster links to a form where there is no default option and Afganistan is already selected (hence my confusion). Feb 10, 2013 at 17:31

The problem is that Afghanistan is the default, start with a blank default.
Show a world map and allow the user to select the country by clicking on it. This looks like a more interesting challenge than selecting in a long dropdown.


Easy. Because Afghanistan is the default choice in your form. I went to your form. And I found it with Afghanistan selected. If I were registering on your site without caring much about it, I would probably leave the Afghanistan choice, although I am not in Asia.

Are you sure you need the country ? Why not making this choice optional ? Are you sure you have put in the list all the countries the users may be in ? Have you put South Sudan ? Have you put Palestine ? Do you think a user from an “unrecognized” country, say Western Sahara, will be OK to choose Morocco because you forgot to include this user's country in your list ? Have you thought of putting the choice “Other” ? What if I am in French Guiana ? In your list, there are French Guiana and France, but I cannot choose both. In your list, you have many errors like this. You have two Iran, four Korea.

All geopolitics questions of the world don't fall on your shoulders. But if you make a country choice mandatory, you have to deal with them. If this choice is optional, it is less of a problem.

The sentence “Please tell us where you live so we can show you books that are available to you” makes me think of another problem. Many Web sites ask for the user's country although they don't need it. When I am quickly overcoming a registration barrier on a site, I often put a phoney country in this case. Worse : some Web sites, like Google and YouTube, use the country to make the user feel “at home” — so they think —, and filter content to show only the content “for” the country. On the World Wide Web, this practice is very bad. This is even contrary to the Web standard invented by Tim Berners-Lee. A URL gives a resource, and the resource is not supposed to be tweaked depending on where the request comes from. Your book sentence may mean you intend to do that. When confronted to a site doing that, users remove their trust, and they cheat. Don't forget that a user in Belgium may be interested in books available in France. Most people don't live in a bubble.

If you want to encourage your users to fill in the country choice, I have a suggestion for you. Ask them to pin their location on a world map. Some sites do that now. This is fun, and has more user engagement that a long country list.


I think most of these have already been mentioned but:

Explain to the users why putting the country is important. This could be done in a variety of ways.

Also if you think you have certain countries have more users that visit your site, duplicate them and put them at the top of the list?

When the users gets their search results make it clear that they have been based on their location and allow them to change it.


How about putting it right after user name, or first in the list? It would be very hard to miss there, since it would be in the flow of "typical" information that they would expect to be filling out, and it would definitely catch their attention, before they are sick of filling out the rest of the form.

  • Maybe, except I don't think the problem is that they are missing the field. The default value is blank so they have to pick a country. Perhaps moving the field to the top of the form would help though...
    – user27478
    Jun 16, 2011 at 16:33

I strongly support the answer of @Roger Attrill.

Why not locate the user's country automatically according to his or her IP address? Make that country the default, so when the automatic process misses (due to proxies and such), the user can correct that.

By automating this process, we side-step this problem all together. Instead of puzzling over how to get people to input information, we should care more about the necessity of asking for it in the first place.

Just note that Google Search doesn't let you choose your country (I'm telling you as a user from Israel). When it detects your country, it automatically directs you to the country's designated search page. The only choice is reverting back to the general Google.com site.

  • Which is the bigger barrier: making users select a country, or making users figure out how to correct it when you guessed wrong? I wasn't exactly thrilled recently when, for who-knows-what reason, a site assumed I was German and adjusted the language accordingly... it was kinda hard to find and fix the relevant setting in a language I don't read. (OP isn't talking about changing language based on location, but others do.) Making a guess is fine (I suggested that in my answer), but only if the user then confirms it. Feb 8, 2013 at 16:56

I have a better alternative. Probably you can have a right column to the current signup form where you can put "Signup using FACEBOOK, GOOGLE, LINKEDIN, or TWITTER".


  1. Users hate filling forms so most of the user will go for this option
  2. You can get person's location information from this directly
  3. Easy to embed in the website without any extra cost

You can detect pretty easily "where in the world" your user has come from automatically down to a country level using back-end code such as PHP from their IP.

Once you have detected where they have originated from; you can auto populate a field with their country.

Finally, provide a textual link "change" next to the selection so that the user can manually select their country of origin from a drop down menu.

Sometimes UX is not about the interface but thinking about the implementation!

A form using the country auto-detect approach

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.