How to import Shopify data into Zoho Contacts
Import your Shopify customers into Zoho. This template maps the 11 standard fields to Zoho's underscored API names, including the full billing address and the per-customer Note column. Shopify also exports Total Spent, Total Orders, and Tags columns that Zoho doesn't have a default home for. The section below explains what to do with each one if you need it.
Field-by-field mapping
This is the complete column mapping from Shopify to Zoho Contacts. The left column is the header in your CSV export. The right column is the Zoho Contacts field it should map to.
Before you start
This template's destination has a required field that needs attention before upload. You can still use this template. The steps below tell you what to add and where.
- Last NameLast_Name
Zoho requires Last Name on every contact. Shopify customer exports ship a Last Name column on every row from the checkout form, so this is reliably populated; the caveat is single-name guest checkouts where the customer entered only one name.
What to do. Scan your CSV for blank Last Name rows before uploading. Fill them by hand from the order context, or remove those rows.
| First Name | First NameFirst_Name | |
| Last Name | Last Name*Last_Name | |
| Email TransformLowercased and trimmed | ||
| Phone | Mobile Shopify customer phones are typically mobile numbers entered at checkout. We map them to Zoho's Mobile field by default. TransformStandardized to international format (+1, +44, etc.) | |
| Company | Account NameAccount_Name | |
| Address1 | Mailing StreetMailing_Street | |
| City | Mailing CityMailing_City | |
| Province | Mailing StateMailing_State | |
| Zip | Mailing ZipMailing_Zip | |
| Country | Mailing CountryMailing_Country | |
| Note | Description Shopify's per-customer notes land in Zoho's native Description field on the contact. The free text is preserved verbatim. |
Required by Zoho Contacts.
Columns we don't use
Your Shopify export includes 4 columns this template doesn't map. Each one below explains why, plus the workaround if you want the data in Zoho Contacts.
- Total Spent
Zoho Contacts doesn't have a default lifetime-value field on the standard layout. Lifetime value is typically tracked through Deals in Zoho's data model.
If you need it. Add a custom currency field on the Zoho Contact called Total Spent, then re-run this template to map it.
- Total Orders
Zoho Contacts doesn't have a default order-count field.
If you need it. Add a custom number field on the Zoho Contact called Total Orders, then re-run this template to map it.
- Tags
Shopify tags export as a comma-separated string. Zoho uses its own tags feature, applied after import.
If you need it. After import, apply Zoho tags matching your Shopify tag values using a bulk-edit on the imported contacts.
- Accepts Email Marketing
Zoho tracks email opt-in through its Email Opt Out flag on contacts, not from an imported boolean column.
If you need it. Filter rows where Accepts Email Marketing is 'no' before upload to avoid importing opted-out customers, or set Email Opt Out in Zoho after import based on this column.
Formatting and cleanup
Shopify exports rarely match the format Zoho Contacts expects. Fix these before you import.
- 1.Lowercases and trims email addresses
- 2.Standardizes phone numbers to international format (+1, +44, etc.)
- 3.Renames Shopify columns to Zoho's underscored API names (First_Name, Last_Name, Account_Name, Mailing_*)
- 4.Maps Phone to Zoho's Mobile field (Shopify checkout phones are typically mobile)
- 5.Maps Shopify's billing address block to Zoho's Mailing address fields
Or skip the manual work
Operelio runs this cleanup and mapping for you. Upload your Shopify export and download a clean, import-ready file for Zoho Contacts.
Shopify to Zoho Contacts FAQ
How do I export my Shopify customers?
In your Shopify admin, go to Customers, click Export, choose 'All customers', and select CSV format.
Why does Phone go to Mobile?
Shopify customers enter their phone at checkout, and these are typically mobile numbers. Zoho splits phone into Phone and Mobile, so we default to Mobile. Remap to Phone after upload if your Shopify phones are consistently office numbers.
Why does Company map to Account_Name?
Zoho uses Account_Name on the contact to link the contact to a company record (Account). If the account doesn't exist yet, Zoho creates one during import.
What about unsubscribed Shopify customers?
Filter rows where Accepts Email Marketing is 'no' before upload to avoid importing customers who've opted out of marketing emails.
Will this create duplicates in Zoho?
Zoho uses email as the duplicate-check field on contacts by default. Customers with matching emails update the existing record instead of creating a duplicate. You can change this in Setup, Data Administration, Deduplication.