mailchimp-automation

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

INSTALLATION
npx skills add https://github.com/claude-office-skills/skills --skill mailchimp-automation
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

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: "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

// 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

  • 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
BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card