Customer synchronization in WooCommerce to Shopify Sync (W2S) helps you keep customer records aligned between WooCommerce and Shopify. This guide explains how customer sync works, what data is transferred, supported sync directions, and best practices for avoiding duplicates and data conflicts.
Customer sync plays a critical role in order synchronization. Customers must be synced before orders to ensure proper order-to-customer linking on the destination platform.
How Customer Synchronization Works #
W2S synchronizes customers by creating, updating, or deleting customer records between WooCommerce and Shopify based on your selected sync direction and rules.
Key characteristics of customer sync:
- The email address is the primary identifier
- Customers can be synced one-way or bidirectionally
- Existing customers can be updated
- Customer deletion is supported (use with caution)
- Sync runs safely in the background
Customer Data That Is Synced #
Basic Customer Information
- First name
- Last name
- Email address (primary identifier)
- Phone number (if available)
Billing Address
- Address line 1
- Address line 2
- City
- State or province
- Postal code
- Country
- Company name (if available)
Shipping Address
- Address line 1
- Address line 2
- City
- State or province
- Postal code
- Country
- Company name (if available)

Only the address data that exists on the source platform is synced.
Supported Sync Directions #
1. WooCommerce → Shopify
Sync customers created in WooCommerce to Shopify.
How to Sync Customers from WooCommerce to Shopify
- Go to the Config tab
- Select WooCommerce → Shopify as the sync direction
- Choose sync timing: on-save, hourly, daily, or weekly sync
- Enable the Customers module
- Choose Create, Update, or Delete actions
- Apply filters if required
- Save configuration to run sync

2. Shopify → WooCommerce
Sync customers created in Shopify to WooCommerce.
How to Sync Customers from Shopify to WooCommerce
- In the Config tab, select Shopify → WooCommerce as the sync direction
- Choose one sync timing
- Enable the Customers module
- Choose Create, Update, or Delete actions
- Save the configuration
- Verify the audit log for sync status

3. Bidirectional Customer Sync
W2S Sync supports bidirectional customer synchronization.
This allows:
- Customers created in WooCommerce to sync to Shopify
- Customers created in Shopify to sync to WooCommerce

Updates are synced carefully using email-based matching to prevent duplication.
Customer Matching Logic #
Primary Matching Rule
Customers are matched using their email addresses.
Email is used because:
- It is unique across platforms
- It is required for account creation
- It ensures accurate order-to-customer linking
Existing Customer Handling
If a customer with the same email already exists on the destination platform:
- The existing customer is updated (if Update is enabled)
- A duplicate customer is not created
Customer Account Creation Behavior #
WooCommerce
When customers are synced into WooCommerce:
- A WordPress user account is created
- The user role is set to Customer
- WooCommerce customer data is linked automatically
Shopify
When customers are synced into Shopify:
- A customer record is created
- Email address is preserved
- Address information is attached if available
Passwords are not transferred between platforms.
Customer Role Filtering (Pro Feature) #
W2S Pro allows filtering customers by WordPress user role before syncing.
Examples:
- Sync only users with the Customer role, or Subscriber role, or both
- Exclude subscribers or test accounts

Customer Deletion Sync #
Customer deletion sync is supported.
- If a customer is deleted on the source platform
- The same customer will be deleted on the destination platform
This action is permanent and should be used carefully. So it’s recommended only for removing test accounts, controlled cleanup tasks, and non-production environments.
Customer Sync Operations #
Create
Creates new customer records on the destination platform.
Used for:
- Initial migration
- Syncing new customers
Update
Updates existing customer records when changes are detected.
Used for:
- Address updates
- Name or phone number changes
- Ongoing maintenance sync
Delete
Deletes customers from the destination platform. Use with caution.
Customer Sync and Orders #
Customer sync should always be completed before order sync.
Here’s why this matters:
- Orders are linked to customers using email
- Pre-synced customers prevent orphaned orders
- Customer history remains intact
If a customer is not found during order sync:
- The order may still sync
- Customer linkage may be incomplete
Best Practices #
Before Sync
- Ensure customer emails are valid and unique
- Backup customer data on both platforms
- Test with a small set of customers
- Sync customers before orders
During Sync
- Monitor the Audit Log
- Avoid changing sync settings mid-run
- Check for errors or skipped records
After Sync
- Verify customer counts
- Check billing and shipping addresses
- Confirm no duplicate customers were created
Common Issues and Solutions #
Customers Not Syncing
- Ensure the Customers module is enabled
- Verify sync direction
- Check Audit Log for errors
- Confirm customers have email addresses
Duplicate Customers
- Duplicate emails on the source platform
- Manual customer creation on both platforms
Solution:
- Clean duplicate emails
- Use Update instead of Create where applicable
Missing Addresses
- The address fields are empty on the source
- Incomplete customer profiles
Solution:
- Update customer profiles before syncing
- Re-run sync with Update enabled
Related Documentation #
- Product Synchronization Guide
- Order Synchronization Guide
- Sync Configuration
- Field Mapping
- Frequently Asked Questions
Support #
If you need help with customer synchronization:
- Review the FAQ
- Check the Audit Log
- Contact Smackcoders Support