Methodologygeneric
Mailchimp Automation
Automate Mailchimp email marketing campaigns, audience management, automations, and analytics
claude-office-skills/skills
Install
Use with your agent
Install the Mailchimp Automation skill, then use it as build context. Run: npx skills add https://github.com/claude-office-skills/skills --skill mailchimp-automation. Then read the installed skill.md and follow its guidance to build or refactor my project.
Mailchimp Automation
Comprehensive skill 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
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
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
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
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
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
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
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
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
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
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
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
// 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: "[email protected]"
}
});
// 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
// Add Subscriber
await mailchimp.lists.addListMember("list_id", {
email_address: "[email protected]",
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
- 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