Why do I see inconsistency in address cleansing in Zip4?


We are seeing scenarios when a cleansed address from Loqate is sent back to Loqate again, it sends a different address (with either a different AddressLine1 or Zip4). This is leading to duplicate addresses in our system as addresses do not merge. Can you help us with fixing such scenarios?
Please see below examples with details below:

  • When “2300 BUFFALO RD STE 300” is sent, Loqate returns “2300 BUFFALO RD BLDG 300A” with Zip4 “1375”. But when the same output address “2300 BUFFALO RD BLDG 300A” is sent again, Loqate now returns a different Zip4 “1369”.



  • If you are using v+g only in the cleanser configuration, the difference in zip4 may be coming from the ambiguity of the address being entered.
"addressLine 1": "2300 Buffalo Rd",
"addressLine 2": "BLDG 300",
"City": "Rochester",
"AdministrativeArea": "NY",
"Country": "US",
"PostalCode": "14624"

The USPS software is trying to determine the best match. (using the USPS Zip Code Lookup by address: https://tools.usps.com/zip-code-lookup.htm?byaddress)



  • You could try making the following changes to the cleansing parameters in your L3 configuration to improve consistency in zip4 and zip5.

In the input mapping for location. 

"uri": "configuration/entityTypes/Location/cleanse/infos/other", 
"useInCleansing": true, 
"sequence": [ 

"chain": [ 

"cleanseFunction": "Loqate",
"resultingValuesSourceTypeUri": "configuration/sources/ReltioCleanser",
"proceedOnSuccess": true,
"proceedOnFailure": false,
"mapping": {
"inputMapping": [

<<<< additional input>>>>>

"attribute": "configuration/entityTypes/Location/attributes/Zip/attributes/Zip5",
"mandatory": false,
"allValues": false,
"cleanseAttribute": "PostalCodePrimary"<<<====
"attribute": "configuration/entityTypes/Location/attributes/Zip/attributes/Zip4",
"mandatory": false,
"allValues": false,
"cleanseAttribute": "PostalCodeSecondary"

In the output mapping for location. 

"uri": "configuration/entityTypes/Location",
"label": "Location",
"description": "Location",
"dataTooltipPattern": "Tooltip {VerificationStatus}",
"typeColor": "#FF9900",
"typeIcon": "images/base_type/house.png",
"typeImage": "images/defaultImage/no-loc.png",
"typeGraphIcon": "images/graphIcon/location-icon.png",
"matchBeforeCreate": false,
"cleanseConfig": {
"mappings": [
"uri": "configuration/entityTypes/Location/cleanse/mappings/address",
"outputMapping": [

<<<< additional input >>>>>>

"attribute": "configuration/entityTypes/Location/attributes/Zip/attributes/Zip5",
"mandatory": false,
"allValues": false,
"cleanseAttribute": "PostalCodePrimary" <<<===
"attribute": "configuration/entityTypes/Location/attributes/Zip/attributes/Zip4",
"mandatory": false,
"allValues": false,
"cleanseAttribute": "PostalCodeSecondary" <<<===

However, using v+g, there are only two dependable options to resolve the inconsistency in zip4.

 Option 1:  Use CASS (c+v+g), which is an extra cost.  Without CASS, the accuracy of zip4 is not guaranteed.  This will occur for any complex address where USPS retains multiple zip codes for a specific address, such as the address above.

Zip4 is a format that the US Postal Service uses, and it was introduced by USPS in 1963.  A ZIP+4 Code uses the basic five-digit code plus four additional digits to identify a geographic segment within the five-digit delivery area, such as a city block, a group of apartments, an individual high-volume receiver of mail, a post office box, or any other unit that could use an extra identifier to aid in efficient mail sorting and delivery. 

Please review https://docs.reltio.com/en/model/cleanse-data/cleanse-and-standardize-data-overview/out-of-the-box-cleanse-functions/address-cleanser/address-cleansing-properties/address-cleansing-using-cassrdi.

To achieve CASS certification, participants are provided test address data (150,000 records) and must pass with the following minimum scores:

  • 98.5 percent for ZIP + 4, carrier route, Five-digit Postcode and LACS
  • 100 percent for delivery point coding, eLOT, DPV or DSF2, and RDI

Option 2:  We could remove zip4 for both inputmapping and outputmapping where only zip5 is cleansed and updated.


What is CASS, and how does it work with Reltio - https://docs.reltio.com/en/model/cleanse-data/cleanse-and-standardize-data-overview/out-of-the-box-cleanse-functions/address-cleanser/address-cleansing-properties/address-cleansing-using-cassrdi


Additional fields that are provided by CASS - https://docs.reltio.com/en/model/cleanse-data/cleanse-and-standardize-data-overview/out-of-the-box-cleanse-functions/address-cleanser/mapping-input-and-output-attributes/additional-fields-for-cass


What is CASS - https://www.loqate.com/en-gb/blog/what-is-cass/

CASS2 input is a little stricter in how to enter an address. Loqate recommends the following:

  • Sub-building, Premise, Thoroughfare, and any other delivery point information should be completed in Address1 and optionally Address2.
  • Locality, Administrative Area, and ZIP should either be entered into their respective component fields or together in Address2 or Address3, but not both. If Address2 is used this way, then Address3 should be blank.

For example, the address 1737 N 1st St #590, San Jose, CA 95112, may be entered in one of the following recommended ways:
Address1: 1737 N 1st St #590
Address2: San Jose, CA 95112
– OR –
Address1: 1737 N 1st St #590
Address3: San Jose, CA 95112
– OR –
Address1: 1737 N 1st St
Address2: #590
Address3: San Jose, CA 95112
– OR –
Address1: 1737 N 1st St #590
Locality: San Jose
AdministrativeArea: CA
PostalCode: 95112





Was this article helpful?
0 out of 0 found this helpful



Please sign in to leave a comment.