The Scenario
The WooCommerce migration is done — the products are live, the store is configured — but 3,000 customer records are still sitting in a Google Sheet. First name, last name, email, phone, all there. None of it is in Shopify yet.
The project manager who owned the migration has since moved on. The sheet got handed to you in a Slack message with "can you finish this up?" You've never done a Shopify customer import before.
The bad version:
- Download Shopify's customer CSV import template, map your columns to the template's format.
- Discover that Shopify's template separates the address into sub-fields your WooCommerce export doesn't have.
- Import the 3,000 rows, get an import report with 200 errors, none of them with useful error messages.
You were supposed to have the store fully operational this week. A 200-row mystery error report is not in the plan.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It reads the customer data and creates records in Shopify via the API — no CSV template, no column format memorization. You point it at your columns and it handles the rest.
Create a Shopify customer for each row in my Customer Import sheet using column A for first name, B for last name, C for email, D for phone — write the returned customer ID into column E
What You Get
- A Shopify customer record created for each row, with the assigned customer ID written back into column E as a permanent reference.
- Any rows that fail — duplicate emails, invalid phone formats — get an error message in column E instead, so you can fix them specifically rather than hunting through a report.
- Customers appear in your Shopify admin immediately and are ready for any post-import segmentation.
What If the Data Is Not Quite Ready
Phone numbers are in different formats across the sheet
Create Shopify customers for each row in my Customer Import sheet using columns A through D — normalize column D phone numbers to E.164 format before submitting — write the customer ID into column E
Some rows have duplicate email addresses
Create Shopify customers for each row in my Customer Import sheet where column E is blank — skip any row where column C email already exists as a Shopify customer — write the customer ID into column E or 'duplicate' if skipped
Tags need to be applied based on a column value
Create Shopify customers for each row in my Customer Import sheet using columns A through D — if column F says 'wholesale', apply the tag 'wholesale' to the customer — write the customer ID into column E
Normalize phones, skip duplicates, apply tags based on tier, and confirm each row
For each row in my Customer Import sheet where column E is blank, create a Shopify customer using first name (A), last name (B), email (C), phone (D, normalized to E.164) — apply tag from column F if not blank — skip rows where column C already exists in Shopify — write 'created' or 'duplicate' and the customer ID into column E
Handling normalization, deduplication, and tag assignment in one pass means you don't need a separate cleanup script before the import.
Try It
Get the 7-day free trial of SheetXAI and open the customer migration sheet that's been waiting in your Slack messages, then ask SheetXAI to create the Shopify records from your existing rows. Future customer imports from any source will use the same pattern. Also worth reading: how to bulk update customer tags for segmentation, or the hub overview for all Shopify workflows.
