---
title: "Conector de Mailchimp"
description: "Guía completa de integración con Mailchimp para sincronizar audiencias, campañas, automatizaciones y datos de engagement con Brevo a través de Tajo."
url: https://tajo.io/es/docs/connectors/marketing/mailchimp/
markdown: https://tajo.io/es/docs/connectors/marketing/mailchimp.md
lang: es-ES
robots: noindex
---

Solicita acceso anticipado

Escribe tu nombre y dirección de correo de trabajo. Te enviaremos un enlace para confirmar tu solicitud de acceso a Tajo.

# Conector de Mailchimp

Estado del conector: En desarrollo En construcción. Aún no verificado.

| Campo de origen | Campo de destino | Valor de ejemplo |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Conecta tu cuenta de Mailchimp con Brevo a través de Tajo para una migración fluida de audiencias, sincronización de datos de campañas y automatización de marketing unificada entre ambas plataformas.

## Resumen

| Propiedad | Valor |
| --- | --- |
| **Plataforma** | Mailchimp |
| **Categoría** | Marketing |
| **Complejidad de configuración** | Fácil |
| **Integración oficial** | No |
| **Datos sincronizados** | Contactos, Campañas, Automatizaciones, Eventos |
| **URL base de la API** | `https://{dc}.api.mailchimp.com/3.0` |

## Funcionalidades

- **Sincronización de audiencias** - Migra y sincroniza las audiencias de Mailchimp con las listas de contactos de Brevo
- **Datos de campaña** - Sincroniza los datos de rendimiento de campañas para un reporting unificado
- **Migración de automatizaciones** - Asocia las automatizaciones de Mailchimp con workflows de Brevo
- **Métricas de engagement** - Sincroniza aperturas, clics y rebotes como atributos de Brevo
- **Mapeo de segmentos** - Replica los segmentos de Mailchimp como listas o segmentos de Brevo
- **Datos eCommerce** - Sincroniza datos de tienda, producto y pedidos desde Mailchimp eCommerce
- **Sincronización de etiquetas** - Asocia etiquetas de Mailchimp con atributos de contacto o listas de Brevo
- **Migración de plantillas** - Exporta plantillas de Mailchimp para usarlas en campañas de Brevo

## Requisitos previos

Antes de empezar, asegúrate de tener:

1. Una cuenta de Mailchimp (Free, Essentials, Standard o Premium)
2. Una clave API o una app OAuth de Mailchimp
3. Una cuenta de Brevo con acceso a la API
4. Una cuenta de Tajo

## Autenticación

### Autenticación con clave API

Genera una clave API desde Mailchimp Account > Extras > API Keys.

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

El prefijo de data center `{dc}` es la última parte de tu clave API (por ejemplo, `us21`).

### OAuth 2.0

Para integraciones multi-cuenta:

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

Extrae siempre el data center desde tu clave API o desde el endpoint de metadatos de OAuth. Usar un data center incorrecto provocará fallos de autenticación.

## Configuración

### Configuración básica

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

### Asignación de campos

Asocia los merge fields de Mailchimp con los atributos de contacto de Brevo:

#### Default Mappings

| Parameter | Type | Description |
| --- | --- | --- |
| `email_address` required | string | Email del suscriptor (identificador único) |
| `FNAME` optional | string | Merge field de nombre, se asigna a FIRSTNAME |
| `LNAME` optional | string | Merge field de apellido, se asigna a LASTNAME |
| `PHONE` optional | string | Merge field de teléfono, se asigna a SMS |
| `status` optional | string | Estado de suscripción (subscribed, unsubscribed, cleaned, pending) |
| `tags` optional | array | Etiquetas del suscriptor para segmentación |
| `stats.avg_open_rate` optional | number | Tasa media de apertura de email |
| `stats.avg_click_rate` optional | number | Tasa media de clic de email |

#### Asignación de merge fields personalizados

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

## Endpoints de la API

### Audiencias (listas)

| Método | Endpoint | Descripción |
| --- | --- | --- |
| `GET` | `/3.0/lists` | Listar todas las audiencias |
| `GET` | `/3.0/lists/{list_id}` | Obtener los detalles de una audiencia |
| `GET` | `/3.0/lists/{list_id}/members` | Listar los miembros de una audiencia |
| `POST` | `/3.0/lists/{list_id}/members` | Añadir un miembro |
| `PUT` | `/3.0/lists/{list_id}/members/{hash}` | Actualizar un miembro |
| `POST` | `/3.0/lists/{list_id}` | Alta/baja por lote |

### Campañas

| Método | Endpoint | Descripción |
| --- | --- | --- |
| `GET` | `/3.0/campaigns` | Listar campañas |
| `GET` | `/3.0/campaigns/{id}` | Obtener detalles de una campaña |
| `GET` | `/3.0/reports/{id}` | Obtener el informe de una campaña |
| `GET` | `/3.0/reports/{id}/email-activity` | Obtener la actividad de email |

### Automatizaciones

| Método | Endpoint | Descripción |
| --- | --- | --- |
| `GET` | `/3.0/automations` | Listar automatizaciones |
| `GET` | `/3.0/automations/{id}` | Obtener detalles de una automatización |
| `GET` | `/3.0/automations/{id}/emails` | Listar los emails de una automatización |

### eCommerce

| Método | Endpoint | Descripción |
| --- | --- | --- |
| `GET` | `/3.0/ecommerce/stores` | Listar las tiendas conectadas |
| `GET` | `/3.0/ecommerce/stores/{id}/customers` | Listar clientes de la tienda |
| `GET` | `/3.0/ecommerce/stores/{id}/orders` | Listar pedidos de la tienda |
| `GET` | `/3.0/ecommerce/stores/{id}/products` | Listar productos de la tienda |

## Eventos

### Eventos de campaña

| Evento | Disparador | Caso de uso |
| --- | --- | --- |
| `campaign.sent` | Campaña entregada | Seguimiento de rendimiento |
| `campaign.opened` | Email abierto | Scoring de engagement |
| `campaign.clicked` | Clic en enlace | Seguimiento de intereses |
| `campaign.bounced` | Email rebotado | Higiene de la lista |

### Eventos de suscriptor

| Evento | Disparador | Caso de uso |
| --- | --- | --- |
| `subscribe` | Nuevo suscriptor añadido | Flujo de bienvenida |
| `unsubscribe` | Baja del suscriptor | Gestión de preferencias |
| `profile` | Perfil actualizado | Sincronización de atributos |
| `cleaned` | Email limpiado (rebotado) | Mantenimiento de la lista |

### Eventos eCommerce

| Evento | Disparador | Caso de uso |
| --- | --- | --- |
| `ecommerce.order` | Pedido realizado | Flujo post-compra |
| `ecommerce.cart` | Carrito actualizado | Recuperación de carrito abandonado |

## Ejemplos de código

### Inicializar el conector

```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
});
```

### Migrar audiencias a 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
// }
```

### Sincronizar datos de engagement de campañas

```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'
  }
});
```

## Límites de velocidad

Límites de velocidad de la Marketing API de Mailchimp:

| Tipo | Límite | Detalles |
| --- | --- | --- |
| Estándar | 10 peticiones simultáneas | Por clave API |
| Operaciones por lote | 500 operaciones por lote | Por petición |
| Límite de exportación | 1 exportación simultánea | Por cuenta |
| Transaccional | 25 peticiones/segundo | Por clave API |

Estrategia ante límites de velocidad

Mailchimp limita las conexiones simultáneas en lugar de las peticiones por segundo. Usa endpoints por lote e implementa lógica de reintento con backoff exponencial ante respuestas `429`.

## Resolución de problemas

### Problemas habituales

| Problema | Causa | Solución |
| --- | --- | --- |
| 401 Unauthorized | Clave API no válida o data center incorrecto | Verifica la clave API y extrae el prefijo `dc` correcto |
| Miembro ya existe | Email ya presente en la audiencia | Usa PUT en vez de POST para actualizar miembros existentes |
| Estado de cumplimiento | Eliminación RGPD impide el alta | El contacto debe volver a suscribirse mediante un formulario de alta |
| Timeout de lote | Operación por lote demasiado grande | Divide en lotes más pequeños de 500 operaciones |
| Faltan merge fields | Campos personalizados no creados | Crea los merge fields en Mailchimp antes del mapeo |

### Modo depuración

Activa el registro detallado:

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

### Probar la conexión

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

## Buenas prácticas

1. **Usa operaciones por lote** - Usa batch subscribe/unsubscribe para actualizaciones masivas
2. **Preserva el estado del suscriptor** - Respeta el consentimiento de suscripción durante la migración
3. **Asocia primero los merge fields** - Crea los atributos correspondientes en Brevo antes de sincronizar
4. **Sincroniza datos de engagement** - Importa tasas de apertura/clic para segmentación histórica
5. **Gestiona los estados de cumplimiento** - Respeta los estados de RGPD y eliminación permanente
6. **Usa sincronización incremental** - Sincroniza solo los cambios desde la última sincronización para reducir el uso de la API

## Seguridad

- **Autenticación con clave API** - Clave secreta enviada como contraseña de HTTP Basic Auth
- **OAuth 2.0** - Autorización basada en tokens para acceso multi-cuenta
- **Cifrado TLS** - Toda la comunicación con la API se cifra vía HTTPS
- **Verificación de webhooks** - Valida el origen del webhook con un secreto compartido
- **Aislamiento por data center** - Datos almacenados en data centers específicos por región

## Recursos relacionados

- [Referencia de la Marketing API de Mailchimp](https://mailchimp.com/developer/marketing/api/)
- [Guías de la API de Mailchimp](https://mailchimp.com/developer/marketing/guides/quick-start/)
- [Conector de Brevo](https://tajo.io/es/docs/connectors/marketing/brevo)
- [Conector de ActiveCampaign](https://tajo.io/es/docs/connectors/marketing/activecampaign)
- [Skill de sincronización de clientes](https://tajo.io/es/docs/skills/data-sync/customer-sync)
