How to import WooCommerce data into Zoho Contacts
Import your WooCommerce customers into Zoho. This template maps name, email, phone, billing_company, and the full billing address to Zoho's underscored API names. Zoho requires Last Name on every contact, and WooCommerce exports a last_name column for every customer, so most rows import without manual fixes. WooCommerce checkout phones are typically mobile, so we map billing_phone to Zoho's Mobile field by default.
Field-by-field mapping
This is the complete column mapping from WooCommerce 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.
| first_name | First NameFirst_Name | |
| last_name | Last Name*Last_Name | |
| Email TransformLowercased and trimmed | ||
| billing_phone | Mobile WooCommerce checkout phones are typically mobile numbers. We map them to Zoho's Mobile field by default. Remap to Phone after upload if your customer phones are consistently office numbers. TransformStandardized to international format (+1, +44, etc.) | |
| billing_company | Account NameAccount_Name | |
| billing_address_1 | Mailing StreetMailing_Street | |
| billing_city | Mailing CityMailing_City | |
| billing_state | Mailing StateMailing_State | |
| billing_postcode | Mailing ZipMailing_Zip | |
| billing_country | Mailing CountryMailing_Country |
Required by Zoho Contacts.
Columns we don't use
Your WooCommerce export includes 7 columns this template doesn't map. Each one below explains why, plus the workaround if you want the data in Zoho Contacts.
- shipping_address_1, shipping_city, shipping_state, shipping_postcode, shipping_country
WooCommerce exports a full shipping address block alongside the billing block. Zoho's Mailing address fields already hold the billing address from this template.
If you need it. If shipping is the more useful address, swap the mapping after upload: send shipping_address_1 to Mailing_Street, shipping_city to Mailing_City, and so on. To keep both, add custom address fields on the Zoho Contact (e.g. Shipping_Street) and re-run this template.
- order_count
Zoho Contacts doesn't have a default order-count field.
If you need it. Add a custom number field on the Zoho Contact called Order Count, then re-run this template to map it.
- total_spent
Zoho Contacts doesn't have a default lifetime-value field. 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.
Formatting and cleanup
WooCommerce 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 WooCommerce columns to Zoho's underscored API names (First_Name, Last_Name, Account_Name, Mailing_*)
- 4.Maps billing_phone to Zoho's Mobile field (WooCommerce checkout phones are typically mobile)
- 5.Maps WooCommerce's billing address block to Zoho's Mailing address fields
- 6.Maps billing_company to Zoho's Account_Name, which links contacts to a company record
Or skip the manual work
Operelio runs this cleanup and mapping for you. Upload your WooCommerce export and download a clean, import-ready file for Zoho Contacts.
WooCommerce to Zoho Contacts FAQ
How do I export customers from WooCommerce?
In your WordPress admin, go to WooCommerce > Customers, then click the Download button at the top-right of the page to export to CSV. You can also use WooCommerce > Reports > Customers for the legacy export view.
Why does billing_phone go to Mobile?
WooCommerce customers enter their phone at checkout, typically a mobile. Zoho splits phone numbers into Phone and Mobile, so we default to Mobile. Remap to Phone after upload if your customer phones are consistently office numbers.
Why does billing_company go 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.
Can I use shipping address instead of billing?
Yes. See 'Columns we don't use' below for the swap pattern. Most WooCommerce customers have a billing address since it's required at checkout, so we default to billing.
What about WooCommerce order data?
Order count and total spent appear in the export but don't have default Zoho contact fields. See 'Columns we don't use' below.
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. You can change this in Setup, Data Administration, Deduplication.