Using address finders in web forms
Posted March 17th, 2009 by David HamillNobody likes filling out web forms, so a good form is one that can be completed quickly and easily. One feature that helps people do this, is the address finder that pre-populates the address fields using a postcode. If you do it well, adding an address finder will improve the user experience of your forms.
Positioning and appearance
Your ‘Find Address’ button will be overlooked if you don’t position it well and give it a prominent appearance. To start with, don’t put the button to the right-hand-side of the postcode field.
When we’re completing forms, most of our attention is devoted to the top or left-hand-side of form fields. We scan between the form field and the label. So we often don’t see things that are placed to the right of the form field. The example below shows a web form that makes this mistake.

Another problem with this example is that the button itself doesn’t really stand out. I’d have reversed these colours so that the background was purple and the text white.
Here’s another example below.

This one doesn’t even use a button (buttons are good for indicating an action) so it’s even more likely to be overlooked than the first example.
The previous examples are missed opportunities to help the user. The next example from Travelodge Hotels is likely to just antagonise them. Check it out below.

Loads of people will see this button and think “Oh great, now you tell me”. They’ll have entered their address already. So the button actually harms the user experience. There’s a whole world of validation pain that follows this bit, but I won’t go into that.
An example of good positioning
I don’t like to moan on too long about what you shouldn’t do, so here’s a good example. It’s from the John Lewis website.

The postcode field is the last input field on this form and the ‘Find address’ button is immediately below it. The ‘Find address’ button is essentially the ‘Continue’ button. I like this approach for its simplicity. There are no fields to potentially distract the user and the button is nicely aligned with the postcode field.
Assist, don’t enforce
Imagine you’re in a furniture store buying a new bed. You tell the sales assistant your address so the bed can be delivered and he says “Sorry that’s not a valid address, choose one from this list”. It wouldn’t happen, would it? So why do websites do this?
I know my address better than a stupid database. I mean, I live there for pete’s sake.
Your address look-up should exist to help users, not shackle them. Lots of people have problems receiving deliveries when they use the standard address provided in these address finders. So they need to change the address a little.
Allow some flexibility when providing an address lookup . There are 2 main ways of doing this:
- Don’t use the look-up to populate the house name/number
- Provide a list of addresses for the user to select from, but also provide a ‘my address isn’t here’ option
Which ever you use, make sure the address can be manually amended.
Also be careful about how you validate the form. Only exclude characters you know for a fact do not appear in any addresses. It’s best not to bother. If you’ve prepopulated most of it, there is little need to validate the fields again.
But I’m protecting data quality
You might argue that by enforcing the use of your address database, your form is guaranteeing that valid data has been entered.
But this is a purely programmatic view of valid data. Your data doesn’t validate because it agrees with your address database. Instead it truly validates when your customer receives their delivery without hassle.
There’s little benefit of the data validating with your database when doing so dooms the delivery to failure.
An example of the wrong approach
I was once trying to buy insurance from an old client of mine. I entered my postcode, chose my address from the list and hit the ‘continue’ button. The form validation barked at me to provide a valid address, despite having put the address in itself.
The address was correct. But, the full stop in ‘St.’ (to respresent the word saint) was not accepted by the validation. I couldn’t change the wording manually because the form didn’t let me edit the address fields. Needless to say I left and bought my insurance elsewhere.
I wanted to see the extent of the problem on my clients business. So I went to Streetmap and did a search for all of the streets in the UK with the word Saint abbreviated as ‘St.’ in them. Either Streetmap or my computer couldn’t handle the results and my browser crashed. By this time, well over 1000 results had been returned. That’s a lot of people who can’t buy insurance from your company.
Enjoy this post?
If you enjoyed this post you might also want to read:
You can also subscribe to me RSS feed if you haven’t already.
Tags: forms



17 Responses to “Using address finders in web forms”
March 17th, 2009 at 9:52 am
You said: ‘Imagine you’re in a furniture store buying a new bed. You tell the sales assistant your address so the bed can be delivered and he says “Sorry that’s not a valid address, choose one from this listâ€. It wouldn’t happen, would it? So why do websites do this?’
Funnily enough this did happen at the bath Store for me the other day. Took the assistant about five minutes to work out that the postcode finder had marked our old flat as a house and thus wouldn’t let the credit check continue.
As a power-user, I really dislike these postcode address lookups – they seem to take extra time, sometimes miss out parts of my address and seemingly only exist to make sure addresses are submitted in uppercase.
March 17th, 2009 at 9:58 am
Thanks for commenting Phil. Did the person at the bathstore say “Computer says no”? That’s an interesting point about it being eaiser to just type the address in. I was beginning to think the same when I looked at a few websites for this post. I’d be interested to find out (and I’m going to try) how much info credit checkers actually use for these address checks. I have a feeling it’s just house number, name and postcode.
March 17th, 2009 at 10:09 am
Hi David
Great article with excellent guidelines. I’ll be quoting this one in future.
Best
Caroline Jarrett
“Forms that work: Designing web forms for usability“
March 17th, 2009 at 10:23 am
Hi Caroline, thanks for the comment. Your book is on my list but, I’m ashamed to say I haven’t read it yet. I’ve added another wee link to it in your comment.
March 17th, 2009 at 1:11 pm
A really useful article. Lots of common sense, not least the point that the data really validates when the customer receives their delivery without hassle, a point often overlooked. It’s all about the experience.
Just tweeted it for our students’ benefit.
March 17th, 2009 at 3:50 pm
The person at the Bathstore put up with more than one ‘computer says no’ moment before the system eventually recognised our (old) address and found a seemingly lost credit agreement.
I’m a huge fan of Google Toolbar’s Autofill option, whenever I can, I try to design forms so the labels, or elements match Autofill’s naming conventions and it drives me insane when other developers don’t do this but I do wonder how many people use/even know about Google Toolbar let alone the Autofill feature.
March 20th, 2009 at 3:59 pm
Great article, David.
I have two complaints about address look-up based on postal code.
1) Not sure how it works in the UK, but in Canada, you can share a postal code with dozens of other people… definitely important to allow users to both input the street number manually and also edit any information that is autofilled.
2) Systems like this are dependent on having up-to-date information. I recently had an experience like your furniture store example. Moved across the country into a condo that is a couple of years old. Tried to sign up online to have my mail forwarded from my old address to my new one. Now, keep in mind that this is the *post office* that I’m dealing with. My new postal code did not exist in their database, and that was the only way I could set up mail forwarding online. I eventually had to get on the phone to fix it.
The same thing happened when I tried to sign up for cable/phone/internet online. Since I assume most vendors would get their postal code data from the post office, my new one also wasn’t available to the cable company. So I signed up using the postal code for the building next door… I think it’s still wrong on my bill.
In both of these cases, I didn’t have any options for changing vendors, but if I did I definitely would have closed that browser window right away!
Cheers,
Ian
March 25th, 2009 at 6:55 pm
[...] I can rant about. A shame. Instead just a very detailed and functional analysis of web forms and how to build them to properly. There isn’t a lot to say here other than that he is right [...]
April 6th, 2009 at 5:10 pm
I like this idea. I have always been frustrated at the prevalence of dropdowns for U.S states in web forms. It is much quicker to let the user type the two letter postal abbreviation. Using the zip code to populate most of the address seems even better.
April 13th, 2009 at 3:55 pm
Is there a way to do postcode lookups without having to pay Royal Mail 5000 quid a year? Or whatever they are over-charging these days.
April 13th, 2009 at 5:31 pm
I’m not sure John. Thankfully I don’t get involved in sourcing such things.
May 20th, 2009 at 8:32 am
Great article. I’ve been looking for examples of how to do postcode validation well and you’ve done the hard work! Thanks
June 11th, 2009 at 6:03 pm
[...] Using address finders in web forms – this is about address fields in registration processes rather than login. But it was interesting, so I included it here! [...]
October 1st, 2009 at 1:58 pm
Hi David – nice article.
You’re absolutely right – validating address fields to make sure they only contain allowed characters can cause a lot of problems for users, unless it’s done very carefully.
Unfortunately, it isn’t always genuine users who will try to submit data through your form – validating user input against an allowed white-list of characters helps to prevent many security exploits – which is the reason that so many websites do this.
To do this well requires some thoughtful coding – for instance, you will need to allow for accented letters if you want to accept orders from mainland Europe, exclamation marks for people who live in Westward Ho! and curly quotes for people who like to cut-and-paste text from Microsoft Word (yes, people do this, and more often than you might think).
It’s easy to forget about scenarios such as these, which is where the problems arise.
December 7th, 2009 at 10:08 pm
I have recently moved into a brand new house, and my address isnt in any address finders, how can i add my address to these ?
Thanks
February 24th, 2010 at 9:15 pm
So, here’s some whinges from a user’s perspective.
Try looking up a postcode on the Royal Mail’s own postcode finder. Try looking for something which doesn’t fit their pattern. I was looking for the postcode of an address in a smallish village called Crawcrook. I spent ages putting in all sorts of variants of Crawcrook, Ryton and Gateshead into the form, since the form wanted me to enter the “town” in the “town” field – but I wasn’t looking for an address in a town.
Eventually I discovered (after doing a reverse lookup from the other database, using a known nearby postcode to generate an acceptable address) that the Royal Mail didn’t want to include the name of the village at all. Put in “Crawcrook” in any line in the finder, in any combination, and the form will tell you “no can do.”
Couldn’t someone arrange it so that the db software could go through the information in the form to locate a recognised town, and then go from there? This is the Royal Mail we’re taking about after all, not a student end-of-year project.
US forms are as bad – they always want you to enter “City” in the city field – which is tough if you live in, say Hexham – a good-sized market town, with an NE postcode, but miles from Newcastle, which certainly does not appear in Hexham postal addresses. And as for US forms which won’t let you proceed until you’ve told them which US state you live in …
Mind you there was one such form which wanted a state, but didn’t validate the results. I tried but failed to leave it empty, and eventually settled for “Very Cross”, which described the state I was in.
The other thing which is irritating me just at the moment (and the reason Google led me here) is that I am trying to locate a particular postcode database – I just don’t know which one.
Most of the usual web lookup forms are based on the Royal Mail database, and seem to give the right results. However, there are a significant number of web forms, and some used by call centre staff) which have a wrong entry for my address.
They list us as “9 Oak Way”, where it should be “9 Pilgrim’s Court, Oak Way.” (Actual address different for obvious reasons). Unfortunately there IS a “9 Oak Way” as well, which leads to problems with deliveries. I suspect that there’s one postcode database out there which has the wrong information in it.
I would like to get hold of the people who sell and (presumably) update that database and get them to correct it. Finding out who it is, however, is not easy. Just imagine ringing a company,
“Hello, you’re talking to Fubra, my name is Sandi, can I help you?”
“Hello, you got me address wrong on your web form, and …”
“Can I have your customer number please?”
“I’m not a customer, I would like to speak to your IT department.”
“I’m sorry, I can’t put you through to other departments, would you like to explain the problem.”
“You’ve got my address wrong – and I don’t care about this with you, but I want to know which company supplies your postcode lookup database.”
“Could I have your customer number please?”
And that’s assuming you’ve someone trying to help in Walsall, not someone following a script in Mumbai.
Okay, whinge over. The moral of the story is that maintaining database accuracy means having your sales staff able to pass a problem on to you, not just try (and fail) to correct the screen in front of them.
February 24th, 2010 at 10:35 pm
Hi Philippa, wow that was about as long as the original article. I hope it feels better now you’ve managed to get it off your chest.
Comment on this article