I want to import all of our old customer accounts+orders from Magento into Shopify so that we have all the details in one system and can reference previous orders if we need to.
I'm running into some problems though, as some of our old customers' email domains have lapsed ("Email contains an invalid domain name") , and the vast majority of telephone numbers aren't in a format that Shopify can handle (and I'm not aware of a way to automatically format them in a way that would make sense).
Given these issues, should I abandon the idea of importing all of our old customers and orders into Shopify, maybe keeping an old private legacy Magento system around so that sales staff can refer to old customer information? Any best practices or advice to consider?
I've had a few projects that involved data export/import between systems over the years. Typically I would always make best effort to bring over as much data as possible. Of course formatting and other outliers can make a direct pull/push out of the question. That's when it takes time to either a) clean up the data fields in the "old" system so they match up better in the "new" system, or b) create some mapping logic that scrubs that data from the old systems as its ported over into the new system. Either way it takes time, but is worth it.
Bringing over customer, product, and vendor records is important. When it comes to historical sales transactions, it depends on the new system. Sometimes porting the transactions in results in the timestamps of the transactions being the date of the import. If that's a hard-coded constraint of the application vendor. In those cases I just port the transactions into some localized DB for research purposes. But if I can back-date the transactions when importing them into the new system, I at least try to pull in the current years' worth of transactions for reporting, refunds, etc.
Thank you Greg! That gives me some ideas to work with.
In my situation, I have almost 100,000 customers and 140,000 orders to migrate, and the 'telephone' field has not always been required and has always allowed the customer to enter in any format that they chose. The sheer number of possible variations, and the requirement of Shopify for a valid phone number for every customer, makes me think that this is not realistic to achieve.
Perhaps I need to consider something like only doing 'just in time' migrations, and not pre-migrate all of the customers, having a separate system that customers can use to migrate their shop accounts into the Shopify system, prompting them for a valid phone number to ensure that it is created correctly.
It's not that daunting of a cleanup process if you or a resource you are connected with is somewhat adept at writing code. If the phone records are iterated through, and parsed against a couple of of regex statements then the results could be collected to push into the other system. Ignore any alpha characters, ignore any parentheses, ignore any dashes, if you are US-based then collect the first ten numeric digits, if there are only 7 numeric digits then assume the local area code of the collecting site, etc.
In the 10 years the shop has been running we have had customers from all over the world, some for whom we have never taken a phone number, some of whom have entered "000 000" or "123 123" etc. I don't see how it would ever be possible to format these into a format that Shopify would accept -- or how we could generate a phone number when one was never entered -- unless Shopify will accept "+00 000 0000 0000"? Sometimes customers have entered only 6 digits... sometimes they have entered 12... etc...
For example, "if there are only 7 numeric digits then assume the local area code of the collecting site, etc." -- we can make no such assumptions as we have customers from Australia to Zimbabwe and cannot guess at area codes for every address on the planet... can we?
As it seems that there are a few insurmountable problems with doing a mass automated import of our entire customer/order history (can't disable notification emails etc), I'm going to investigate the possibility of doing 'just-in-time' migration of customer accounts from Magento to Shopify as and when customer requires it. I'm also going to re-assess migrating to Magento 2 instead, where we will have much better control over all of these factors.
Thanks for your input everyone (still open to any other ideas or solutions..)
I get it. There is a broad scope to this, but it's always better to be thorough in data conversion attempts. Compared to having parallel systems up and running for the endusers. There are many third-party libraries available that can assist in parsing phone numbers. Here are a few examples below.
No conversion routine is going to achieve 100% accuracy. It's best effort. If phone numbers have garbage characters then those numbers should simply not be pulled in. But I also hear you about the seemingly insurmountable challenges. We too ported in all of our brick and mortar customers into Shopify e-com. Talking hundreds of thousands of records. They all received the automated account activation e-mails. I'd say that 75% of the customers either deleted these e-mails or just left them unread as spam. Well when they finally went to our new website to purchase something they couldn't create an account. Since their e-mail address already existed in the system. Leading to confusion, complaints, and missed sales.
When it comes to transactional history, we have records going back decades. Usually as a rule I only port over a rolling calendar year's worth of previous history. That should suffice for reporting, analysis, refunds, etc.
You definitely have a sizable project ahead of you. Best advice I can give is similar to a large house painting job. All of the tedious prep work that's so time consuming makes for better results when the actual painting is taking place. Best of luck!
Hi @Tristan3dt ,
The issue that you are running into is due to the policies of Shopify. The data that you import into Shopify has to be compatible with the Shopify data format.
In this case, you can either correct the data errors to fit in with this platform structure or hire someone to help you out.
If you are unable to customize the data yourself, our team can help you with this. If you trust LitExtension and handle the job to us, our experts will filter the error products out and fix them to fit the format of Shopify. And then help you import those into your Shopify store.
For further assistance, don't hesitate to contact us via live chat on our website.
we would like to suggest an alternative to tedious manual data switch - an automated migration tool Cart2Cart. The reason why Shopify skips some of your customers is probably the typos in their emails. If you contact our Customer Support team, we'll help you move the data from Magento to Shopify automatedly. Our guys can try fixing those invalid emails, or just omit them (the Orders will be migrated properly).
The main advantage of an automated migration is that even a person with minimal to no tech skills can handle it. Also, it's totally secure and there's no store downtime.
If you wish to test the service in action, make sure to try our free Demo migration option. It takes just 30 minutes and is a perfect way to check your store on a new platform.
We're looking forward to helping you move your Customers and Orders from Magento to Shopify!