enter image description here

I'm designing a website, which has store locator functionality. I live in Australia, which has 7 states.

Some users may not know their postcode by heart, and may find it easier to just select their state and select postcodes from a dropdown list.

Is it wise to give the user the option of selecting their state from a dropdown list, as well as the option to input their postcode, or should the user be forced to enter a postcode?

  • 4
    I find it odd that people don't know their postcode. Do you have any data to suggest that they have a problem when asked their postcode? – JohnGB Mar 19 '13 at 22:37
  • People may want a store close to somewhere they will be or often are, not necessarily their home address. – drfrogsplat Mar 20 '13 at 2:38
  • 1
    I think the answer here depends greatly on how many stores there are, how far users are likely to go, and the size of the regions "state" and "postcode". – Fresheyeball Mar 20 '13 at 5:00

The user should not be forced to enter a postcode. There are valid cases for wanting to find a nearby store but not knowing the postcode. For example:

  • I'll be honest and admit that I can never recall the postcode for my office, even though I've been working there for 3 years. If I have to give my office postcode, I have to look at my business card. Embarrassing to admit, but it's true. I very very rarely give out my office's street address, so I have no reason to remember the postcode.
  • If I'm travelling, I have no idea what postcode I'm visiting. If I'm visiting from another country, I might not even know what the valid form of that country's postcode is.
  • A couple of weeks ago, my father called me and asked me to help him find a local business. He was out, he doesn't have a smartphone, and the store that he was going to had closed and he didn't know where the next nearest location is. I didn't know which postcode he was in.

If your list of stores is long, only allowing the user to search on state would place a high cognitive load on the user to scan the list to find the store that is closest to them. In the case where I'm visiting from elsewhere, if there isn't a store in the city that I'm in, I might not know the area well enough to be able to figure out which is the closest store. Given the size of Western Australia, I'd be especially annoyed to have to open up a map application and look up each individual city or suburb to figure out which one is nearest.

I think that Target has a pretty good store locator. They have a single box wherein I can enter either my city and state, or my postcode (ZIP code, to Americans). Since Target stores might have different departments, they also allow me to optionally specify that I want a Target with a specific department. This might or might not be relevant for you; in the case of Target, it's a useful way to get meaningful results. Their store locator allows you to just enter a city, in which case it makes a guess, but they don't do a good job of showing alternate interpretations (Portland, Oregon vs Portland, Maine, for example).

enter image description here


You could just have one input field that handles city, state, or post code as is pretty common with these things.


In my experience, the easiest to use have had (or would have):

  1. State dropdown
  2. A field for post-code or suburb name, which figures out one from the other
  3. A cookie or similar to remember the last entered info (if it's something people are actually likely to use repeatedly)
  4. Some kind of IP-based geo-location to guess the info in the absence of said cookie (maybe just their state)

If the combination of #1 and #2 is ambiguous (e.g. just entering suburb of "Richmond" without a state), the next page (or ajax or whatever) offers nearest matching suggestions e.g.

  • "Richmond (VIC) 3121"
  • "Richmond (NSW) 2753"
  • "Richmond (QLD) 4740"
  • "Richmond (QLD) 4822"
  • "Richmond (SA) 5033"
  • "Richmond (TAS) 7025"

Why not ask them to select a city? You could then return the closest results to the city entered?

State and postcode are still acceptable solutions, but less user friendly. Maybe you could give them different options?


Ideally you want to be able to cater for as many users as possible, but one problem with providing too many options is that they may put in their post code and then come up with no results, and then they would be forced to do another search. My suggestion is to just provide an input that allows them to specify a location, but label is as the nearest city or postcode and return a larger set of results and let them narrow it down further. I think it would depend on the type of store and whether they have a lot of locations.


Use may use combination of two mental models. Let the users type and offer auto-complete for the possibilities AND also let them use the "search" button which should again show results in the drop-down to select from.

In the mock-up, I have purposefully avoided the use of "Search" in the label as it feels laborious (considering multiple actions required to search, spot and selecting one result) but if your control is offering this feature silently, that would do the job.

enter image description here


For your specific case (i.e. 7 states), something like this would be more attractive. Basically showing a map with a hover highlight and a selection highlight. enter image description here Furthermore since this is a store locator, the map can also include the POI for each store already, providing at a glance an overview and option to zoom to get where you need. see example here

Alternative would be to just show all the state names at once, and the same as above ( a hover & selection highlight).


download bmml source – Wireframes created with Balsamiq Mockups

However the earlier answers about combining all of them are valid, and easier to implement.


Friendlyiest solution is to only have a single 'smart' form field.

Have default text in there indicating they can enter any of those peices of information.

Then provide results to the degree of specificity of the info they entered.

  • seems like a good idea, some backup reasoning, articles and examples would be good though and could make it into an excellent answer – Toni Leigh Feb 27 '14 at 21:33

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.