Caso de estudio · 10 min de lectura

Cómo migré 50.000 suscriptores fuera de Mailchimp en 3 días

Por AcelleMail Team May 22, 2026 10 min de lectura
comparison tutorial

Un relato real de la mudanza de una newsletter B2B de 50.000 suscriptores desde Mailchimp Standard hacia AcelleMail + Amazon SES. A dónde se fue el tiempo, dónde se rompió y cómo quedó la nueva factura mensual.

§1

Contexto — por qué migramos

Nuestra newsletter estaba en 49.847 suscriptores cuando aterrizó la factura de Mailchimp del mes siguiente: $259/mes en el tier Standard, programada para subir a $310 una vez que cruzáramos los 50K. Eso daba $3.108-$3.720/año de gasto recurrente por un servicio cuyo único recurso esencial para nosotros era “mandar la newsletter de los martes a una lista”.

La lista llevaba 4 años en Mailchimp. Open rate del 38%, click rate del 4,2%, complaint rate despreciable. No nos íbamos porque Mailchimp estuviera roto — nos íbamos porque el precio se sentía desproporcionado respecto a lo que usábamos.

El reemplazo candidato: AcelleMail autohospedado, enviando vía Amazon SES Frankfurt (residencia UE para nuestra lista de suscriptores). Licencia de pago único de $80, ~$15/mes all-in. Break-even de la licencia: mes 1.

§2

Día 1 — instalación + DNS + setup de SES

El trabajo técnico fueron ~3 horas. Hora por hora:

  • Hora 1. Levantar un Hetzner CX22 (€4,51/mes, eu-central-1 Falkenstein). Ubuntu 24.04 LTS. Instalar nginx + PHP 8.3 + MySQL 8 + composer. Subir el bundle de AcelleMail desde CodeCanyon, correr el instalador web. Licencia validada, usuario admin creado.
  • Hora 2. Amazon SES → "Verified identities" → agregar nuestro dominio de envío. Easy-DKIM habilitado (3 CNAMEs). Publicar registros SPF + DMARC. Esperar ~10 min a que SES verifique. Solicitar production access (el formulario tomó 4 minutos; la aprobación llegó a la mañana siguiente).
  • Hora 3. AcelleMail admin → Sending servers → agregar SES vía SMTP. Pegar credenciales. Enviar el email de prueba integrado a nuestra propia bandeja. Entrega en inbox, DKIM pass, SPF pass. ✅

Lección 1 de la migración: el setup técnico es la parte fácil. Los siguientes 2 días fueron enteramente migración de datos + reconstrucción de automatizaciones.

§3

Día 2 — exportar, transformar, importar

Exportación de Mailchimp: Audience → All contacts → Export. La descarga fue un ZIP con 4 CSVs: subscribed members, unsubscribed members, cleaned (bounced) members, non-subscribed (pending). Tamaños: 49.847 + 8.124 + 612 + 21.

Escribimos un script Python pequeño para fusionar los CSVs en un único archivo maestro con dos columnas nuevas: status (subscribed / unsubscribed / bounced) y consent_source_mailchimp (preservamos la URL de origen que Mailchimp rastreaba). 30 minutos.

Importación a AcelleMail: Lists → Create List → definir merge fields (teníamos 6: email, first_name, last_name, segment, signup_source, consent_date). Después Import → Upload CSV → mapear columnas. La importación corrió por lotes; ~25 minutos para 58K filas en total. Los tags vinieron como campo custom; los convertimos a segments tras el import.

Lección 2: los segments de Mailchimp no exportan limpios. El CSV solo le cuenta qué tags tiene cada contacto, no las reglas del segment. Teníamos 11 segments; recrearlos en el segment builder de AcelleMail tomó otros 90 minutos porque la semántica de los operadores difiere ligeramente (el “is or is not” de Mailchimp vs el “equals / does not equal” de AcelleMail). Documente sus segments ANTES de empezar la migración.

§4

Día 3 — automatizaciones, plantillas, el smoke test

Este fue el día más largo. Teníamos 4 automatizaciones activas en Mailchimp: welcome series (5 emails), re-engagement a 90 días, follow-up de descarga de contenido (3 emails) y un winback trimestral. Total 13 emails para reconstruir desde cero.

El automation builder de AcelleMail usa las mismas primitivas que Mailchimp — trigger / wait / condition / send / tag-update — así que el mapeo conceptual fue 1:1. El cuello de botella fue reconstruir el HTML del email. Teníamos una plantilla Mailchimp custom que usábamos como base; AcelleMail acepta HTML crudo, así que pegamos el source y reemplazamos los merge tags de Mailchimp (*|FNAME|*) por los de AcelleMail ({{FNAME}}) vía search-and-replace.

~4 horas después, las 4 automatizaciones reconstruidas + test-send a nuestras propias direcciones. Después corrimos el smoke test: enviar la siguiente newsletter agendada desde AcelleMail EN PARALELO con lo que habría sido el envío de Mailchimp. Mandamos ambos a las 9 am del martes. Al mediodía:

  • Envío Mailchimp: 38,1% de open rate (nuestra baseline de 4 semanas).
  • Envío AcelleMail: 37,4% de open rate. Dentro del ruido.

Paridad de entregabilidad confirmada. El día 3 terminó con nosotros apuntando el formulario de signup del sitio a la API de AcelleMail y cancelando la suscripción Mailchimp Standard con efecto al fin del período de billing.

§5

Qué se rompió (y cómo lo arreglamos)

  1. 3 suscriptores tenían emojis en el first_name. El export CSV de Mailchimp los codificó como placeholders ?. No lo cazamos hasta que el welcome email salió hacia un signup del día 4 con ? en lugar del nombre. Fix: sweep post-import + un sanitizador en el formulario de signup.
  2. Una automation siguió disparando. Olvidamos deshabilitar un flujo winback en Mailchimp antes del export. Tres suscriptores lapsed recibieron el email winback de Mailchimp Y de AcelleMail en la misma hora. Vergonzoso. Pedimos disculpas en un follow-up.
  3. El open rate se vio “raro” durante 48 horas. AcelleMail cuenta opens contra el pixel de open-tracking; Mailchimp los cuenta vía su propio tracker. Las definiciones de la métrica coincidían, pero durante las primeras 48h AcelleMail mostraba 12% de opens mientras el histórico de Mailchimp mostraba 38%. Lo rastreamos hasta el pixel de open-tracking aún no aquecido en los clientes de correo de los suscriptores (que cachean las decisiones de image-load). Tras 48h los números convergieron.

§6

Los números, seis meses después

La retro post-migración a 6 meses:

MétricaMailchimpAcelleMail + SES
Costo mensual$259-$310$15-$22
Licencia (amortizada a 5 años)$1.33/mes
Open rate (promedio 6m)38,1%37,8%
Complaint rate0,03%0,02%
Tiempo de ingeniería / mes~30 min~90 min

El delta de tiempo de ingeniería es real y continuo: gastamos aproximadamente 1 hora extra al mes en revisión de bounces de SES, parches de SO y la tarea ocasional de tuning de MySQL. A nuestra tarifa horaria eso son ~$50/mes de soft cost — igual un ahorro neto de 4-5x sobre Mailchimp Standard.

¿Lo haríamos de nuevo? Sí. ¿Valieron 3 días de trabajo por ahorrar $3K-$3,5K/año? Sí. ¿Lo recomendamos para todo equipo? No — si no tiene el ancho de banda de operaciones, el impuesto a la conveniencia de Mailchimp puede ser el impuesto correcto a pagar.

Ejecute esto en su propia infraestructura.

AcelleMail es una plataforma de email autoalojada con licencia de pago único. Código fuente completo, sin precios por suscriptor.

Probar la demo en vivo