In November of 2016, Google started rolling out updates to more clearly distinguish their Geocoding and Places APIs, both of which are a part of the Google Maps API suite. The Places API was introduced in March 2015 as a way for users to search for places in general and not just addresses. Until recently the Geocoding API functioned similarly to Places in that it also accepted incomplete and ambiguous queries to explore locations, but now it is focusing more on returning better geocoding matches for complete and unambiguous postal addresses. Do these changes mean that Google Maps and its Geocoding API can finally be used as an address validation service?
No, it cannot. Now before I explain why, let’s first acknowledge why someone would think Google Maps can be used to validate addresses in the first place. The idea starts with the simple argument that if an address can be found in Google Maps then it must exist. If it exists then it must be valid and therefore deliverable. However, this logic is flawed.
Addressing a common problem
One of the biggest problems many users overlook with Google Maps and the Geocoding API is that incomplete and/or ambiguous address queries lead to inaccurate and/or ambiguous results. It is common for users to believe that the address entered was correct and valid simply because Google returns a possible match. These users often ignore that the formatted address in the output may have changed significantly from what they had originally entered.The people over at Google Maps must have realized this too as the Geocoder API is now more prone to return ‘ZERO_RESULTS’ instead of a potentially inaccurate result. However, not all users are pleased with the recent changes. Some have noted that addresses that once returned matches in the Geocoding API no longer do so.
Has the Geocoding API become stricter? Yes. Does Google Maps finally make use of address data from the actual postal authorities? Not likely.
Geocoding vs deliverability
Google Maps does not verify if an address is deliverable. The primary purpose of the Geocoding API is to return coordinate information. At its best it can locate an individual residential home or a commercial building. Other times it is an address estimator. However, not all addresses are for single building locations.
Apartment and unit numbers, suites, floors and PO boxes are typical examples of the type of address that the Google Maps Geocoding API was not intended to handle. They now recommend that those type of addresses be passed to the Places API instead, but not because the Places API can validate or verify those types of addresses. Again, none of the APIs in the Google Maps suite will verify addresses. No, it is because information like a unit number is currently superfluous when it comes to their roof-top level geo-coordinates. Google Maps does not need to know if an address is a multi-unit and/or multi-floored building in order to return a set of coordinates.
Take the Service Objects address for example,
27 E Cota St Ste 500
Santa Barbara, CA 93101-7602
The Google Maps Geocoding API returns the following address and coordinates,
“formatted_address” : “27 E Cota St, Santa Barbara, CA 93101, USA”
“location” : { “lat” : 34.41864020000001, “lng” : -119.696178 }
Notice that the formatted address output value has dropped the suite number even though the address is valid. Let’s change the suite number from 500 to a suite number that does not exist, such as 900.
“formatted_address” : “27 E Cota St, Santa Barbara, CA 93101, USA”
“location” : { “lat” : 34.41864020000001, “lng” : -119.696178 }
We get back the exact same response, because they are both the same in the eyes of Google Maps.
A similar thing happens if we try the same using the Google Maps web site.
This is the result for when Suite 500 is passed in:
This is the result for when Suite 900 is passed:
Notice that 900 remains in the address.
An unsuspecting user could easily mistake the Suite 900 address for being valid if they were simply relying on the Google Maps website, and its mistakes like these that often lead people to believe that an address may exist when it does not.
The right tool for the job
When selecting a dedicated address validation service here are a few critical and rich features you will want to look for:
- Can it identify addresses marked for general delivery, areas where door step deliver-ability is not always available?
- Does it offer true Coding Accuracy Support System (CASS) certified Delivery Point Validation (DPV)?
- Can it identify PO Boxes, residential areas, incorrect house/building numbers?
- Is it able to detect if a valid address is vacant or returning mail?
Even with the recent updates Google Maps is still no alternative for a dedicated address validation service and choosing not to use one could prove to be an expensive mistake.