WooCommerce Address Validation

Overview ↑ Back to top

The WooCommerce Postcode / Address Validation extension connects your store to one of several providers, letting you easily provide US address validation, postcode lookup for the UK or NL, or offer international address lookup.

To perform lookups or validation, this plugin will connect your store to your account with one of the following services:

Provider Services offered Countries Free Lookups?
Addressy Address auto-complete
Classify addresses
all countries 100 per mo (US only)
SmartyStreets Address verification
Classify addresses
Geocode addresses
US 250 per mo
Postcode.NL Postcode lookup NL
PCA Predict Postcode lookup UK
Postcode Software Postcode lookup UK
CraftyClicks Postcode lookup UK 30 total

Installation ↑ Back to top

  1. Download the extension from your WooCommerce dashboard
  2. Goto Plugins > Add New > Upload and select the ZIP file you just downloaded
  3. Click Install Now, and then Activate
  4. Click the Configure link and read the next section to learn how to setup and configure the plugin.

Setup and Configuration ↑ Back to top

Plugin settings can be found under WooCommerce > Settings > Address Validation. Here you’ll select your provider and configure general settings, along with some provider-specific settings.

General Settings can change based on your selected provider.

WooCommerce Address Validation: General Settings - address validation
General Settings 1
  • Provider – Select the provider you’d like to use for address validation or postcode lookup.
  • Debug Mode – Enable this to output debugging information on the checkout page. As a best practice, you should leave this disabled unless you experience issues with the plugin.
  • Geocode Addresses? – (SmartyStreets only) Enable this to save the customer latitude and longitude to the order details.
  • Classify Addresses? – (US providers) Enable this to save an address classification (Residential or Commercial) to the order.
  • Force Customer to lookup address via postcode – (Postcode lookup providers) Enable this to force customers to use postcode lookup; address fields will be hidden until lookup is used. Note that once the customer clicks “Lookup Address”, the address fields are displayed regardless of whether the lookup is successful.
WooCommerce Address Validation: General settings - postcode lookup
General Settings 2

Addressy Settings ↑ Back to top

Addressy offers a limited amount of free lookups for US addresses each month, but can be used for address lookup / auto-complete in any country with a paid account. Please ensure you have enough credits in your account if you allow international lookup.

WooCommerce Address Validation: Addressy Settings
Addressy Settings
  • Service Key – Enter your service key from Addressy. You can follow the instructions below to get this.
  • Validate International Addresses – Enable this to allow address auto-complete for addresses outside of the US. When disabled, only US addresses will use Addressy to lookup addresses. When enabled, lookup is attempted for all countries, so please be sure you’ve purchased credits for your account to enable this.

SmartyStreets Settings ↑ Back to top

WooCommerce Address Validation: SmartyStreets settings

  • HTML Key – Enter the HTML Key from your SmartyStreets account. You can follow the instructions below to get this.
  • Include plus-four code? – Enable this to validate addressses using the ZIP+4. Disable to use only standard 5-digit zip codes.

Postcode.NL Settings ↑ Back to top

Postcode.NL offers NL address lookup via postcode. A customer can enter his or her postcode to lookup a full address; this auto-completes the checkout fields when selected.

WooCommerce Address Validation: Postcode.nl settings

PCA Predict Settings ↑ Back to top

PCA Predict offers UK address lookup via postcode. A customer can enter his or her postcode to lookup a full address; this auto-completes the checkout fields when selected.

WooCommerce Address Validation: PCA Predict Settings

  • API Key – Enter the API key from your PCA Predict Account. You can follow the instructions below to get this.
  • API Username – Enter the username associated with your Royal Mail account. If you do not have a Royal Mail account, leave this blank.

Postcode Software Settings ↑ Back to top

Postcode Software offers UK address lookup via postcode. A customer can enter his or her postcode to lookup a full address; this auto-completes the checkout fields when selected.

WooCommerce Address Validation: PostcodeSoftware settings

Crafty Clicks Settings ↑ Back to top

Crafty Clicks offers UK address lookup via postcode. A customer can enter his or her postcode to lookup a full address; this auto-completes the checkout fields when selected.

WooCommerce Address Validation: Crafty Clicks Settings

Connect to a Service ↑ Back to top

To complete set up, you’ll need credentials from your chosen service to connect the plugin to your account. Please read the instructions for your service to get account API or Service Key credentials for your store.

Addressy ↑ Back to top

An Addressy account is required to use address auto-complete via Addressy. Merchants in any country can use Addressy to auto-complete addresses in all countries they sell to, and 100 US lookups are free per month.

Sign into your Addressy account and follow these steps:

  1. Click the “Add Form” button at the top of your account dashboard.
  2. Click on “Advanced” for your form type.
    WooCommerce Address Validation: Addressy set up 1
  3. Enter the URL of your store in the text field that appears.
    WooCommerce Address Validation: Addressy set up 2
  4. Copy the service key generated by Addressy:
    WooCommerce Address Validation: Addressy set up 3
  5. Enter this service key in the plugin settings, then save your settings.

That’s it! You can now lookup and auto-complete addresses via Addressy.

SmartyStreets ↑ Back to top

A SmartyStreets account is needed to enable SmartyStreets (you can get 250 address lookups per month free). Sign into your account and follow these steps:

  1. Click on API Keys in the left menu:
    WooCommerce Address Validations Smart Streets account
    Go to API Keys
  2. In the “Create New Key” row, enter your website address (e.g. http://woocommerce.com) into the host field, then click “Generate” in the HTML Keys section:
    WooCommerce Address Validations Smart Streets key generation
    Generate a Key
  3. Now, copy the website key you just generated:
    WooCommerce Address Validations Smart Streets get key
    Copy New Key
  4. And paste it into the SmartyStreets settings, then save them.

That’s it! You are now ready to start verifying addresses! The 250 free lookups provided by SmartyStreets for all accounts should be adequate for many stores, but if you need more lookups they may be purchased directly from SmartyStreets.

Postcode.NL ↑ Back to top

Log in to your Postcode.nl account and create an application for use with your web store. After signing up, you will receive an email containing an application key and secret, which is needed to integrate with this extension.

Once you have this information, you can add it into the text box on the WooCommerce > Settings > Address Validation > Postcode.nl page and save your settings.

That’s it! Your customers can now lookup their address via Postcode on the checkout page.

PCA Predict ↑ Back to top

First, login to your PCA Predict account and follow these steps:

  1. Click “New Service” on the left, then scroll down. Click “Set Up” for the “API Key” type:
    WooCommerce Address Validation: PCA Predict setup 1
  2. Copy the new API Key that’s displayed for your account:
    WooCommerce Address Validation: PCA Predict setup 2
  3. Before returning to the plugin settings, you may want to adjust the options for this API Key, such as setting a daily spend limit with which you’re comfortable:
    WooCommerce Address Validation: PCA Predict setup 3
  4. Return the plugin and paste your API Key into the settings. Save your settings.

That’s it! Your customers can now lookup their address via PCA Predict on the checkout page.

Postcode Software ↑ Back to top

Enter your PostcodeSoftware.net username and password into the text boxes on the WooCommerce > Settings > Address Validation > PostcodeSoftware.net, then save your settings.

That’s it! Your customers can now lookup their address via Postcode on the checkout page. You may want to test your checkout to make sure everything is working correctly.

Crafty Clicks ↑ Back to top

First, login to your Crafty Clicks account (you can sign up for a free trial with 30 lookups), then follow these steps:

  1. Click “Access Tokens” Under “Web Services” on the left, then click on your access token:
    WooCommerce Address Validation: Crafty Clicks setup 1
  2. Copy the token value:
    WooCommerce Address Validation: Crafty Clicks setup 2
  3. Enter this token in the plugin settings and save them.

Click on your token and copy the Access Token information:

That’s it! Your customers can now lookup their address via Postcode on the checkout page.

Customer Experience ↑ Back to top

Postcode lookup, address auto-complete, or address verification will help your customers complete checkout accurately, ensuring that your shipments are going to the right place.

Each provider works slightly differently, but here are examples of how each type of lookup will function on your checkout.

Address Auto-complete ↑ Back to top

Addressy provides address auto-completion for customers in any country. At checkout, customers can begin to enter an address, and Addressy will display a list of suggestions for the currently selected country. Customers can then select an address from the list, and address fields will be populated automatically.

See an example of Addressy in action.

Address Verification ↑ Back to top

Address verification is provided by SmartyStreets. Customers can enter a full address, then SmartyStreets will verify the address, or suggest recommended alternatives if the address is not verified.

See an example of SmartyStreets in action.

Postcode Lookup ↑ Back to top

Postcode lookup works the same way for all UK and NL providers: Postcode.NL, PCA Predict, Postcode Software, and Crafty Clicks.

Postcode lookup allows the customer to enter a postcode, and then select an address from a list of suggestions. This will populate all checkout fields once an address is selected. You can even opt to hide the address fields until the lookup is used.

See an example of postcode lookup in action.

My Account Pages ↑ Back to top

Postcode or address lookup is available via the “My Account” section for your site as well. While editing or adding new addresses, customers can use your configured provider to lookup or validate an address.

WooCommerce Address Validation: Account page address completion
Account Page Lookup (Addressy)

Postcode lookup can be used as well based on your settings and configured provider.

WooCommerce postcode lookup shipping address
“My Account” Postcode Lookup

Troubleshooting ↑ Back to top

Having trouble? Check if these pointers help you solve your problem before posting a support request:

  • Check that you have entered your API key/Access Token correctly.
  • Double-check that you have entered your API key correctly 😉
  • Confirm that you have enough credits with your selected provider to perform verifications or lookups.
  • Double-check that you have enough credits with your selected provider 😉 for example, Addressy will say it can’t retrieve an address when you’re out of credits:
    WooCommerce Address Validation: Addressy out of credits
  • Verify that there are no javascript errors on the checkout page — address lookup and verification rely on checkout javascript to be functioning properly. If you have a third-party theme or plugin that is breaking your javascript, it will likely affect this plugin as well.
  • Ensure that the country field is present on your checkout page so the plugin can get accurate results. If you’ve customized your checkout and removed this, it can cause issues with address lookup.
  • Worried about orders going through if US Validation fails? Please see our FAQ below.
  • Enable Debug mode by going to WooCommerce > Settings > Address Validation and checking the “Debug Mode” checkbox. This will output information to the checkout page that will help in locating the source of the issue.
  • If these steps don’t help narrow down the issue, please submit a help request and we’d be happy to assist.

Frequently Asked Questions ↑ Back to top

Q: Can I use postcode lookup or address validation while adding an order in the admin?
A: Afraid not, sorry! This feature is available for customer use on the checkout and my account pages, but not from within the orders admin. If you’d like to see changes like this to our plugins, you can suggest them or vote on the ideas board.


Q: Help! My customers can still check out even though the address is not validated.
A: This is the expected behavior of the plugin and is part of the way the address validation libraries work.

Validation will suggest the “recommended” correction, but it will not block an order from processing if validation fails. The customer must ensure the address is correct, as there are legitimate reasons it may not validate; for example, it may be a new address / new construction that SmartyStreets or Addressy doesn’t have logged yet, and the order should not be blocked as a result.

This also ensures that, if for some reason the validation service’s servers are ever unreachable, the checkout isn’t completely locked down if it can’t validate addresses.


Q: Can I use this with One Page Checkout?
A: Yes! One Page Checkout is supported in Postcode / Address Validation from version 1.4.0 and onwards.


Q: Why isn’t the postcode lookup at the top of checkout? Why does it look strange on my checkout page?
A: WooCommerce core places the country field first in the checkout since the selected country affects the remaining fields. Similarly, the Address Validation postcode lookup is tied to the selected country because the postcode lookup providers bundled in the extension only support a single country (but shops often sell to multiple countries). As we want the postcode lookup fields to only appear when the supported country is selected by the customer, we make sure the lookup fields are tied with the country field and are typically displayed first.

If you’ve moved the country field away from the top of the page (for example, by using the Checkout Field Editor), then the Address Validation fields will go with it :). The extension assumes the billing and shipping country fields have not been moved and appends the postcode lookup fields below the country field. Placing the postcode lookup fields anywhere else breaks the user experience and defies the purpose of the plugin: to allow customers a quick way to lookup their address via a postcode rather than filling out all fields. We highly recommend that you keep the country field first on your checkout template.

If this is impossible, you could use the snippet below (or something similar), but please note that customization requests / custom code are not included in our support policy:

Questions & Support ↑ Back to top

Have a question before you buy? Please fill out this pre-sales form.

Already purchased and need some assistance? Get in touch with support via the help desk.

WooCommerce - the most customizable eCommerce platform for building your online business.

Back to the top