If you are a salesforce admin or developer trying to enable state and country picklists for your salesforce org, one of the challenges is to identify what the impact it would have in your org, how do we go about enabling it with and what actions can i do now to prevent problems? Having done this many times, my post below would help you make the right decision and get it done quickly.
What is state and country picklist feature?
If you are using leads, accounts and contacts in salesforce one of the pains is that the state and country field is a text box field out of the box. This results in very low data quality as users can fill in leads or contacts with states like PA, Pennyslyvalia, USA, United states of America e.tc. When you generate reports on this, it becomes too complicated to filter by state or country resulting in records missed or additional customization to make it happen. To avoid this, Salesforce has this feature called state and country picklist feature which is free and replace all the state and country fields with state and country picklists.
What to expect once you enable state and country picklists?
- Once you turn on state and country picklists, you would be exposed to a scanning tool which will scan and identify all the components like reports, views, objects impacted by it.
- Then you would have to run the mapping tool which will scan all your address fields on leads, accounts and contacts and identify the different combinations of states and countries with occurences on a page. You would need to map it to the corresponding state and country values manually. This may be painful if you have more than 100,000 contacts , accounts and leads and no automation for it.
- Once the mapping is done, salesforce will update all your leads, accounts and contacts with the new state and country picklist fields.(screen shot) The below screen shot has a mapping screen which you have to do before you make the state and country picklist feature live.
- Now I want to point to you that salesforce will create a new picklist field for state and new picklist field for country on your lead, account and contact object and rename the existing field to a field_text for identification. The below screen shot shows the new fields created with enabling picklist and the old country and state fields which are converted to text as an example.
What are the limitations and gotchas of this feature?
- State and country picklists are not available on your mobile devices like salesforce1 and your desktop applications at the moment. There is a validation which occurs if your users enter a wrong state or country field on your mobile phone but they cannot see any picklist.
- If you import leads, accounts or contacts with wrong or invalid state and country fields, it will throw data import errors.
- If you are trying to mass transfer accounts from one owner to another owner, the transfer tool will not allow you to do it unless you go and update all the accounts with the correct countries and states on the address fields.
- When you do lead conversion, you need to have a default country selected for the state and countries. If you dont do this, your lead conversion will not work.
- The scanning tool for state and country picklists does not currently search all of your metadata. It also does not allow you to find or fix personal customization’s like personal email templates, personal list views and personal reports. This could result in end users seeing reports or views with incorrect data.
- Enabling State and Country can only support 2000 state/country mappings . This means that if you have too much bad values on states and countries, it has to be cleaned up.
- If you are getting a lead conversion error after enabling this feature. it is a known problem. You have to make sure that you create USA or a country as a default country in the countries picklist.
- If you have external systems integrated with salesforce, there is an integration list of values matching the state and country values . This would ensure that your integration works.
Prevent problems and save time
- If you have have more than 100,000 records as leads, accounts and contacts and you have a lot of bad country and state values, the scanning tool will not find all the bad values. This will bite you and cause you a lot of grief. So I would use data loader or any data clean up tool to convert all bad state and country values to the right state and countryvalues. E.g Using data jobs to clean my US records so that my map from State values to State Codes was only 51. I would also make sure all my Country values for US, USA, U.S.A, United States, and The United States of America were all merged into 1 value so I only have 1 Country map entry for the US. This would ensure that you are within the 2000 mapping limit.
- Do a backup of your data before you enable this feature.
- Get a count of leads, accounts and contacts with null or blank state and country values and also count of records with values. You can use this for testing the data after the conversion is done.
- Do this on a full copy sandbox which would help you to identify the bad data records quickly.
- If your external systems populate address fields, you want to ensure that integration values are mapped correctly and populated.
To summarize, here is the key takeaways for you before enabling this feature.
- If you have more than 100,000 accounts, contacts and leads combined or seperate, clean your existing data first and fix the bad state and country values before you enable this feature.
- If your users have personal reports, list views with hardcoded state and country values, the reports will not work.
- Do a data backup before you enable it in production and test it in a sanbox.
- Have a test plan which identifies a count of records impacted by the feature and verify this in production.
As always please feel free to post your comments on this blog below and you can always reach out to me at email@example.com for further questions.
Subscribe to our mailing list and get tips to maximize salesforce to your email inbox.
Thank you for subscribing.
Something went wrong.