Beginner~12 min setupMarketing & E-commerceVerified April 2026
Mailchimp logo
WooCommerce logo

How to Create Win-Back Tags in Mailchimp from WooCommerce with Make

Automatically tag customers in Mailchimp who haven't purchased from WooCommerce in 90 days to trigger re-engagement 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 with existing Mailchimp audiences who need precise control over win-back campaign timing and logic.

Not ideal for

Stores already using Klaviyo or other e-commerce email platforms with built-in customer lifecycle automation.

Sync type

scheduled

Use case type

notification

Real-World Example

πŸ’‘

A 25-person outdoor gear retailer uses this to identify customers who haven't ordered in 90 days and automatically tag them for seasonal win-back campaigns. Before automation, their marketing manager spent 3 hours weekly manually segmenting customers based on last purchase date in spreadsheets. Now the system catches 50-80 win-back candidates monthly and their re-engagement campaigns run automatically, recovering 15% of tagged customers within 30 days.

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 Make

Copy the pre-built Make blueprint and paste it straight into Make. 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 REST API enabled and consumer keys generated
Mailchimp account with at least one audience containing customer emails
Customer email addresses synced between WooCommerce and Mailchimp
Win-back email automation already set up in Mailchimp triggered by the tag
Make account with at least Core plan for daily scheduling

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Customer Emailbilling.email
Order Datedate_created
Customer IDcustomer_id
Order Statusstatus
2 optional fieldsβ–Έ show
Order Totaltotal
Customer First Namebilling.first_name

Step-by-Step Setup

1

Scenarios > New Scenario > WooCommerce

Connect WooCommerce to Make

First, establish the WooCommerce connection to pull customer purchase data. Make needs your store URL and Consumer Key/Secret to access order history.

  1. 1Click the purple + button in Make to create a new scenario
  2. 2Select 'WooCommerce' from the apps list
  3. 3Choose 'Watch Orders' as your trigger module
  4. 4Enter your WooCommerce store URL (without /wp-admin)
  5. 5Paste your Consumer Key and Consumer Secret from WooCommerce > Settings > Advanced > REST API
βœ“ What you should see: You should see a green 'Connection verified' message and the WooCommerce module turns blue.
⚠
Common mistake β€” Don't use 'List Orders' - that pulls historical data once instead of monitoring for changes.
2

Scenario Builder > Filter Settings

Set Up Date Filter Module

Add a filter to identify orders older than 90 days. This prevents the scenario from processing recent orders that don't need win-back campaigns.

  1. 1Click the wrench icon between WooCommerce and the next module
  2. 2Select 'Add a filter'
  3. 3Set the filter label to 'Orders older than 90 days'
  4. 4Choose 'Date created' from WooCommerce fields
  5. 5Set operator to 'Is before'
  6. 6Enter formula: {{addDays(now; -90)}}
βœ“ What you should see: The filter shows as a funnel icon with your label between the modules.
⚠
Common mistake β€” Use 'Date created' not 'Date modified' - modified changes with order updates and will trigger incorrectly.
Mailchimp
MA
trigger
filter
Condition
matches criteria?
yes β€” passes through
no β€” skipped
WooCommerce
WO
notified
3

WooCommerce > List Orders

Add Customer Lookup Module

Check if this customer has made any recent purchases before tagging them. This prevents tagging customers who bought something in the last 90 days through a different order.

  1. 1Add a new WooCommerce module after the filter
  2. 2Select 'List Orders' action
  3. 3Set 'Customer' field to the customer ID from step 1
  4. 4Set 'After' date to {{addDays(now; -90)}}
  5. 5Set 'Status' to 'completed'
  6. 6Limit results to 1
βœ“ What you should see: The module shows parameters filled with customer ID and date formula from previous steps.
4

Scenario Builder > Filter Settings

Add No Recent Orders Filter

Only proceed if the customer lookup returns zero recent orders. This ensures you only tag customers who truly haven't purchased in 90+ days.

  1. 1Add another filter after the List Orders module
  2. 2Set filter label to 'No recent orders'
  3. 3Choose the 'Total results' field from List Orders
  4. 4Set operator to 'Equal to'
  5. 5Enter value: 0
βœ“ What you should see: Filter shows 'No recent orders' label and is configured to pass only when no recent orders exist.
⚠
Common mistake β€” Make sure to use 'Total results' not the order array - you're counting results, not checking order data.
5

Mailchimp > Add/Remove Member Tags

Connect Mailchimp Account

Establish connection to Mailchimp so you can add tags to customer records. Make uses OAuth, so you'll authorize through Mailchimp's login screen.

  1. 1Add a new module and select 'Mailchimp'
  2. 2Choose 'Add/Remove Member Tags' action
  3. 3Click 'Add' next to Connection
  4. 4Enter a connection name like 'Main Mailchimp Account'
  5. 5Click 'Save' and authorize through Mailchimp's OAuth popup
βœ“ What you should see: Mailchimp module appears with a dropdown showing your connected lists.
⚠
Common mistake β€” The OAuth popup might be blocked - check for browser popup blocker notifications if authorization fails.
Make settings
Connection
Choose a connection…Add
click Add
Mailchimp
Log in to authorize
Authorize Make
popup window
βœ“
Connected
green checkmark
6

Mailchimp > Add/Remove Member Tags > Audience ID

Select Target Audience

Choose which Mailchimp audience to update with win-back tags. This should match where you store your customer email list.

  1. 1Click the 'Audience ID' dropdown in the Mailchimp module
  2. 2Select your main customer audience from the list
  3. 3If you don't see your audience, click 'Refresh' and wait 10 seconds
βœ“ What you should see: The audience dropdown shows your selected list name and the Member Email field appears below.
⚠
Common mistake β€” Don't select a segment - you need the full audience ID, not a filtered subset.
7

Mailchimp > Add/Remove Member Tags > Member Email

Map Customer Email

Connect the customer's email from WooCommerce to Mailchimp's member lookup. This tells Mailchimp which subscriber to tag.

  1. 1Click in the 'Member Email' field
  2. 2Select the customer email from the WooCommerce Watch Orders data
  3. 3Verify the email appears as {{billing.email}} or similar in the field
βœ“ What you should see: The Member Email field shows the WooCommerce email mapping with double curly braces.
⚠
Common mistake β€” Use billing email, not shipping email - billing is required for orders while shipping can be empty.
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

Mailchimp > Add/Remove Member Tags > Tags

Configure Win-Back Tag

Set up the actual tag that will trigger your re-engagement campaign in Mailchimp. Make sure this tag name matches what your email automation expects.

  1. 1Click 'Add item' in the Tags section
  2. 2Enter tag name: 'win-back-90d'
  3. 3Set Status to 'active'
  4. 4Leave other tag fields empty
βœ“ What you should see: The Tags section shows one item with 'win-back-90d' as the name and 'active' status.
⚠
Common mistake β€” Use consistent tag naming - if your email automation looks for 'winback', don't use 'win-back' here.
9

Module Settings > Error Handling

Set Up Error Handling

Configure what happens when Mailchimp can't find a customer email or the API call fails. This prevents the scenario from breaking on bad data.

  1. 1Right-click the Mailchimp module
  2. 2Select 'Add error handling'
  3. 3Choose 'Break' directive
  4. 4Check 'Store incomplete executions' box
βœ“ What you should see: A small error handler icon appears on the Mailchimp module with a break symbol.
10

Scenario Controls > Run once

Test the Scenario

Run a test with real data to verify tags get applied correctly. Use a customer you know hasn't purchased recently.

  1. 1Click 'Run once' at the bottom of the scenario
  2. 2Wait for execution to complete
  3. 3Check the execution log for any errors
  4. 4Verify in Mailchimp that the test customer now has the win-back tag
βœ“ What you should see: Execution shows green checkmarks on all modules and the customer appears with win-back tag in Mailchimp.
⚠
Common mistake β€” Don't test with your own email unless you want to receive win-back campaigns - use a test customer instead.
Make
β–Ά Run once
executed
βœ“
Mailchimp
βœ“
WooCommerce
WooCommerce
πŸ”” notification
received
11

Scenario Settings > Scheduling

Schedule the Scenario

Set the scenario to run daily to catch customers who cross the 90-day threshold. Running more frequently wastes operations since purchase behavior doesn't change hourly.

  1. 1Click the clock icon next to the scenario name
  2. 2Select 'Every day'
  3. 3Set time to run during low-traffic hours (like 2 AM)
  4. 4Click 'OK' to save the schedule
βœ“ What you should see: The scenario header shows 'Scheduled' status with your chosen frequency and time.
⚠
Common mistake β€” Don't run this hourly - WooCommerce APIs have rate limits and daily is frequent enough for win-back campaigns.

Drop this into a Make custom function.

JavaScript β€” Custom Function{{if(dateDifference(now; 1.date_created; "days") > 90 and dateDifference(now; 1.date_created; "days") < 95; "win-back-90d"; if(dateDifference(now; 1.date_created; "days") > 180; "win-back-180d"; ""))}}
β–Έ Show code
{{if(dateDifference(now; 1.date_created; "days") > 90 and dateDifference(now; 1.date_created; "days") < 95; "win-back-90d"; if(dateDifference(now; 1.date_created; "days") > 180; "win-back-180d"; ""))}}

... expand to see full code

{{if(dateDifference(now; 1.date_created; "days") > 90 and dateDifference(now; 1.date_created; "days") < 95; "win-back-90d"; if(dateDifference(now; 1.date_created; "days") > 180; "win-back-180d"; ""))}}

Scaling Beyond 1000+ orders/month+ Records

If your volume exceeds 1000+ orders/month records, apply these adjustments.

1

Implement batch processing

Use Make's iterator module to process customers in batches of 50 to avoid Mailchimp API rate limits. Add a 2-second delay between batches using the Sleep module.

2

Filter by date modified

Add an additional filter for orders modified in the last 7 days to reduce the dataset. This prevents processing thousands of old orders on every run while still catching status changes.

3

Use webhook triggers

Switch from polling to WooCommerce webhooks for real-time processing. Set up separate scenarios for order creation and completion events to reduce unnecessary data processing.

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 Make for this workflow

Use Make for this if you need precise control over the 90-day lookback logic and want to avoid tagging customers with recent purchases. Make's filters and date functions handle the complex logic better than Zapier's limited filter options. The visual builder makes it easy to see the logic flow when you need to modify the timeframe later. Skip Make and use Klaviyo's built-in segmentation if you're already using Klaviyo for email - their native e-commerce triggers handle this without external automation.

Cost

This workflow uses 4-6 operations per customer: WooCommerce order check, customer lookup, Mailchimp audience check, and tag application. At 100 win-back candidates per month, that's 500 operations total. That fits Make's Core plan at $9/month with room to spare. Zapier would cost $20/month for the same volume on their Starter plan. N8N is free but requires server hosting that costs $15-25/month. Make is cheapest for most small to medium stores.

Tradeoffs

Zapier handles WooCommerce webhooks better - their triggers fire immediately when orders are created instead of Make's 15-minute polling. N8N offers more advanced date manipulation functions and can handle complex customer segmentation logic in a single node. But Make's error handling is superior for this workflow - when Mailchimp can't find a customer email, Make stores the failed execution for manual review instead of failing silently like the others.

You'll hit Mailchimp's API rate limits if you process more than 1000 customers per day - their marketing API allows 10 requests per second maximum. WooCommerce stores with 5000+ customers need batch processing to avoid timeouts. Make's iterator module helps but adds complexity. Also, customer emails in WooCommerce sometimes don't match Mailchimp exactly due to case differences or typos during checkout. Plan for a 5-10% failure rate on email matching that requires manual cleanup.

Ideas for what to build next

  • β†’
    Add purchase recovery tracking β€” Create a follow-up scenario that removes win-back tags when customers make new purchases and tracks which campaigns successfully recovered customers.
  • β†’
    Segment by purchase value β€” Use Make's router to create different win-back tags based on customer lifetime value - high-value customers get personal outreach while others get standard email campaigns.
  • β†’
    Implement multi-stage win-back β€” Expand to 60-day, 90-day, and 180-day tags for progressive win-back campaigns that get more aggressive over time with different offers and messaging.

Related guides

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