Marketing & ContentAdvanced
Mailchimp Campaign Automation
Automate Mailchimp email marketing campaigns, audience management, automations, and analytics
#mailchimp#email-marketing#campaigns#automation#newsletters
CLAUDE.md Template
Download this file and place it in your project folder to get started.
# 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, GDPRREADME.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
- Clean Your List: Remove bounces and inactive
- Segment Thoughtfully: Right message to right people
- Test Everything: Subject lines, content, timing
- Mobile First: Design for mobile readers
- Personalize: Use merge tags and dynamic content
- Monitor Metrics: Track and improve over time
- Respect Frequency: Don't over-send
- Comply with Laws: CAN-SPAM, GDPR