Home
cd ../playbooks
Marketing & ContentAdvanced

Mailchimp Campaign Automation

Automate Mailchimp email marketing campaigns, audience management, automations, and analytics

10 minutes
By communitySource
#mailchimp#email-marketing#campaigns#automation#newsletters

You're sending the same welcome email to everyone, your segments are a mess of overlapping tags, and you manually export campaign stats into a spreadsheet every Monday. Mailchimp can do so much more — you just haven't set it up.

Who it's for: email marketers managing Mailchimp for growing lists, small business owners handling their own email campaigns, marketing managers automating drip sequences, e-commerce brands setting up abandoned cart flows, newsletter creators scaling subscriber engagement

Example

"Set up automated email flows for our e-commerce store" → Welcome series (5 emails), abandoned cart recovery, post-purchase follow-up, win-back campaign for inactive subscribers, and weekly analytics dashboard pulling Mailchimp API data

CLAUDE.md Template

New here? 3-minute setup guide → | Already set up? Copy the template below.

# Mailchimp Automation

Comprehensive workflow for automating Mailchimp email marketing and audience management.

## Core Workflows

### 1. Campaign Pipeline

```
EMAIL CAMPAIGN FLOW:
┌─────────────────┐
│  Plan Campaign  │
│  - Goals        │
│  - Audience     │
└────────┬────────┘
         ▼
┌─────────────────┐
│  Create Content │
│  - Design       │
│  - Copy         │
└────────┬────────┘
         ▼
┌─────────────────┐
│  Configure      │
│  - Subject      │
│  - Preview      │
│  - Settings     │
└────────┬────────┘
         ▼
┌─────────────────┐
│  Test & Review  │
│  - A/B test     │
│  - Preview      │
└────────┬────────┘
         ▼
┌─────────────────┐
│  Schedule/Send  │
│  - Timing       │
│  - Send         │
└────────┬────────┘
         ▼
┌─────────────────┐
│    Analyze      │
│  - Opens/Clicks │
│  - Revenue      │
└─────────────────┘
```

### 2. Campaign Configuration

```yaml
campaign_config:
  type: regular  # regular, automated, plaintext, ab_test
  
  recipients:
    list_id: "abc123"
    segment_opts:
      saved_segment_id: "seg123"
      # or dynamic conditions
      
  settings:
    subject_line: "{{subject}}"
    preview_text: "{{preview}}"
    from_name: "{{company}}"
    reply_to: "{{email}}"
    
  tracking:
    opens: true
    clicks: true
    ecommerce: true
    google_analytics: "campaign_name"
    
  content_type: "template"
  template_id: "template_123"
```

## Audience Management

### Segmentation Rules

```yaml
segments:
  - name: active_subscribers
    conditions:
      - field: last_opened
        op: greater_than
        value: "30_days_ago"
        
  - name: high_value_customers
    conditions:
      - field: ecomm_total_spent
        op: greater_than
        value: 500
      - field: ecomm_orders
        op: greater_than
        value: 3
        
  - name: at_risk
    conditions:
      - field: last_opened
        op: greater_than
        value: "90_days_ago"
      - field: email_campaigns_opened
        op: greater_than
        value: 5
        
  - name: new_subscribers
    conditions:
      - field: timestamp_signup
        op: greater_than
        value: "30_days_ago"
```

### Audience Tags

```yaml
tagging_automation:
  - trigger: form_submit
    form: "newsletter_signup"
    actions:
      - add_tag: "newsletter"
      - add_tag: "{{form.interest}}"
      
  - trigger: purchase
    actions:
      - add_tag: "customer"
      - add_tag: "purchased_{{product_category}}"
      
  - trigger: link_clicked
    url_contains: "/pricing"
    actions:
      - add_tag: "interested_in_pricing"
```

## Email Automation

### Welcome Series

```yaml
welcome_automation:
  name: "Welcome Series"
  trigger:
    type: signup
    list_id: "main_list"
    
  emails:
    - delay: immediate
      subject: "Welcome to {{company}}! 🎉"
      template: welcome_email_1
      
    - delay: 2_days
      subject: "Here's how to get started"
      template: welcome_email_2
      
    - delay: 5_days
      subject: "{{first_name}}, your exclusive tips"
      template: welcome_email_3
      
    - delay: 10_days
      subject: "Ready to take the next step?"
      template: welcome_email_4
      content: offer_cta
```

### Abandoned Cart

```yaml
abandoned_cart:
  name: "Cart Recovery"
  trigger:
    type: ecommerce
    event: cart_abandoned
    delay: 1_hour
    
  emails:
    - delay: 1_hour
      subject: "You left something behind..."
      template: cart_reminder_1
      show_cart_items: true
      
    - delay: 24_hours
      condition: cart_not_recovered
      subject: "Your cart is waiting"
      template: cart_reminder_2
      include_discount: false
      
    - delay: 72_hours
      condition: cart_not_recovered
      subject: "Last chance: 10% off your cart"
      template: cart_reminder_3
      include_discount: true
      discount_code: "COMEBACK10"
```

### Post-Purchase

```yaml
post_purchase:
  name: "Post-Purchase Nurture"
  trigger:
    type: ecommerce
    event: purchase
    
  emails:
    - delay: immediate
      type: transactional
      subject: "Order confirmed #{{order_id}}"
      template: order_confirmation
      
    - delay: 3_days
      type: transactional
      subject: "Your order has shipped"
      template: shipping_notification
      condition: order_shipped
      
    - delay: 7_days
      subject: "How's your {{product_name}}?"
      template: review_request
      condition: order_delivered
      
    - delay: 30_days
      subject: "You might also like..."
      template: cross_sell
      content: recommended_products
```

## A/B Testing

### Test Configuration

```yaml
ab_test:
  type: subject_line  # or content, send_time, from_name
  
  variants:
    a:
      subject: "Don't miss out: Sale ends tonight"
    b:
      subject: "⚡ Flash sale: 24 hours only"
      
  test_settings:
    split_percentage: 20  # Test on 20%, winner to 80%
    winning_metric: open_rate  # or click_rate, revenue
    wait_time: 4_hours
    
  auto_winner:
    enabled: true
    send_remaining: true
```

### Multivariate Test

```yaml
multivariate_test:
  factors:
    subject_line:
      - "New arrivals just dropped"
      - "You'll love what's new"
    preview_text:
      - "Shop the latest styles"
      - "See what's trending now"
    send_time:
      - "09:00"
      - "14:00"
      
  combinations: 8
  sample_size: 25%
  duration: 24_hours
```

## Email Templates

### Newsletter Template

```yaml
newsletter_template:
  layout: multi_column
  
  sections:
    - type: header
      logo: "{{logo_url}}"
      navigation: true
      
    - type: hero
      image: "{{hero_image}}"
      headline: "{{headline}}"
      subheadline: "{{subheadline}}"
      cta:
        text: "{{cta_text}}"
        url: "{{cta_url}}"
        
    - type: content_blocks
      columns: 2
      items:
        - image: "{{item1_image}}"
          title: "{{item1_title}}"
          description: "{{item1_desc}}"
          link: "{{item1_url}}"
          
    - type: footer
      social_links: true
      unsubscribe: true
      company_address: true
```

### Personalization

```yaml
personalization:
  merge_tags:
    - "*|FNAME|*": first_name
    - "*|LNAME|*": last_name
    - "*|EMAIL|*": email
    - "*|COMPANY|*": company
    
  conditional_content:
    - condition: "*|IF:VIP|*"
      content: "As a VIP member, you get early access!"
      
  dynamic_content:
    - tag: "*|PRODUCT_RECS|*"
      source: ecommerce
      type: recommended_products
      limit: 4
```

## Analytics Dashboard

### Campaign Performance

```
CAMPAIGN ANALYTICS - "January Newsletter"
═══════════════════════════════════════

DELIVERY:
Sent:          25,430
Delivered:     24,892 (97.9%)
Bounced:       538 (2.1%)

ENGAGEMENT:
Opened:        8,450 (33.9%)
Clicked:       2,156 (8.7%)
Unsubscribed:  45 (0.18%)

REVENUE (if e-commerce):
Orders:        89
Revenue:       $4,523
Revenue/Email: $0.18

BY DEVICE:
Desktop   ████████████████ 52%
Mobile    ██████████░░░░░░ 38%
Tablet    ███░░░░░░░░░░░░░ 10%

TOP CLICKED LINKS:
┌────────────────────────┬────────┐
│ Link                   │ Clicks │
├────────────────────────┼────────┤
│ Main CTA button        │ 1,245  │
│ Product image 1        │ 456    │
│ "Learn more" link      │ 234    │
│ Social - Twitter       │ 123    │
└────────────────────────┴────────┘

OPEN TIME:
Peak: 10:00 AM - 12:00 PM (42%)
```

### Audience Health

```yaml
audience_metrics:
  total_subscribers: 45,230
  growth_rate: "+3.2% monthly"
  
  health_indicators:
    active_30_days: 78%
    engaged_90_days: 65%
    dormant: 22%
    
  list_quality:
    average_open_rate: 28.5%
    average_click_rate: 4.2%
    unsubscribe_rate: 0.15%
    bounce_rate: 1.8%
```

## API Examples

### Create Campaign

```javascript
// Create Campaign
const campaign = await mailchimp.campaigns.create({
  type: "regular",
  recipients: {
    list_id: "abc123",
    segment_opts: {
      saved_segment_id: "seg123"
    }
  },
  settings: {
    subject_line: "Your Weekly Update",
    preview_text: "This week's top stories",
    from_name: "Company Name",
    reply_to: "hello@company.com"
  }
});

// Set Content
await mailchimp.campaigns.setContent(campaign.id, {
  template: {
    id: "template_123",
    sections: {
      headline: "Welcome to our newsletter!"
    }
  }
});

// Send Campaign
await mailchimp.campaigns.send(campaign.id);
```

### Manage Subscribers

```javascript
// Add Subscriber
await mailchimp.lists.addListMember("list_id", {
  email_address: "user@example.com",
  status: "subscribed",
  merge_fields: {
    FNAME: "John",
    LNAME: "Doe"
  },
  tags: ["newsletter", "customer"]
});

// Update Subscriber
await mailchimp.lists.updateListMember("list_id", "subscriber_hash", {
  merge_fields: {
    COMPANY: "Acme Inc"
  }
});

// Add Tags
await mailchimp.lists.updateListMemberTags("list_id", "subscriber_hash", {
  tags: [{ name: "vip", status: "active" }]
});
```

## Best Practices

1. **Clean Your List**: Remove bounces and inactive
2. **Segment Thoughtfully**: Right message to right people
3. **Test Everything**: Subject lines, content, timing
4. **Mobile First**: Design for mobile readers
5. **Personalize**: Use merge tags and dynamic content
6. **Monitor Metrics**: Track and improve over time
7. **Respect Frequency**: Don't over-send
8. **Comply with Laws**: CAN-SPAM, GDPR

Get new playbooks like this one

One email a week with new Claude Code workflows. Free, like everything here.

No spam. Unsubscribe anytime.

README.md

What This Does

Comprehensive workflow for automating Mailchimp email marketing and audience management.


Quick Start

Step 1: Create a Project Folder

mkdir -p ~/Documents/MailchimpAutomation

Step 2: Download the Template

Click Download above, then:

mv ~/Downloads/CLAUDE.md ~/Documents/MailchimpAutomation/

Step 3: Start Working

cd ~/Documents/MailchimpAutomation
claude

Best Practices

  1. Clean Your List: Remove bounces and inactive
  2. Segment Thoughtfully: Right message to right people
  3. Test Everything: Subject lines, content, timing
  4. Mobile First: Design for mobile readers
  5. Personalize: Use merge tags and dynamic content
  6. Monitor Metrics: Track and improve over time
  7. Respect Frequency: Don't over-send
  8. Comply with Laws: CAN-SPAM, GDPR

$Related Playbooks

Marketing & Content

Marketing Attribution Analyst

Model multi-touch attribution, analyze campaign ROI, and build MMM frameworks using Bayesian and Markov chain methods.

15 minutes
Advanced
Marketing & Content

Marketing Strategy Advisor

Build GTM strategies, positioning frameworks, and competitive messaging with a structured product marketing methodology.

15 minutes
Advanced
Marketing & Content

Minimalist Marketing Plan

Build an audience through free, authentic content before spending a dollar on ads. A content-first plan for founders who have product-market fit and now need scale.

10 minutes
Intermediate
Marketing & Content

Message Test

Test message variants on synthetic audiences.

15 minutes
Intermediate
Marketing & Content

Multilingual Score

Score localized content quality.

15 minutes
Intermediate
Marketing & Content

Narrative Landscape

Map the competitive narrative landscape.

15 minutes
Intermediate
Marketing & Content

Narrative Tracker

Track AI engine brand narratives.

15 minutes
Intermediate
Marketing & Content

Newsletter System

Store your newsletter template, track past issues, and draft new editions that match your voice while avoiding topic repetition.

5 minutes
Beginner
Marketing & Content

Popup CRO

Create popups, modals, slide-ins, and banners that convert without annoying users or damaging brand.

10 minutes
Beginner
Marketing & Content

Referral & Affiliate Programs

Design and optimize referral, affiliate, and ambassador programs that turn customers into growth engines.

15 minutes
Intermediate
Marketing & Content

RevOps

Design and optimize the systems that connect marketing, sales, and customer success into a unified revenue engine — lead scoring, routing, MQL/SQL handoff, and CRM hygiene.

20 minutes
Advanced
Marketing & Content

Sales Enablement

Create sales decks, one-pagers, objection handling docs, demo scripts, and playbooks that reps actually use.

15 minutes
Intermediate

Browse all Marketing & Content playbooks →