One of the most common potential areas of friction within e-commerce checkouts is problems with postcode entry. 

The trouble is, people will enter their postcodes in a number of different ways, in upper or lower case, with or without a space in the middle, or will some make common errors.

If websites are too rigid in their acceptance of postcodes and unclear in their error messages, then this can be a real source of frustration for potential customers. 

The postcode problem

I'm fairly haphazard when entering postcodes, sometimes I leave a space in the middle of the code, sometimes I don't. That's just how I roll;)

I'm sure I'm not the only one, and many sites do account for this habit, and will accept postcodes with or without a space, which is how it should be done. 

However, some don't, and entering your postcode in the 'wrong' format will trigger an error message.

I encountered this recently on Tesco Clothing. In this case I was too lazy to add the space: 


There are several problems here: 

  • The first is the fact that I have an error message. These are to be avoided at all costs. Error messages are annoying, especially if the customer hasn't really done anything wrong. 
  • Secondly, the checkout form does not specify the format I need to use. This could be indicated with a simple sentence, or by splitting into two fields so that it's clear a gap is needed. 
  • The error message in this case does nothing to address the issue. It doesn't tell me what I've done wrong, or how I can correct it. I'm left to guess the reason, which is not good enough.
  • It's possible that some users may think their postcode is incorrect, check it, re-enter and encounter the same error again. Either they'll figure it out in the end, or they'll just abandon the process. Either way, it's an unnecessary barrier for shoppers. 

It is not difficult to add or remove spaces from a postcode (or indeed a telephone number), so why blame the customer when you didn't even tell them what you wanted in the first place? 

According to Lovehoney Head of E-commerce Matthew Curry: 

It's pretty easy to code around the spacing issue. All postcodes have to have three alphanumerics after the space (whether it exists or not), so you can figure out what the outcode part of what's been entered, and correctly format the input before passing it to whatever postcode validator you have. Remember though that some new addresses may not be in the database of your postcode validator, so always provide a manual override.

What should retailers do? 

The rule here is to let customers type in what they want and then use your e-commerce system to process it into a different format if necessary.

If the customer does make an error during checkout it must be made clear that an error has been detected and secondly, the location of the error on the form must be highlighted and the nature of the error indicated.

Other postcode issues

This is not the only potential problem with postcode entry, though it is perhaps the most common, and also easiest to fix. 

There are other possible issues around customers entering the letter 'O' when a zero was required, the number 1 instead of the letter 'i' or shifted characters (i.e. £ instead of 3, $ rather than 4). 

All of these issues can potentially produce error messages, and in many cases customers may be unaware of their mistake. This frustration, often compounded by unclear error messages such as Tesco's, can cause customers to abandon purchases.

For example, on Argos, if I type the letter O rather than a zero, it generates an error message. This happens with or without a space in the postcode. 

Argos is the second biggest online retailer in the UK, so I wonder how many customers may be abandoning due to this common error. 

These may seem small issues, but it can make a big difference to your sales. With the O/zero issue, Belron's Craig Sullivan realised this was was causing 2.5% of customers to abandon and changed the checkout forms to anticipate this input error. 

It's a simple and elegant fix which avoids blaming the customer and makes the checkout process that little bit smoother. 

Avoid the dreaded error message

The main point here is to avoid error messages as much as possible. Users will enter information in different ways, and will make mistakes. 

Many of these errors, like the ones described above, are common and easy to anticipate. By accounting for these mistakes, e-commerce sites can avoid the user frustration that my cause abandonment

Of course, customers will still find ways to make errors however much you account for them. In this case, make sure your error messaging is a)polite and b)instructive. 

This one (since removed) is instructive at least, but fails on point a. (HT:@danbarker):

The fewer error messages people see during the checkout process, the more likely it is that they will complete the purchase. 

Graham Charlton

Published 3 July, 2012 by Graham Charlton

Graham Charlton is editor in chief at SaleCycle, and former editor at Econsultancy. Follow him on Twitter or connect via Linkedin.

2566 more posts from this author

You might be interested in

Comments (14)

Save or Cancel

Mark Eddison

Great post and something that's been pointed out so many times that it's surprising to still see these issue's.

Of course there is the other issue with postcode entry; using postcode lookups to get the address, which is great, and then forcing your customer to use the lookup and not allowing for manual address entry. Very wasteful and frustrating when new addresses may not be in the results.

Notice you highlight Tesco within your example and my last experience was they had one of the worst checkout process' seen in a long time but I completed anyway because I wanted what I ordered - acceptance by attrition.

about 6 years ago

Graham Charlton

Graham Charlton, Editor in Chief at SaleCycle

Thanks Mark. I agree about the manual option.

I highlighted this issue, but the Tesco checkout in general was very annoying, from forced registration to the errors. Also tricky to go back a step in the process to make any changes.

about 6 years ago

Andrew Nicholson

Andrew Nicholson, Founder at The Guku

We run Thames dinner cruises, so don't actually deliver a product to the customer's door - yet still had a compulsory post code check as part of the card authorization process. Big mistake.

Not only were cards being declined because the postcode formatting was incorrect, but the cards were also being pre-authed, so for all intents and purposes, the customer was being charged (even though the banks were releasing the funds back into the customer's accounts four days later).

We queried the necessity of postcode checks, and discovered that so long as you have 3D secure the banks are more than happy for you to do without postcode validation.

Long story short. No postcode check = happy customers.

about 6 years ago

Albie Attias

Albie Attias, Ecommerce Director at King of Servers Ltd

It's bizarre that retailers are prepared to pay to integrate a tool designed to make customer's lives easier but then get sloppy with the implementation. There are plenty of postcode validation scripts out there so there really isn't any excuse.

I concur with Mark too - let people enter their address manually if it cant be found. New addresses aren't always in the database, especially if the retailer bought it outright and never updated it.

I also think it's worth including a 'find my postcode' link alongside the tool (linking to Royal Mail's postcode finder) to help the small minority of people who don't know their postcode.

about 6 years ago

Paul Rouke

Paul Rouke, Founder & CEO at PRWD

Great post Graham, and your opening sentence sums things up pretty well.

To add to your insights, here are some tips and user insights from our vast amount of user testing projects, including some in the last few weeks..
> Postcode look-up should accept entries with and without spaces – users hate being restricted when completing form fields, especially on something like this which seems very standard
> Address fields should be auto hidden at the start to reduce the amount of fields users have to contemplate completing – but there should be a link directly next to or under the find my address button to ‘enter address manually’
> Once users have entered their postcode and chosen their address, they shouldn’t have to then specify their county, for instance
> User testing is the ideal way to understand how your postcode look-up facility is genuinely performing from a user perspective
In very recent moderated testing for a multi-channel retailer, like you, users would attempt to find either their postcode or quite frequently their work address 2 and at most 3 times before they got frustrated. Their 1st thought then is to contact customer services to ask for some advice or place the order over the phone, so this underlines the importance of providing visible customer service details in checkout – including opening hours to manage expectations.

about 6 years ago


Deri Jones, CEO at SciVisum Ltd

I think the reason so many sites suffer from this -is the gap between the business and IT teams -and the fact that it is difficult for Business teams to spec out their User Stories in enough detail.

So what happens is:

The Business Team write a spec that is too high level eg says: 'allow postcode entry'. IT deliver it, and code it to be sensitive to the middle space.

Then the Business teams do notice the user problem, but somehow aren't willing to prioritise fixing this, over the long list of new features they have queued up for IT to work on.

And in fact the Business team probably feel a bit miffed, that IT didn't 'get it right the first time' !

Google for:
- "unite the tribes" dixons
to see how Chris Howell at Dixons talked abut the problem!

about 6 years ago

Neil Roberts

Neil Roberts, Head of Digital at Eurostar

The postcode challenge becomes even more fun when you go international. PAF only exisits in the UK, France for example doesn't seem to have a reliable equivalent.

So if you don't provide a manual entry not only are you going to get drop out from UK customers you will also exlude the rest of world (even if you are not targeting them).

Think global, don't shut out sales thinking too small.

Another challenge - internatonal dialing codes, is it 0044, +44 or something else ?

about 6 years ago


Deri Jones, CEO at SciVisum Ltd

Neil - yes you're right.

Also - credit card numbers: some forms only allow 16 characters, so if you type with spaces the last ones you type get lost without you noticing... until the form fails.

about 6 years ago


Chris Osborne

If you've not come across it then try out PostcodeAnywhere (I'm not associated with them in any way, apart from being a customer who likes the service).

There's a traditional version ( and a predictive input version (, and both handle spaces (and the predictive version allows you to type any address details and get address results, so not just postcode-based). There's international coverage too.

Integrates nicely into forms, and makes postcode/address retrieval easy and intuitive (whether it's via 'get postcode' or predictive input based).

about 6 years ago



It's ironic that rather than simplifying the checkout process for potential customers, these websites sometimes annoy and frustrate instead.

But it's perhaps unfair to entirely blame the business analysts and developers. After all, UK (not to mention international) address rules are complex and fraught with inconsistencies - for instance, who would guess that houses with a UK Postcode of RH4 1EW have house letters rather than house numbers?

Fortunately, and as Chris suggests above, there are plenty of cheap look-up services that can be easily integrated into a website - just try searching for "international address lookup software". The decent ones will handle missing or extra spaces, letters for numbers (and vice versa) and even transposition (characters swapped around).

about 6 years ago


Guy Mucklow

Great article Graham, with lots of valid points.

It's fair to say that most of the reputable address management companies now have technology that copes with common mistakes such as missing spaces in a postcode and O's written as zeros.

Sometimes the errors or ommissions take place in the implementation process, which suggests that more help should be provided through support or best practice guides.

Whilst problems caused by postcodes not being found are largely due to companies using UK address data that is not being updated daily.

International addressing is, and will remain, a challenge, whilst the quality of international data remains weak. Only 25% of countries have postcode systems throughout the world, whilst very few give you the level of granularity that we have in the UK, which will allow you to drill down on your chosen property in roughly 7 key strokes.

Most Americans, for example, only know their zipcode, a 5 digit number that only provides city and state, making the rapid capture process a much more longwinded affair.

We have tried to overcome this by providing a method that works more like the auto suggest process in search engines.

Ultimately, however, we are only as good as the underlying data, which is why the process allows you to manually complete where the address can't be found, because we recognise that the most important thing is not putting a potential customer off by forcing a particular approach to entering their personal data.

...and on the subject of annoying processes - trying to decipher impossible Captcha scripts that prevent people from posting replies to blogs!!!

about 6 years ago


A developer

Developers fail at implementing postcodes in software because they try and write fancy code to validate user data entry.

The problem with this this is two fold.

1) Get it wrong (and I have seen many examples) and you can deny a valid postocde.

2) Get it rights and you have to accept postcodes that are in the correct format, but don't actually exists.

I always store and display postcodes as two seperate fields. The "post out code" at 2-4 characters validity, and the "post in code" at 3 characters validity.

No danger of a regex expression messing up, and users understand it

over 5 years ago


William Parker, N/A at Retired

My postcode is LE28UF and I am always abandoning forms because a lot of firms. Won't accept it.What am I supposed to do?

over 1 year ago


Rory James, performer at MYcompany

Yes, I'm aware that this article is from 6 years ago and that most likely my comment will be read by nobody.

I got here because this page is among the top 10 results returned by Google for "addresses in Ireland without postcode". I'm part of the team running user tests for an online shopping platform, and I was looking to dispute the claim of a tester that there are addresses in Ireland without a postcode.

I totally agree with the general idea of the article, BUT... I feel compelled to point out that in your first example, Graham, the difficulty in completing the checkout process is because of your own shortcoming. Probably due to your stance on pop-ups containing error messages, you dismissed the one you received without reading the actual bloody message.
You claim that "The error message in this case does nothing to address the issue", when in fact, it clearly tells you to "ENSURE you have entered your postcode in the CORRECT FORMAT with CAPITAL LETTERS and SPACING".

3 months ago

Save or Cancel

Enjoying this article?

Get more just like this, delivered to your inbox.

Keep up to date with the latest analysis, inspiration and learning from the Econsultancy blog with our free Digital Pulse newsletter. You will receive a hand-picked digest of the latest and greatest articles, as well as snippets of new market data, best practice guides and trends research.