Many website owners want to import customers from their old sites or email services like MailChimp to some new location. Basically, Magento has all required functions for a standard importing, but sometimes more complex actions with customers are needed. It concerns, for example, extracting customers from CSV and CSV-like files and sending them welcome email messages.
We suggest you to download the module sample that helps importing CSV customer list, generated by MailChimp, to your Magento store. The archive includes two customer titles for practicing purposes and is tested on Magento 1.6.
Information: CSV is a simple file format that is widely supported by consumer, business, and scientific applications. Among its most common uses is to move tabular data between programs that naturally operate on a more efficient or complete proprietary format (Wikipedia).
I personally would recommend one quite simple and proper solution – creating a custom module for Magento, in which module backend page and its controller are used for parsing, importing and sending.
Just a few words about these actions. In most cases when you need to parse data from MailChimp-like services, you nearly always get data files in CSV format. Sometimes files may be delivered in XML format as well. Magento and PHP offer opportunities for parsing these sorts of files.
While importing, do not forget about invalid data from CSV (in Magento case – empty first name & last name). Keep in mind to match up every field with existing customers and their information.
I want to mention the importance of formkey. If you don’t use it, the controller in some cases will stop working with all actions, except indexAction().
Good luck with importing your customers!