Form Empathy: Smarter Store Locator or Where To Buy Functionality for Websites

Published July 11, 2016 by Jason Ferrell

Good form design eliminates inputs and streamlines the process for the user. A great example of this can be found in the “store locator,” “dealer locator” or “where to buy” function common to many websites.

Traditional Approach

The traditional approach for finding nearby stores, dealers or retailers for a brand or product is to enter a zipcode, choose a radius in miles and the click a search button. The server responds with a list of nearby locations from which a user can choose.

A Better Approach

The problem with the standard approach is that it requires user input to get nearby location results. GeoIP technology allows us to make intelligent guesses at a user's zipcode by simply examining their IP Address.

A better approach would flow like this:

  1. The user selects a Where to Buy or Store Locator link on a website.
  2. The web server gets the users IP Address and issues a request that maps an IP Address to a zipcode. Maxmind is a service that does GeoIP lookups.
  3. Using the zipcode returned and an applicable default radius, the server gets the nearby results.
  4. Results are shown to the user.

smarter store locator or where to buy functionalityAnimated GIF showing intelligent store locator

If for some reason the zipcode returned by the GeoIP service isn't correct, the user can easily change the zip code and perform another search. It would also be wise to store the users preferred zipcode in a cookie, so server-side lookups can bypass GeoIP lookups when possible.


By taking a smarter approach to store locator type functionality, we can get information to users quicker and more efficiently. In this case, we eliminated all required inputs as a means of form empathy.