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

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

Use case type

sync

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

/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 configure webhooks
Mailchimp account with API access and at least one audience created
N8n instance running (cloud or self-hosted) with webhook access enabled
Mailchimp email sequences already built and configured to trigger on specific tags

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Customer Emailbilling.email
First Namebilling.first_name
Last Namebilling.last_name
Product Namesline_items[].name
Order Statusstatus
1 optional fieldβ–Έ show
Order Totaltotal

Step-by-Step Setup

1

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.

  1. 1Click 'New Workflow' from your N8n dashboard
  2. 2Rename it to 'WooCommerce to Mailchimp Tagging'
  3. 3Save the workflow with Ctrl+S
βœ“ What you should see: You should see a blank workflow canvas with the new name in the top left corner.
2

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.

  1. 1Click the '+' button to add your first node
  2. 2Search for 'Webhook' and select it
  3. 3Set HTTP Method to 'POST'
  4. 4Copy the webhook URL from the node panel
βœ“ What you should see: The webhook node shows a unique URL ending in /webhook/[random-string].
⚠
Common mistake β€” Don't change the webhook path after configuring WooCommerce - you'll break the connection and orders won't trigger.
n8n
+
click +
search apps
Mailchimp
MA
Mailchimp
Add WooCommerce Webhook Trig…
Mailchimp
MA
module added
3

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.

  1. 1Go to WooCommerce > Settings > Advanced > Webhooks
  2. 2Click 'Add webhook'
  3. 3Set Topic to 'Order created'
  4. 4Paste your N8n webhook URL into Delivery URL
  5. 5Set Status to 'Active' and save
βœ“ What you should see: WooCommerce shows your webhook with a green 'Active' status and successful ping test.
⚠
Common mistake β€” Select 'Order created' not 'Order updated' - updated fires on every status change and will spam your workflow.
4

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.

  1. 1Place a test order on your WooCommerce store
  2. 2Return to N8n and click 'Listen for Test Event' on the webhook node
  3. 3Check that order data appears in the webhook output panel
βœ“ What you should see: The webhook node shows order data including customer email, product names, and order total.
⚠
Common mistake β€” Use a real email address for testing - you'll need to verify the Mailchimp contact gets created properly.
n8n
β–Ά Run once
executed
βœ“
Mailchimp
βœ“
WooCommerce
WooCommerce
πŸ”” notification
received
5

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.

  1. 1Click '+' after the webhook node to add another node
  2. 2Search for 'HTTP Request' and select it
  3. 3Set Method to 'PUT'
  4. 4Enter URL: https://us1.api.mailchimp.com/3.0/lists/YOUR_LIST_ID/members/EMAIL_HASH
βœ“ What you should see: HTTP Request node appears connected to the webhook with empty configuration fields.
6

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.

  1. 1Go to Authentication and select 'Generic Credential Type'
  2. 2Set Auth Type to 'Header Auth'
  3. 3Add header 'Authorization' with value 'Bearer YOUR_API_KEY'
  4. 4Replace YOUR_API_KEY with your actual Mailchimp API key
βœ“ What you should see: The Authentication section shows 'Configured' with your API key partially hidden.
⚠
Common mistake β€” Your API key contains your server prefix (us1, us2, etc.) - make sure the URL matches this prefix or requests will fail.
7

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.

  1. 1Replace YOUR_LIST_ID with your actual Mailchimp audience ID
  2. 2Replace EMAIL_HASH with expression: {{ $node['Webhook'].json['billing']['email'].toLowerCase().md5() }}
  3. 3Click 'Test step' to verify the URL builds correctly
βœ“ What you should see: The URL shows your list ID and a 32-character MD5 hash where EMAIL_HASH was.
⚠
Common mistake β€” Email must be lowercase before hashing or Mailchimp will create duplicate contacts with different hashes.
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
8

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.

  1. 1Set Content-Type header to 'application/json'
  2. 2In Body, select 'JSON' format
  3. 3Add customer email, first/last name from webhook data
  4. 4Add tags array with product-based tags
βœ“ What you should see: Body shows JSON structure with customer fields populated from the webhook data.
9

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.

  1. 1Add IF node after the HTTP Request to check product names
  2. 2Set condition to check if line_items contains specific product names
  3. 3Create different tag arrays for different product categories
  4. 4Connect true/false branches to different HTTP requests with appropriate tags
βœ“ What you should see: IF node shows conditions checking for product names with different tag outputs for each branch.
⚠
Common mistake β€” Product names from WooCommerce include variant info - use 'contains' not 'equals' to match base product names reliably.
10

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.

  1. 1Place test orders with different product types
  2. 2Execute the workflow manually from the webhook data
  3. 3Check Mailchimp audience to verify contacts have correct tags
  4. 4Confirm email sequences trigger for tagged contacts
βœ“ What you should see: Mailchimp shows new contacts with product-specific tags and email sequences starting automatically.
⚠
Common mistake β€” Test with products that have different tag rules - don't just test one product type or you'll miss logic errors.

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.

1

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.

2

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

VerdictWhy n8n for this workflow

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.

Cost

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.

Tradeoffs

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

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