---
title: "Konektor Mailchimp"
description: "Panduan integrasi Mailchimp lengkap untuk menyinkronkan audiens, kampanye, otomatisasi, dan data keterlibatan dengan Brevo melalui Tajo."
url: https://tajo.io/in/docs/connectors/marketing/mailchimp/
markdown: https://tajo.io/in/docs/connectors/marketing/mailchimp.md
lang: id-ID
robots: noindex
---

Ajukan akses awal

Masukkan nama depan dan alamat email kerja Anda. Kami akan mengirim tautan untuk mengonfirmasi permintaan akses Tajo.

# Konektor Mailchimp

Status konektor: Dalam pengerjaan Sedang dibangun. Belum terverifikasi.

| Field sumber | Field tujuan | Nilai contoh |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Hubungkan akun Mailchimp Anda ke Brevo melalui Tajo untuk migrasi audiens yang mulus, sinkronisasi data kampanye, dan otomatisasi marketing terpadu di kedua platform.

## Ikhtisar

| Properti | Nilai |
| --- | --- |
| **Platform** | Mailchimp |
| **Kategori** | Marketing |
| **Kompleksitas setup** | Mudah |
| **Integrasi resmi** | Tidak |
| **Data yang disinkronkan** | Kontak, kampanye, otomatisasi, event |
| **Base URL API** | `https://{dc}.api.mailchimp.com/3.0` |

## Fitur

- **Sinkronisasi audiens** - Migrasikan dan sinkronkan audiens Mailchimp dengan daftar kontak Brevo
- **Data kampanye** - Sinkronkan data performa kampanye untuk pelaporan terpadu
- **Migrasi otomatisasi** - Petakan otomatisasi Mailchimp ke workflow Brevo
- **Metrik keterlibatan** - Sinkronkan data open, klik, dan bounce ke atribut Brevo
- **Pemetaan segmen** - Replikasi segmen Mailchimp sebagai daftar atau segmen Brevo
- **Data e-commerce** - Sinkronkan data toko, produk, dan pesanan dari e-commerce Mailchimp
- **Sinkronisasi tag** - Petakan tag Mailchimp ke atribut kontak atau daftar Brevo
- **Migrasi template** - Ekspor template Mailchimp untuk dipakai pada kampanye Brevo

## Prasyarat

Sebelum memulai, pastikan Anda memiliki:

1. Akun Mailchimp (Free, Essentials, Standard, atau Premium)
2. API key Mailchimp atau aplikasi OAuth
3. Akun Brevo dengan akses API
4. Akun Tajo

## Autentikasi

### Autentikasi API key

Buat API key dari Mailchimp Account > Extras > API Keys.

```bash
curl https://{dc}.api.mailchimp.com/3.0/ping \
  --user "anystring:{api_key}" \
  -H "Content-Type: application/json"
```

Prefiks data center `{dc}` adalah bagian terakhir dari API key Anda (misalnya `us21`).

### OAuth 2.0

Untuk integrasi multi-akun:

```bash
# Authorization URL
https://login.mailchimp.com/oauth2/authorize?
  response_type=code&
  client_id={client_id}&
  redirect_uri={redirect_uri}

# Token exchange
curl -X POST https://login.mailchimp.com/oauth2/token \
  -d "grant_type=authorization_code" \
  -d "client_id={client_id}" \
  -d "client_secret={client_secret}" \
  -d "redirect_uri={redirect_uri}" \
  -d "code={auth_code}"
```

Data center

Selalu ambil data center dari API key Anda atau dari endpoint metadata OAuth. Memakai data center yang keliru akan menyebabkan kegagalan autentikasi.

## Konfigurasi

### Setup dasar

```yaml
connectors:
  mailchimp:
    enabled: true
    api_key: "${MAILCHIMP_API_KEY}"
    data_center: "us21"

    # Data sync options
    sync:
      audiences: true
      campaigns: true
      automations: true
      ecommerce: true

    # Audience to Brevo list mapping
    audience_mapping:
      "Main Audience": 40
      "Newsletter": 41
      "Customers": 42
```

### Pemetaan field

Petakan merge field Mailchimp ke atribut kontak Brevo:

#### Pemetaan default

| Parameter | Type | Description |
| --- | --- | --- |
| `email_address` required | string | Email pelanggan email (identifier unik) |
| `FNAME` optional | string | Merge field nama depan, dipetakan ke FIRSTNAME |
| `LNAME` optional | string | Merge field nama belakang, dipetakan ke LASTNAME |
| `PHONE` optional | string | Merge field telepon, dipetakan ke SMS |
| `status` optional | string | Status langganan (subscribed, unsubscribed, cleaned, pending) |
| `tags` optional | array | Tag pelanggan email untuk segmentasi |
| `stats.avg_open_rate` optional | number | Rata-rata open rate email |
| `stats.avg_click_rate` optional | number | Rata-rata click rate email |

#### Pemetaan merge field kustom

```yaml
field_mapping:
  # Standard fields
  email_address: email
  FNAME: FIRSTNAME
  LNAME: LASTNAME
  PHONE: SMS

  # Engagement metrics
  stats.avg_open_rate: AVG_OPEN_RATE
  stats.avg_click_rate: AVG_CLICK_RATE
  member_rating: ENGAGEMENT_SCORE

  # E-commerce fields
  ecommerce_data.total_revenue: TOTAL_REVENUE
  ecommerce_data.number_of_orders: ORDER_COUNT

  # Custom merge fields
  MMERGE5: COMPANY_NAME
  MMERGE6: CUSTOMER_TYPE
```

## Endpoint API

### Audiens (daftar)

| Method | Endpoint | Deskripsi |
| --- | --- | --- |
| `GET` | `/3.0/lists` | Menampilkan seluruh audiens |
| `GET` | `/3.0/lists/{list_id}` | Mengambil detail audiens |
| `GET` | `/3.0/lists/{list_id}/members` | Menampilkan anggota audiens |
| `POST` | `/3.0/lists/{list_id}/members` | Menambahkan seorang anggota |
| `PUT` | `/3.0/lists/{list_id}/members/{hash}` | Memperbarui seorang anggota |
| `POST` | `/3.0/lists/{list_id}` | Berlangganan/berhenti berlangganan secara batch |

### Kampanye

| Method | Endpoint | Deskripsi |
| --- | --- | --- |
| `GET` | `/3.0/campaigns` | Menampilkan kampanye |
| `GET` | `/3.0/campaigns/{id}` | Mengambil detail kampanye |
| `GET` | `/3.0/reports/{id}` | Mengambil laporan kampanye |
| `GET` | `/3.0/reports/{id}/email-activity` | Mengambil aktivitas email |

### Otomatisasi

| Method | Endpoint | Deskripsi |
| --- | --- | --- |
| `GET` | `/3.0/automations` | Menampilkan otomatisasi |
| `GET` | `/3.0/automations/{id}` | Mengambil detail otomatisasi |
| `GET` | `/3.0/automations/{id}/emails` | Menampilkan email otomatisasi |

### E-commerce

| Method | Endpoint | Deskripsi |
| --- | --- | --- |
| `GET` | `/3.0/ecommerce/stores` | Menampilkan toko yang terhubung |
| `GET` | `/3.0/ecommerce/stores/{id}/customers` | Menampilkan pelanggan toko |
| `GET` | `/3.0/ecommerce/stores/{id}/orders` | Menampilkan pesanan toko |
| `GET` | `/3.0/ecommerce/stores/{id}/products` | Menampilkan produk toko |

## Event

### Event kampanye

| Event | Pemicu | Kasus penggunaan |
| --- | --- | --- |
| `campaign.sent` | Kampanye terkirim | Pelacakan performa |
| `campaign.opened` | Email dibuka | Skoring keterlibatan |
| `campaign.clicked` | Tautan diklik | Pelacakan minat |
| `campaign.bounced` | Email bounce | Higienitas daftar |

### Event pelanggan email

| Event | Pemicu | Kasus penggunaan |
| --- | --- | --- |
| `subscribe` | Pelanggan email baru ditambahkan | Alur sambutan |
| `unsubscribe` | Pelanggan email berhenti berlangganan | Pengelolaan preferensi |
| `profile` | Profil diperbarui | Sinkronisasi atribut |
| `cleaned` | Email dibersihkan (bounce) | Pemeliharaan daftar |

### Event e-commerce

| Event | Pemicu | Kasus penggunaan |
| --- | --- | --- |
| `ecommerce.order` | Pesanan dibuat | Alur pascapembelian |
| `ecommerce.cart` | Keranjang diperbarui | Pemulihan keranjang terbengkalai |

## Contoh kode

### Inisialisasi konektor

```javascript
import { TajoClient } from '@tajo/sdk';

const tajo = new TajoClient({
  apiKey: process.env.TAJO_API_KEY,
  brevoApiKey: process.env.BREVO_API_KEY
});

// Connect Mailchimp
await tajo.connectors.connect('mailchimp', {
  apiKey: process.env.MAILCHIMP_API_KEY
});
```

### Migrasi audiens ke Brevo

```javascript
// Full audience migration from Mailchimp to Brevo
await tajo.connectors.sync('mailchimp', {
  type: 'full',
  resources: ['audiences', 'campaigns', 'ecommerce'],
  options: {
    preserveTags: true,
    migrateSegments: true,
    includeUnsubscribed: false
  }
});

// Check migration status
const status = await tajo.connectors.status('mailchimp');
console.log(status);
// {
//   connected: true,
//   lastSync: '2024-01-15T10:30:00Z',
//   contactsMigrated: 52000,
//   campaignsSynced: 245,
//   segmentsMapped: 18
// }
```

### Sinkronisasi data keterlibatan kampanye

```javascript
// Sync campaign performance to Brevo attributes
await tajo.connectors.sync('mailchimp', {
  type: 'incremental',
  resources: ['campaigns'],
  options: {
    syncEngagement: true,
    updateContactMetrics: true,
    since: '2024-01-01'
  }
});
```

## Batas rate

Batas rate Mailchimp Marketing API:

| Tipe | Batas | Detail |
| --- | --- | --- |
| Standar | 10 permintaan bersamaan | Per API key |
| Operasi batch | 500 operasi per batch | Per permintaan |
| Batas ekspor | 1 ekspor bersamaan | Per akun |
| Transaksional | 25 permintaan/detik | Per API key |

Strategi batas rate

Mailchimp membatasi koneksi bersamaan, bukan permintaan per detik. Gunakan endpoint batch dan terapkan logika retry dengan exponential backoff pada respons `429`.

## Pemecahan masalah

### Masalah umum

| Masalah | Penyebab | Solusi |
| --- | --- | --- |
| 401 Unauthorized | API key tidak valid atau data center keliru | Periksa API key dan ambil prefiks `dc` yang benar |
| Member exists | Email sudah ada di audiens | Gunakan PUT alih-alih POST untuk memperbarui anggota yang ada |
| Compliance state | Penghapusan GDPR mencegah penambahan ulang | Kontak harus berlangganan ulang melalui formulir pendaftaran |
| Batch timeout | Operasi batch terlalu besar | Pecah menjadi batch lebih kecil berisi 500 operasi |
| Merge field hilang | Field kustom belum dibuat | Buat merge field di Mailchimp sebelum melakukan pemetaan |

### Mode debug

Aktifkan logging verbose:

```yaml
connectors:
  mailchimp:
    debug: true
    log_level: verbose
    log_api_calls: true
```

### Menguji koneksi

```bash
tajo connectors test mailchimp
# ✓ API connection successful
# ✓ Audiences readable
# ✓ Campaigns readable
# ✓ E-commerce data accessible
# ✓ Webhook configured
```

## Praktik terbaik

1. **Gunakan operasi batch** - Gunakan batch subscribe/unsubscribe untuk pembaruan massal
2. **Pertahankan status pelanggan email** - Hormati persetujuan langganan selama migrasi
3. **Petakan merge field lebih dulu** - Buat atribut Brevo yang setara sebelum menyinkronkan
4. **Sinkronkan data keterlibatan** - Impor open/click rate untuk segmentasi historis
5. **Tangani compliance state** - Hormati status GDPR dan penghapusan permanen
6. **Gunakan sinkronisasi inkremental** - Sinkronkan hanya perubahan sejak sinkronisasi terakhir untuk menekan penggunaan API

## Keamanan

- **Autentikasi API key** - Secret key dikirim sebagai password HTTP Basic Auth
- **OAuth 2.0** - Otorisasi berbasis token untuk akses multi-akun
- **Enkripsi TLS** - Seluruh komunikasi API dienkripsi melalui HTTPS
- **Verifikasi webhook** - Validasi sumber webhook dengan shared secret
- **Isolasi data center** - Data disimpan di data center spesifik per region

## Sumber daya terkait

- [Referensi Mailchimp Marketing API](https://mailchimp.com/developer/marketing/api/)
- [Panduan API Mailchimp](https://mailchimp.com/developer/marketing/guides/quick-start/)
- [Konektor Brevo](https://tajo.io/in/docs/connectors/marketing/brevo)
- [Konektor ActiveCampaign](https://tajo.io/in/docs/connectors/marketing/activecampaign)
- [Skill Sinkronisasi Pelanggan](https://tajo.io/in/docs/skills/data-sync/customer-sync)
