Intermediate~20 min setupMarketing & E-commerceVerified April 2026
Mailchimp logo
WooCommerce logo

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-time

Use case type

notification

Real-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.

/mo
505005K50K

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

Skip the setup

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.

WooCommerce store with admin access to install plugins
Mailchimp account with API key permissions
N8n instance running (self-hosted or cloud)
WooCommerce REST API enabled with consumer key/secret
PHP/WordPress development access to add custom cart tracking code

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Customer Emailbilling.email
Cart Totalcart_total
Cart Itemsline_items
Abandonment Dateabandoned_at
2 optional fieldsβ–Έ show
First Namebilling.first_name
Last Namebilling.last_name

Step-by-Step Setup

1

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.

  1. 1Click the + button in your N8n canvas
  2. 2Search for 'Webhook' and select the Webhook trigger node
  3. 3Set HTTP Method to 'POST'
  4. 4Copy the webhook URL from the node panel
βœ“ What you should see: You should see a webhook node with a unique URL like https://your-n8n.com/webhook/abc123
2

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.

  1. 1Install the 'WooCommerce Webhook Manager' plugin
  2. 2Go to WooCommerce > Settings > Advanced > Webhooks
  3. 3Click 'Add webhook'
  4. 4Set Topic to 'Action: woocommerce_cart_updated'
  5. 5Paste your N8n webhook URL in Delivery URL field
βœ“ What you should see: The webhook status should show 'Active' with a green dot
⚠
Common mistake β€” Don't use the built-in 'Order' webhooks β€” those only fire on completed purchases, not abandonments
3

Workflow Canvas > + > Wait

Add Cart Abandonment Timer

Create a delay node to wait 15 minutes before processing. This prevents triggering on customers still shopping.

  1. 1Drag a new node after your webhook trigger
  2. 2Search for 'Wait' and select it
  3. 3Set 'Resume On' to 'After Time Interval'
  4. 4Enter '15' minutes in the duration field
βœ“ What you should see: The Wait node should display '15m' in the canvas view
⚠
Common mistake β€” Set this to at least 10 minutes β€” shorter delays catch customers still actively shopping
4

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.

  1. 1Add an HTTP Request node after the Wait
  2. 2Set Method to 'GET'
  3. 3Enter URL: https://yoursite.com/wp-json/wc/v3/orders
  4. 4Add Query Parameter: customer_email = {{$node['Webhook'].json['customer_email']}}
  5. 5Set Authentication to Basic Auth with your WooCommerce API keys
βœ“ What you should see: Test execution should return an empty array [] if no recent orders exist for that email
5

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.

  1. 1Add an IF node after the HTTP Request
  2. 2Set Condition to 'Number'
  3. 3Select 'Length' operation for the orders array
  4. 4Set comparison to 'Equal' and value to '0'
βœ“ What you should see: The IF node should show two output branches: 'true' and 'false'
⚠
Common mistake β€” Connect your next steps to the 'true' output only β€” 'false' means they already purchased
Mailchimp
MA
trigger
filter
Condition
matches criteria?
yes β€” passes through
no β€” skipped
WooCommerce
WO
notified
6

Workflow Canvas > + > Mailchimp > Credentials

Connect Mailchimp Account

Authenticate with Mailchimp using your API key. This allows N8n to add contacts to your abandonment segment.

  1. 1Add a Mailchimp node after the IF node's 'true' output
  2. 2Click 'Create New Credential'
  3. 3Enter your Mailchimp API key
  4. 4Click 'Test' to verify connection
βœ“ What you should see: You should see 'Connection successful' with your account name displayed
n8n settings
Connection
Choose a connection…Add
click Add
Mailchimp
Log in to authorize
Authorize n8n
popup window
βœ“
Connected
green checkmark
7

Mailchimp Node > Resource Settings

Select Target Audience

Choose which Mailchimp audience will receive the abandoned cart contacts. This is typically your main customer list.

  1. 1Set Resource to 'Member'
  2. 2Set Operation to 'Create or update'
  3. 3Select your audience from the 'List' dropdown
  4. 4Choose 'subscribed' for Status unless you have explicit consent tracking
βœ“ What you should see: The audience name should appear in the List field
⚠
Common mistake β€” Don't set status to 'pending' for existing customers β€” use 'subscribed' for cart abandonment
8

Mailchimp Node > Email Field

Map Customer Email

Connect the email address from WooCommerce webhook data to Mailchimp's email field.

  1. 1Click in the 'Email' field
  2. 2Select 'Add Expression'
  3. 3Enter: {{$node['Webhook'].json['billing']['email']}}
  4. 4Click 'Test step' to verify the email appears
βœ“ What you should see: Test should show a real email address in the preview
Mailchimp fields
email_address
status
merge_fields.FNAME
merge_fields.LNAME
tags[0].name
available as variables:
1.props.email_address
1.props.status
1.props.merge_fields.FNAME
1.props.merge_fields.LNAME
1.props.tags[0].name
9

Mailchimp Node > Merge Fields

Add Merge Fields

Include cart details like customer name and cart total for personalized recovery emails.

  1. 1Expand 'Merge Fields' section
  2. 2Set FNAME to {{$node['Webhook'].json['billing']['first_name']}}
  3. 3Set LNAME to {{$node['Webhook'].json['billing']['last_name']}}
  4. 4Add custom field CART_TOTAL to {{$node['Webhook'].json['cart_total']}}
βœ“ What you should see: Merge fields should populate with test data from your webhook
⚠
Common mistake β€” Create the CART_TOTAL field in Mailchimp first β€” N8n can't create new merge fields automatically
10

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.

  1. 1Scroll to 'Tags' section
  2. 2Click 'Add Tag'
  3. 3Enter 'cart-abandoned' as the tag name
  4. 4Add current date with {{$now.format('yyyy-MM-dd')}}
βœ“ What you should see: Tags field should show 'cart-abandoned' and today's date
11

Workflow Canvas > Execute Workflow

Test the Complete Flow

Execute the full workflow with real cart abandonment data to verify all connections work properly.

  1. 1Click 'Execute Workflow' button
  2. 2Go to your WooCommerce site in another tab
  3. 3Add items to cart and start checkout without completing
  4. 4Wait 16 minutes and check N8n execution log
βœ“ What you should see: Execution should show green checkmarks on all nodes and the contact should appear in Mailchimp
⚠
Common mistake β€” The 15-minute delay means real testing takes time β€” use N8n's manual execution with sample data for faster iteration
n8n
β–Ά Run once
executed
βœ“
Mailchimp
βœ“
WooCommerce
WooCommerce
πŸ”” notification
received
12

Workflow Canvas > Active Toggle

Activate Workflow

Turn on the workflow to start capturing abandoned carts automatically. Monitor execution history for the first few days.

  1. 1Click the toggle switch in the top right to 'Active'
  2. 2Save the workflow with Ctrl+S
  3. 3Set up email notifications for failed executions in Settings
βœ“ What you should see: Workflow status should show 'Active' with a green indicator

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.

1

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%.

2

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

VerdictWhy n8n for this workflow

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.

Cost

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.

Tradeoffs

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

Was this guide helpful?
← Mailchimp + WooCommerce overviewn8n profile β†’