

How to Tag Mailchimp Customers by Purchase with N8n
Tag new customers in Mailchimp based on their WooCommerce purchase, triggering product-specific email sequences automatically.
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 wanting real-time, custom tagging logic based on specific products purchased.
Not ideal for
Simple stores with basic tagging needs who want the fastest setup possible.
Sync type
real-timeUse case type
syncReal-World Example
A fitness equipment retailer uses this to tag customers based on whether they buy cardio equipment, weights, or accessories. Cardio buyers get a 12-week training program email series, while weight buyers receive strength training content. Before automation, they manually segmented customers weekly and new buyers waited days for relevant follow-ups.
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 | |
| First Name | billing.first_name | |
| Last Name | billing.last_name | |
| Product Names | line_items[].name | |
| Order Status | status | |
1 optional fieldβΈ show
| Order Total | total |
Step-by-Step Setup
Dashboard > New Workflow
Create New N8n Workflow
Start a fresh workflow to catch WooCommerce orders and push customer data to Mailchimp. You'll need webhook and HTTP request nodes for this setup.
- 1Click 'New Workflow' from your N8n dashboard
- 2Rename it to 'WooCommerce to Mailchimp Tagging'
- 3Save the workflow with Ctrl+S
Workflow Canvas > Add Node > Webhook
Add WooCommerce Webhook Trigger
Set up a webhook node to receive order data when customers complete purchases. WooCommerce will POST order details to this endpoint.
- 1Click the '+' button to add your first node
- 2Search for 'Webhook' and select it
- 3Set HTTP Method to 'POST'
- 4Copy the webhook URL from the node panel
WP Admin > WooCommerce > Settings > Advanced > Webhooks
Configure WooCommerce Webhook
Tell WooCommerce to send order data to your N8n webhook whenever someone completes a purchase. This creates the trigger connection.
- 1Go to WooCommerce > Settings > Advanced > Webhooks
- 2Click 'Add webhook'
- 3Set Topic to 'Order created'
- 4Paste your N8n webhook URL into Delivery URL
- 5Set Status to 'Active' and save
N8n Workflow > Webhook Node > Listen for Test Event
Test Webhook Connection
Verify WooCommerce can send order data to N8n by placing a test order. This confirms your webhook setup works before building the Mailchimp logic.
- 1Place a test order on your WooCommerce store
- 2Return to N8n and click 'Listen for Test Event' on the webhook node
- 3Check that order data appears in the webhook output panel
Workflow Canvas > Add Node > HTTP Request
Add Mailchimp HTTP Request Node
Connect to Mailchimp's API to add or update customer contacts. N8n doesn't have a native Mailchimp node, so you'll use HTTP requests with their API.
- 1Click '+' after the webhook node to add another node
- 2Search for 'HTTP Request' and select it
- 3Set Method to 'PUT'
- 4Enter URL: https://us1.api.mailchimp.com/3.0/lists/YOUR_LIST_ID/members/EMAIL_HASH
HTTP Request Node > Authentication
Configure Mailchimp Authentication
Set up API key authentication so N8n can write to your Mailchimp account. You'll need your API key and server prefix from Mailchimp settings.
- 1Go to Authentication and select 'Generic Credential Type'
- 2Set Auth Type to 'Header Auth'
- 3Add header 'Authorization' with value 'Bearer YOUR_API_KEY'
- 4Replace YOUR_API_KEY with your actual Mailchimp API key
HTTP Request Node > URL
Map Customer Email and Hash
Configure the API endpoint with the customer's email address from the WooCommerce order. Mailchimp requires MD5 hashing of email addresses for their API.
- 1Replace YOUR_LIST_ID with your actual Mailchimp audience ID
- 2Replace EMAIL_HASH with expression: {{ $node['Webhook'].json['billing']['email'].toLowerCase().md5() }}
- 3Click 'Test step' to verify the URL builds correctly
HTTP Request Node > Body
Build Request Body with Customer Data
Send customer information and purchase-based tags to Mailchimp. The body includes email, name, and tags based on what products they bought.
- 1Set Content-Type header to 'application/json'
- 2In Body, select 'JSON' format
- 3Add customer email, first/last name from webhook data
- 4Add tags array with product-based tags
Workflow Canvas > Add Node > IF
Create Product-Based Tag Logic
Map WooCommerce product names to specific Mailchimp tags that trigger different email sequences. This lets you send relevant follow-ups based on what customers bought.
- 1Add IF node after the HTTP Request to check product names
- 2Set condition to check if line_items contains specific product names
- 3Create different tag arrays for different product categories
- 4Connect true/false branches to different HTTP requests with appropriate tags
N8n Workflow > Execute Workflow > Manual
Test Full Workflow
Verify the complete flow by placing orders with different products and checking that correct tags appear in Mailchimp. This confirms your tagging logic works.
- 1Place test orders with different product types
- 2Execute the workflow manually from the webhook data
- 3Check Mailchimp audience to verify contacts have correct tags
- 4Confirm email sequences trigger for tagged contacts
Drop this into an n8n Code node.
Copy this template{{ $node['Webhook'].json['line_items'].map(item => item.name.includes('Premium') ? 'premium-customer' : 'standard-customer') }}βΈ Show code
{{ $node['Webhook'].json['line_items'].map(item => item.name.includes('Premium') ? 'premium-customer' : 'standard-customer') }}... expand to see full code
{{ $node['Webhook'].json['line_items'].map(item => item.name.includes('Premium') ? 'premium-customer' : 'standard-customer') }}Scaling Beyond 50+ orders/day+ Records
If your volume exceeds 50+ orders/day records, apply these adjustments.
Add Request Delays
Insert Wait nodes with 100ms delays between Mailchimp API calls. Mailchimp limits to 10 requests/second and will block your IP temporarily if you exceed this rate consistently.
Batch Tag Updates
Instead of individual API calls per order, collect orders into batches of 10-20 and use Mailchimp's batch operations endpoint. This reduces API calls by 90% and improves reliability at high volume.
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 tagging logic without monthly per-contact fees. You can build complex product-to-tag mappings, handle WooCommerce variations properly, and modify the workflow as your product line grows. The webhook approach gives you real-time tagging within seconds of purchase. Skip N8n if you need this running in 10 minutes - Zapier's WooCommerce and Mailchimp apps are pre-built and faster to configure.
This workflow uses 2-4 operations per order depending on your IF logic branching. At 100 orders/month, that's 200-400 executions monthly. N8n cloud starts at $20/month for 2,500 executions, so you're well covered. Zapier would cost $20/month for 750 tasks, and Make starts at $9/month for 1,000 operations. Make wins on cost, but N8n gives you better webhook reliability and complex tagging logic that Make's visual interface makes clunky to build.
Zapier's native WooCommerce trigger handles order status filtering and product variation parsing better than raw webhook data. Make has cleaner JSON path expressions for extracting product names and customer data without manual expression writing. But N8n lets you build sophisticated tag logic with code expressions, handle Mailchimp's MD5 email hashing requirement elegantly, and customize the HTTP requests exactly how Mailchimp's API expects them - something both visual platforms struggle with.
Mailchimp's API requires MD5 hashing of email addresses, which trips up most people initially since the documentation buries this requirement. WooCommerce webhook data includes product variations as separate line items, so checking for 'Blue T-Shirt Large' won't match 'Blue T-Shirt' - use contains logic or check the parent product_id field instead. If you're processing high order volumes, Mailchimp rate limits at 10 requests per second, so you'll need to add delay nodes between requests to avoid 429 errors that break your workflow.
Ideas for what to build next
- βAdd Purchase Behavior Tracking β Create a Google Sheet log of all tagged customers with purchase dates and product categories for future campaign analysis.
- βBuild Abandoned Cart Recovery β Set up a separate N8n workflow to catch WooCommerce cart abandonment events and trigger Mailchimp win-back sequences.
- βIntegrate Customer Lifetime Value β Pull historical order data from WooCommerce to calculate CLV and add premium tags for high-value repeat customers automatically.
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