n8n Mailchimp Automation: Segment and Win Back Users
Build n8n Mailchimp automation that segments subscribers by engagement, fires win-back sequences, and tags at-risk users before they churn. See the build.
People sign up, poke around for a day, then go quiet. You can watch them sit in the database doing nothing. The list keeps growing, the engaged slice keeps shrinking, and the standard Mailchimp setup happily emails everyone the same newsletter as if they were all equally interested.
That's the problem n8n Mailchimp automation is actually for. Not "add a subscriber from a Google Sheet" — most guides stop at that mechanical level. The job that moves revenue is segmentation that reflects real behavior, then sending each segment a message tuned to where they are: a discount before someone churns, a survey after they already have.
n8n fits because the segmentation logic lives in a Code node you control, not in Mailchimp's UI. You compute engagement however your product defines it, tag members accordingly, and route each tag to its own sequence. The list re-segments itself on a schedule instead of going stale the day after you set it up.
What you can automate
- Read the full member list and score each subscriber's engagement
- Segment into active, at-risk, inactive, and churned buckets automatically
- Apply Mailchimp member tags so segments stay current without manual cleanup
- Send a discount offer to at-risk users before they leave
- Send a re-engagement nudge with a trial extension to inactive users
- Send a feedback survey to churned users to learn why they left
- Log every touchpoint to Google Sheets for open-rate and conversion analysis
The engagement segmentation pipeline
Schedule Trigger (weekly)
→ Google Sheets / Mailchimp read (member list)
→ Code (score engagement → bucket each subscriber)
→ Switch (route by bucket)
├─ at-risk → discount email + tag "at-risk"
├─ inactive → re-engagement email + tag "inactive"
└─ churned → feedback survey + tag "churned"
→ Google Sheets (log every send)
The Switch is doing the work a one-size newsletter can't. Same list, three messages, each matched to intent.
1. Pull the member list
Start with a scheduleTrigger v1.2 set to weekly. Read the list, either from Google Sheets if that's your source of truth, or with the n8n-nodes-base.mailchimp node's member "Get all members on list" operation. Weekly is usually the right cadence. Daily re-segmentation tends to flap subscribers between buckets on noise; weekly lets a real trend settle before you act on it.
2. Score engagement
This is the step the basic Mailchimp guides never reach. Add a n8n-nodes-base.code v2 node with jsCode. Define engagement in your product's terms: days since last open, days since last click, login recency, whatever signal actually predicts churn for you. Compute a score per subscriber and assign a bucket: active, at-risk, inactive, or churned.
Don't borrow someone else's thresholds. A media newsletter and a B2B SaaS tool have completely different definitions of "inactive." Set the day-count cutoffs from your own data, and keep them in a Config node (n8n-nodes-base.set v3.4) so you can tune them without touching logic.
3. Route by bucket
A Switch node reads the bucket and sends each subscriber down a branch. At-risk users still have a foot in the door, so they get a reason to stay. Inactive users need a stronger pull. Churned users are mostly gone, so the goal shifts from rescue to learning why.
4. Send the right message
Each branch sends through Mailchimp or Gmail. The at-risk branch sends a discount or a value reminder. The inactive branch sends a re-engagement email with a trial extension or a "here's what's new" nudge. The churned branch sends a short feedback survey. Apply the matching member tag with the Mailchimp "Add tags from a list member" operation so the segment is visible inside Mailchimp too, not just in your workflow's head.
An opinionated call most teams get wrong: don't discount your way out of every churn signal. Reflexive discount emails to anyone who goes quiet trains your best users to wait for the next coupon. Reserve the discount for genuinely at-risk accounts, and let inactive users get a value nudge first. The coupon is a tool, not the whole toolbox.
5. Log everything
Every send appends a row to Google Sheets: subscriber, bucket, message type, timestamp. That log is how you measure whether the win-back actually wins anyone back. Without it, you're sending campaigns and guessing.
Applying Mailchimp member tags isn't cosmetic. Once a subscriber carries an "at-risk" tag, every later workflow can read it, and Mailchimp's own automations can branch on it. Treat the tag as durable state, not a label. It's the handle the next campaign grabs.
n8n Mailchimp automation patterns
Three patterns cover most of what retention teams build on top of the list.
Pattern 1: Weekly re-segmentation
The core loop. Read, score, route, send, log — on a schedule. The value isn't any single send; it's that the segments never go stale because the workflow rebuilds them every week from fresh behavior.
Pattern 2: New-signup welcome with a fork
A Mailchimp Trigger fires on a new subscriber. A Code node checks whether they completed onboarding, then forks: completed users get a tips sequence, the rest get an activation nudge. Catching disengagement in week one beats fighting churn in month three.
Mailchimp Trigger (new member)
→ Code (onboarding complete?)
→ IF → tips sequence / activation nudge
Pattern 3: Cross-tool enrichment before send
Before emailing, enrich each subscriber with data Mailchimp doesn't hold — a usage number from Postgres, a plan tier from your billing API. The richer the signal feeding the segmentation, the sharper the bucketing, and the less you waste a discount on someone who was never going to churn.
n8n nodes you'll use most
| Node | Purpose |
|---|---|
n8n-nodes-base.mailchimp | Member create/update, member tag add/remove, campaign send |
n8n-nodes-base.code v2 | Score engagement and bucket each subscriber via jsCode |
n8n-nodes-base.switch | Route subscribers by engagement bucket |
n8n-nodes-base.set v3.4 | Hold tunable thresholds in a Config node |
n8n-nodes-base.scheduleTrigger v1.2 | Re-segment the list weekly |
n8n-nodes-base.googleSheets v4.5 | Log every send for open-rate and conversion analysis |
Getting started with n8n Mailchimp automation
- Add a Mailchimp credential (API key or OAuth) and a Gmail or SMTP credential for sends.
- Set a
scheduleTriggerv1.2 to weekly and read your member list. - Build the
n8n-nodes-base.codev2 scoring node, with thresholds in a Config node. - Add a Switch on the bucket and build the at-risk branch first.
- Wire the Mailchimp "Add tags from a list member" operation into each branch.
- Add the Google Sheets log to every branch.
- Run it once in test against a copy of the list before sending live.
If you'd rather not build the scoring and the three-branch sequence by hand, the Freemium User Retention Campaign ships the segment-and-send engine ready to point at your list.
Browse marketing templates →The Freemium User Retention Campaign ships this end-to-end — it reads a user list from Google Sheets, segments by engagement into active, at-risk, inactive, and churned, sends a discount to at-risk users, a re-engagement email to inactive ones, and a feedback survey to churned ones via Gmail, then logs every touchpoint. It's part of The Complete n8n Templates Bundle, a one-time lifetime license to the full catalog plus future templates, worth it if you run more than one of these retention automations.
Segmentation feeds bigger retention plays. The walkthroughs in n8n freemium automation and n8n AI-powered automation cover the lifecycle and the AI-personalization angles, and the Content Distributor template keeps the engaged segment fed with fresh email content across channels.
Compare the catalog →Common questions
What can the n8n Mailchimp node do?
How do I segment subscribers by engagement in n8n?
Can n8n run a win-back campaign automatically?
Get the workflow templates this guide is built on
Import-ready n8n JSON, step-by-step setup, and tested end-to-end. One-time payment, own it forever.
Get 3 tested n8n templates, free
The full customer package for three real catalog templates — workflow JSON, step-by-step setup guide, credential checklist. Built through the same live-instance release process as everything we sell. Plus new templates and automation guides in your inbox. No spam, unsubscribe anytime.
- 01Smart To-Do List ManagerPre-built n8n workflow template that automates productivity with OpenAI. Live in about 10 minutes.$14
- 02Email Follow-Up AutomatorPre-built n8n workflow template that automates crm with OpenAI. Live in about 15 minutes.$12
- 03Market Trend AnalyzerPre-built n8n workflow template that automates data processing with OpenAI. Live in about 10 minutes.$14
More automation guides

n8n Postgres Automation: Validate Data Before It Lands
A weekly report ran on partial data for three weeks before anyone noticed. No error, no alert. The numbers were just quietly wrong, and every decision made off them was wrong too. The fix wasn't a bet…

n8n RAG Evaluation: Blind A/B Test Two Models
"We shipped the new retrieval strategy because it felt better on the examples we tried." That sentence has shipped more silent regressions than any bug. It's also the exact gap that n8n RAG evaluation…

n8n Intercom Automation: Score Tickets and Catch Churn
A customer opens their third support conversation in two weeks. Tone's getting sharper each time. Meanwhile their last invoice failed and their seat logins dropped by half. Support sees the tickets. B…