

How to Send WooCommerce Abandoned Carts to Mailchimp with N8n
Automatically add abandoned checkout emails to a Mailchimp segment for recovery campaigns.
Steps and UI details are based on platform versions at time of writing β check each platform for the latest interface.
Best for
E-commerce stores needing custom abandonment timing and complex business rules.
Not ideal for
Beginners wanting plug-and-play cart recovery without custom coding.
Sync type
real-timeUse case type
notificationReal-World Example
A 12-person outdoor gear company uses this to catch cart abandoners who left expensive items ($200+) and send personalized recovery emails with their name and specific products. Before automation, they manually exported cart data weekly and sent generic 'come back' emails, recovering maybe 2% of abandoned revenue. Now they catch abandoners within 15 minutes and recover 12% with personalized product recommendations.
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 Email | billing.email | |
| Cart Total | cart_total | |
| Cart Items | line_items | |
| Abandonment Date | abandoned_at | |
2 optional fieldsβΈ show
| First Name | billing.first_name |
| Last Name | billing.last_name |
Step-by-Step Setup
Workflow Canvas > + > Webhook
Install N8n Cart Abandonment Tracking
Set up N8n to detect abandoned carts by monitoring incomplete checkouts. This requires a webhook trigger since WooCommerce doesn't have a built-in abandonment event.
- 1Click the + button in your N8n canvas
- 2Search for 'Webhook' and select the Webhook trigger node
- 3Set HTTP Method to 'POST'
- 4Copy the webhook URL from the node panel
WordPress Admin > WooCommerce > Settings > Advanced > Webhooks
Configure WooCommerce Cart Tracking
Add custom code to your WooCommerce site to send cart data when users abandon checkout. This fires 15 minutes after the last cart activity.
- 1Install the 'WooCommerce Webhook Manager' plugin
- 2Go to WooCommerce > Settings > Advanced > Webhooks
- 3Click 'Add webhook'
- 4Set Topic to 'Action: woocommerce_cart_updated'
- 5Paste your N8n webhook URL in Delivery URL field
Workflow Canvas > + > Wait
Add Cart Abandonment Timer
Create a delay node to wait 15 minutes before processing. This prevents triggering on customers still shopping.
- 1Drag a new node after your webhook trigger
- 2Search for 'Wait' and select it
- 3Set 'Resume On' to 'After Time Interval'
- 4Enter '15' minutes in the duration field
Workflow Canvas > + > HTTP Request
Check Cart Status
Verify the cart is still abandoned before proceeding. Query WooCommerce to see if the order was completed during the wait period.
- 1Add an HTTP Request node after the Wait
- 2Set Method to 'GET'
- 3Enter URL: https://yoursite.com/wp-json/wc/v3/orders
- 4Add Query Parameter: customer_email = {{$node['Webhook'].json['customer_email']}}
- 5Set Authentication to Basic Auth with your WooCommerce API keys
Workflow Canvas > + > IF
Filter Confirmed Abandonments
Use an IF node to proceed only when no recent orders exist. This prevents sending recovery emails to customers who already purchased.
- 1Add an IF node after the HTTP Request
- 2Set Condition to 'Number'
- 3Select 'Length' operation for the orders array
- 4Set comparison to 'Equal' and value to '0'
Workflow Canvas > + > Mailchimp > Credentials
Connect Mailchimp Account
Authenticate with Mailchimp using your API key. This allows N8n to add contacts to your abandonment segment.
- 1Add a Mailchimp node after the IF node's 'true' output
- 2Click 'Create New Credential'
- 3Enter your Mailchimp API key
- 4Click 'Test' to verify connection
Mailchimp Node > Resource Settings
Select Target Audience
Choose which Mailchimp audience will receive the abandoned cart contacts. This is typically your main customer list.
- 1Set Resource to 'Member'
- 2Set Operation to 'Create or update'
- 3Select your audience from the 'List' dropdown
- 4Choose 'subscribed' for Status unless you have explicit consent tracking
Mailchimp Node > Email Field
Map Customer Email
Connect the email address from WooCommerce webhook data to Mailchimp's email field.
- 1Click in the 'Email' field
- 2Select 'Add Expression'
- 3Enter: {{$node['Webhook'].json['billing']['email']}}
- 4Click 'Test step' to verify the email appears
Mailchimp Node > Merge Fields
Add Merge Fields
Include cart details like customer name and cart total for personalized recovery emails.
- 1Expand 'Merge Fields' section
- 2Set FNAME to {{$node['Webhook'].json['billing']['first_name']}}
- 3Set LNAME to {{$node['Webhook'].json['billing']['last_name']}}
- 4Add custom field CART_TOTAL to {{$node['Webhook'].json['cart_total']}}
Mailchimp Node > Tags
Tag for Abandonment Segment
Apply a specific tag that triggers your abandoned cart email sequence. This separates cart abandoners from regular subscribers.
- 1Scroll to 'Tags' section
- 2Click 'Add Tag'
- 3Enter 'cart-abandoned' as the tag name
- 4Add current date with {{$now.format('yyyy-MM-dd')}}
Workflow Canvas > Execute Workflow
Test the Complete Flow
Execute the full workflow with real cart abandonment data to verify all connections work properly.
- 1Click 'Execute Workflow' button
- 2Go to your WooCommerce site in another tab
- 3Add items to cart and start checkout without completing
- 4Wait 16 minutes and check N8n execution log
Workflow Canvas > Active Toggle
Activate Workflow
Turn on the workflow to start capturing abandoned carts automatically. Monitor execution history for the first few days.
- 1Click the toggle switch in the top right to 'Active'
- 2Save the workflow with Ctrl+S
- 3Set up email notifications for failed executions in Settings
Drop this into an n8n Code node.
Copy this template{{$json.line_items.filter(item => parseFloat(item.price) > 50).map(item => item.name).join(', ')}}βΈ Show code
{{$json.line_items.filter(item => parseFloat(item.price) > 50).map(item => item.name).join(', ')}}... expand to see full code
{{$json.line_items.filter(item => parseFloat(item.price) > 50).map(item => item.name).join(', ')}}Scaling Beyond 100+ abandonments/day+ Records
If your volume exceeds 100+ abandonments/day records, apply these adjustments.
Batch Mailchimp Updates
Use Mailchimp's batch operations endpoint instead of individual API calls. N8n's HTTP Request node can POST up to 500 contacts at once, reducing API usage by 90%.
Add Rate Limiting
Insert a Wait node with 0.1 second delay between Mailchimp calls. Mailchimp allows 10 requests/second β this keeps you safely under the limit even with 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 need custom cart abandonment timing (like 2 hours instead of 15 minutes) or want to add complex logic like excluding VIP customers. N8n's code nodes let you calculate cart value, check customer history, or integrate with loyalty programs. Pick Zapier instead if you want plug-and-play setup β their WooCommerce triggers handle abandonment detection automatically.
This workflow uses about 3 executions per abandoned cart: webhook trigger, order status check, and Mailchimp update. At 200 abandonments/month, that's 600 executions. N8n cloud starts at $20/month for 5,000 executions, so you're well within limits. Zapier charges $20/month for 750 tasks β you'd hit that limit at 250 abandoners. Make costs $9/month for 1,000 operations, making it cheapest for high-volume stores.
Zapier's WooCommerce integration detects cart abandonment automatically without custom code β N8n requires you to build the detection logic. Make has better error handling for Mailchimp rate limits with built-in retry mechanisms. But N8n wins on customization: you can add complex business rules, like skipping abandonment emails for customers who've purchased in the last 30 days, or sending different messages based on cart value.
Mailchimp's API rate limit is 10 requests per second β if you get 50+ abandoners per minute, you'll hit 429 errors. Add a delay between Mailchimp calls using N8n's Wait node. WooCommerce cart data expires after 24 hours, so customers who return after a day show as new abandoners even if they completed purchase. Your order status check in step 4 needs to query the last 48 hours, not just recent orders.
Ideas for what to build next
- βAdd Purchase Completion Tracking β Remove the abandonment tag when customers complete their purchase, preventing recovery emails to paying customers.
- βCreate High-Value Abandoner Alerts β Send Slack notifications when carts over $500 are abandoned so sales team can follow up personally within an hour.
- βBuild Abandonment Analytics Dashboard β Log abandonment data to Google Sheets or Airtable to track recovery rates, average cart values, and email performance by product category.
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