

How to Export Shopify Customers to Google Sheets with N8n
Automatically log new Shopify customers with name, email, total orders, and total spent to Google Sheets for segmentation and outreach.
Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.
Best for
Teams comfortable with light coding who need custom data formatting and high-volume customer exports.
Not ideal for
Non-technical users who prefer drag-and-drop field mapping without writing expressions.
Sync type
real-timeUse case type
exportReal-World Example
A 25-person D2C skincare brand uses this to build email segments based on purchase behavior. Before automation, their marketing manager exported customer lists from Shopify weekly and manually cross-referenced order counts in Excel. Now they segment first-time buyers vs repeat customers automatically for targeted email campaigns.
What Will This Cost?
Drag the slider to your expected monthly volume.
Each platform counts differently — Zapier: 1 task per trigger. Make: 1 operation per module per record. n8n: 1 execution per run.





Prices shown for annual billing. Based on published pricing as of April 2026.
Estimated ROI
1000
min saved/mo
$583
labor value/mo
Free
no platform cost
Based on ~2 min manual effort per operation at $35/hr fully loaded labor cost.
Implementation
Import this workflow directly into n8n
Copy the pre-built n8n blueprint and paste it straight into n8n. All modules, filters, and field mappings are already configured — you just need to connect your accounts.
Before You Start
Make sure you have everything ready.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Customer Name | first_name + last_name | |
| Email Address | email | |
4 optional fields▸ show
| Total Orders | orders_count |
| Total Spent | total_spent |
| Customer ID | id |
| Registration Date | created_at |
Step-by-Step Setup
Dashboard > + > Create workflow
Create New N8n Workflow
Start a blank workflow in N8n to build your customer export automation. This creates the canvas where you'll connect Shopify to Google Sheets.
- 1Click the + button in your N8n dashboard
- 2Select 'Create workflow' from the dropdown
- 3Name your workflow 'Shopify Customer Export'
- 4Click 'Create' to open the workflow editor
Workflow > Add Node > Shopify Trigger
Add Shopify Trigger Node
Configure N8n to listen for new customer registrations in your Shopify store. This webhook fires immediately when someone creates an account.
- 1Click the gray 'Add first step' node
- 2Search for 'Shopify' in the apps list
- 3Select 'Shopify Trigger'
- 4Choose 'Customer Created' from the event dropdown
Shopify Node > Credentials > Create New
Connect Your Shopify Store
Authenticate N8n with your Shopify admin account to access customer data. You'll need admin permissions to create webhooks.
- 1Click 'Create New' next to the Credential dropdown
- 2Enter your Shopify store URL (yourstore.myshopify.com)
- 3Paste your Admin API access token
- 4Click 'Save' then 'Test Connection'
Shopify Node > Listen for Test Event
Test Shopify Webhook
Register the webhook with Shopify and capture a test customer record. N8n needs real data to map fields correctly in the next step.
- 1Click 'Listen for Test Event' in the Shopify node
- 2Go to your Shopify admin and create a test customer
- 3Fill in name, email, and save the customer
- 4Return to N8n and click 'Stop Listening'
Workflow > Add Node > Google Sheets
Add Google Sheets Node
Connect a Google Sheets node to write customer data to your spreadsheet. This handles the actual data export from Shopify.
- 1Click the + button after the Shopify node
- 2Search for 'Google Sheets' and select it
- 3Choose 'Append' as the operation
- 4Select 'By Name' for spreadsheet selection method
Google Sheets Node > Credentials > Sign in with Google
Authenticate Google Sheets
Link your Google account so N8n can write to your spreadsheets. Use the account that owns your customer tracking sheet.
- 1Click 'Sign in with Google' in the credentials section
- 2Grant N8n permission to access Google Sheets
- 3Select your Google account from the dropdown
- 4Click 'Save' to store the credential
Google Sheets Node > Document Settings
Configure Target Spreadsheet
Point N8n to your customer tracking spreadsheet and specify which sheet tab to use. This determines where customer data gets written.
- 1Enter your spreadsheet name in the 'Document' field
- 2Type the sheet tab name (usually 'Sheet1' or 'Customers')
- 3Set 'Header Row' to 1 if your sheet has column headers
- 4Leave 'Range' empty to append to the bottom
Google Sheets Node > Columns
Map Customer Data Fields
Tell N8n which Shopify customer fields to write to which Google Sheets columns. This creates the actual data export mapping.
- 1Click 'Add Column' four times to create four mapping rows
- 2Set column A to map to {{ $json.first_name }} {{ $json.last_name }}
- 3Set column B to map to {{ $json.email }}
- 4Set column C to map to {{ $json.orders_count }}
- 5Set column D to map to {{ $json.total_spent }}
Workflow > Execute Workflow
Test the Complete Workflow
Run the full automation to verify customer data flows correctly from Shopify to Google Sheets. This catches mapping errors before going live.
- 1Click 'Execute Workflow' in the top toolbar
- 2Check that both nodes show green success checkmarks
- 3Open your Google Sheets document
- 4Verify the test customer data appears in the correct columns
Workflow > Activate Toggle
Activate the Workflow
Turn on the automation so it runs automatically when new customers register. The webhook will stay active until you deactivate it.
- 1Click the toggle switch in the top right corner
- 2Confirm activation when prompted
- 3Click 'Save' to store the workflow settings
- 4Test with a real customer registration
Drop this into an n8n Code node.
JavaScript — Code Node// Clean customer name formatting▸ Show code
// Clean customer name formatting
{{ $json.first_name.trim().charAt(0).toUpperCase() + $json.first_name.trim().slice(1).toLowerCase() }} {{ $json.last_name.trim().charAt(0).toUpperCase() + $json.last_name.trim().slice(1).toLowerCase() }}... expand to see full code
// Clean customer name formatting
{{ $json.first_name.trim().charAt(0).toUpperCase() + $json.first_name.trim().slice(1).toLowerCase() }} {{ $json.last_name.trim().charAt(0).toUpperCase() + $json.last_name.trim().slice(1).toLowerCase() }}Scaling Beyond 200+ customers/day+ Records
If your volume exceeds 200+ customers/day records, apply these adjustments.
Add Google Sheets Rate Limiting
Insert a 1-second delay node before Google Sheets to avoid hitting their 100 requests per 100 seconds limit. Without this, rapid customer signups will cause write failures.
Switch to Batch Processing
Replace the direct Google Sheets append with a queue system that batches multiple customers into a single sheet write. This reduces API calls and improves reliability during traffic spikes.
Going live
Production Checklist
Before you turn this on for real, confirm each item.
Troubleshooting
Common errors and how to fix them.
Frequently Asked Questions
Common questions about this workflow.
Analysis
Use N8n for this if you want full control over the data mapping and don't mind writing expressions manually. The webhook triggers instantly when customers register, and you can transform Shopify's nested JSON however you need. N8n also handles high volumes better than Zapier without hitting rate limits. Skip N8n if your team doesn't touch code at all — Zapier's point-and-click field mapping is genuinely easier for non-technical users.
This workflow uses 1 execution per new customer. At 100 customers/month, that's 100 executions monthly. N8n's free plan covers 5,000 executions, so you're well within limits. The $20 Starter plan handles 20,000 executions. Zapier would cost $20/month for the same volume since customer webhooks need their premium trigger. Make offers 1,000 operations free, then $9/month for 10K — cheaper if you stay under that threshold.
Zapier handles the Google Sheets integration more smoothly with better error handling when sheets are renamed or moved. Make's Shopify connector pulls more customer fields by default, including tags and marketing consent. But N8n gives you the most flexibility for data transformation — you can calculate customer lifetime value, format names properly, or skip test customers with custom logic that the others can't match.
Shopify's total_spent field comes as a string, not a number, so Google Sheets might not calculate correctly until you add a parseFloat() expression. The webhook delivers immediately but Google Sheets can lag 10-30 seconds on writes during peak hours. If customers register faster than 1 per second, you'll need to add a delay node to avoid hitting Google's 100 requests/100 seconds limit.
Ideas for what to build next
- →Add Order Details Export — Create a second workflow that captures order line items to a separate sheet when customers make purchases.
- →Build Customer Segmentation — Use Google Sheets formulas or a follow-up N8n workflow to automatically tag high-value vs new customers based on the exported data.
- →
Related guides
How to Share Notion Meeting Notes to Slack with Pipedream
~15 min setup
How to Share Notion Meeting Notes to Slack with Power Automate
~15 min setup
How to Share Notion Meeting Notes to Slack with n8n
~20 min setup
How to Send Notion Meeting Notes to Slack with Zapier
~8 min setup
How to Share Notion Meeting Notes to Slack with Make
~12 min setup
How to Create Notion Tasks from Slack with Pipedream
~15 min setup