Exportación y migración de datos en Brevo: cómo mover tus datos hacia dentro o hacia fuera

Exporta contactos, estadísticas y registros desde Brevo, descubre qué no se transfiere y sigue una lista de comprobación paso a paso para migrar en cualquier dirección.

Brevo data export
Exportación y migración de datos en Brevo?

El volumen de búsqueda de frases como “brevo data export migration to another platform” lo impulsa una sola preocupación: que los datos que has acumulado sean más fáciles de meter que de sacar. La respuesta honesta para Brevo es que la mayoría sale limpia, una parte sale con una forma que hay que reconstruir y una parte pequeña pero importante no se puede mover en absoluto.

Esta guía cubre las dos direcciones. Enumera exactamente qué se exporta, qué no, las llamadas de API para cuentas demasiado grandes para la interfaz y una lista de comprobación de migración que trata las listas de supresión y la reputación de envío como asuntos de primera clase y no como algo secundario.

Qué puedes exportar de verdad desde Brevo

DatosCómo salenFormato
Contactos y atributosExportación desde la página de contactos, o POST /v3/contacts/exportCSV
Pertenencia a listasUna exportación por lista, o el campo de metadatos _listIdsCSV
Estado de suscripciónexportSubscriptionStatus en el trabajo de exportaciónCSV
Estadísticas de campañaExportación del informe de campaña, o GET /v3/emailCampaignsCSV, PDF, JSON
Registros de eventos transaccionalesGET /v3/smtp/statistics/events o un trabajo de exportación masivaJSON, CSV
PlantillasGET /v3/smtp/templates devuelve htmlContentJSON
Empresas y negociosExportación desde la página de CRM correspondienteCSV

Contactos y atributos

La ruta en la interfaz es CRM y después Contactos. Para exportar toda la base de datos, asegúrate de que no haya ninguna lista ni segmento cargado y de que no se aplique ningún filtro. Para exportar una lista o un segmento, haz clic en “Cargar una lista o segmento” y elígelo primero.

Después seleccionas qué atributos estándar y personalizados quieres incluir. EMAIL, la fecha de última modificación y la fecha de creación están seleccionados por defecto, y el resto lo añades tú, que es el paso que más gente hace mal. Elige el separador de campos del CSV, punto y coma o coma, y opcionalmente activa “Enviar exportación por email” para que el enlace de descarga llegue a la dirección de la persona propietaria de la cuenta. Haz clic en “Iniciar exportación” y después descarga el archivo desde la campana de notificaciones que hay junto al nombre de tu cuenta.

Listas y segmentos

Las listas se exportan como pertenencia: ejecuta una exportación por lista, o incluye los metadatos _listIds en una única exportación completa y divide el archivo después. GET /v3/contacts/lists te da los nombres, los id y los id de carpeta de las listas para que puedas recrear la estructura al otro lado.

Los segmentos son otra cosa, y aquí está el primer hueco real. GET /v3/contacts/segments devuelve solo id, segmentName, categoryName y updatedAt. Las condiciones de filtro que definen un segmento no están expuestas. Puedes exportar los miembros de un segmento en un momento dado, pero la regla que los produjo hay que leerla de la pantalla y reconstruirla a mano en la nueva herramienta. Haz una captura de pantalla de cada segmento antes de cancelar la cuenta.

Estadísticas de campaña

Desde un informe de campaña puedes exportar los datos en CSV, y los informes de email y SMS también ofrecen una versión en PDF para compartir o imprimir. Para una descarga histórica completa, GET /v3/emailCampaigns acepta un parámetro statistics con los valores globalStats, linksStats o statsByDomain, y un par startDate y endDate que cubre un rango de hasta dos años.

Registros transaccionales

Dos vías, con ventanas distintas.

GET /v3/smtp/statistics/events devuelve eventos individuales filtrados por tipo (delivered, opened, clicks, hardBounces, spam, unsubscribed y otros). El rango de fechas no puede superar los 90 días, y por defecto cubre los últimos 30 días si no pasas ni un rango ni el parámetro days.

Para volumen, POST /v3/webhooks/export crea un trabajo de exportación sobre los últimos 7 días de eventos en crudo, con un tope de 20 trabajos de exportación por periodo de 7 días. Devuelve un processId, llama a tu URL de notificación al terminar y entrega un CSV con columnas como date, email, event, message-id, reason, sending_ip, subject, tag y template_id. Los volúmenes grandes llegan como un archivo comprimido con varios CSV.

La consecuencia práctica: si quieres más de 90 días de historial transaccional, tendrías que haberlo estado exportando de forma programada desde el principio. Monta ese trabajo ahora, no la semana en que decides marcharte.

Qué no se viene contigo

Esta es la parte que la mayoría de las guías de migración se saltan.

  • Las estructuras de los flujos de automatización. La API puede disparar automatizaciones mediante eventos, pero no hay ningún endpoint documentado que devuelva las ramas, esperas y condiciones de un flujo. Cada flujo de trabajo se reconstruye a mano en la nueva plataforma.
  • Las definiciones de los filtros de segmento. Como arriba, solo se pueden recuperar los nombres y los miembros actuales.
  • El historial completo de interacción por contacto. Puedes exportar quién abrió, hizo clic, no abrió, se dio de baja o generó rebotes duros o blandos en una campaña concreta usando customContactFilter en el endpoint de exportación. Lo que no puedes sacar es un único archivo ordenado con “todas las aperturas y clics que ha hecho este contacto”, porque los endpoints de eventos en crudo están acotados a 90 días.
  • La fidelidad de renderizado de las plantillas. El htmlContent se exporta limpio, pero los bloques de arrastrar y soltar, la sintaxis de las etiquetas de fusión y los marcadores de enlace de baja son específicos de cada plataforma. El HTML que exportas es un punto de partida, no una plantilla terminada. Reserva tiempo para volver a probar cada plantilla en el nuevo editor.
  • La reputación de entregabilidad. La reputación de remitente vive en las IP de envío y en el dominio autenticado. Plataforma nueva, grupo de IP nuevo, calentamiento nuevo. Mantener el mismo dominio y la misma configuración DKIM conserva la parte de dominio de la reputación, lo que ayuda de verdad, pero no arrastra la parte de IP.
  • Los identificadores de formularios, landing pages y seguimiento. Los formularios de registro, las landing pages y el script de seguimiento tienen id específicos de la plataforma. Todo lo que esté incrustado en tu sitio hay que cambiarlo, y cualquier analítica ligada a esos id se rompe en el momento del cambio.

Exportación programada para cuentas grandes

Por encima de unos 100.000 contactos, la exportación desde la interfaz se vuelve lenta e incómoda, y de todas formas quieres un trabajo repetible. El endpoint de exportación de contactos es asíncrono: acepta un filtro, devuelve un id de proceso y te entrega un CSV cuando termina.

Terminal window
curl --request POST \
--url https://api.brevo.com/v3/contacts/export \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'api-key: YOUR_API_KEY' \
--data '{
"customContactFilter": { "actionForContacts": "allContacts" },
"exportMandatoryAttributes": true,
"exportAttributes": ["FIRSTNAME", "LASTNAME", "SMS", "COUNTRY"],
"exportMetadata": ["_listIds", "ADDED_TIME", "MODIFIED_TIME"],
"exportSubscriptionStatus": ["email_marketing", "sms_marketing"],
"exportDateInUTC": true,
"notifyUrl": "https://example.com/hooks/brevo-export"
}'

Una llamada correcta devuelve HTTP 202 y un cuerpo con un processId. exportMandatoryAttributes vale true por defecto y cubre EMAIL, ADDED_TIME y MODIFIED_TIME, así que exportAttributes es donde nombras tus campos personalizados. Fijar exportSubscriptionStatus es lo que mete en el archivo el estado de consentimiento de marketing para email y SMS, y omitirlo es la forma más habitual de producir una exportación inútil para una migración conforme a la normativa.

Si prefieres paginar registros en lugar de esperar a un trabajo, GET /v3/contacts acepta limit hasta 1000 con un offset, además de modifiedSince y createdSince para descargas incrementales. Cada contacto vuelve con emailBlacklisted, smsBlacklisted, listIds, listUnsubscribed y consentGroups, que es todo lo que necesitas para reconstruir el estado de consentimiento.

Vigila los límites de tasa mientras programas esto. Los endpoints de contactos permiten 36.000 solicitudes por hora y 10 por segundo en los planes estándar, el doble en los niveles Professional y Enterprise, mientras que la mayoría de los demás endpoints se quedan en 100 solicitudes por hora. Paginar un millón de contactos a 1000 por página son 1000 solicitudes, cómodamente dentro del presupuesto de contactos, pero machacar en bucle los endpoints de campañas o plantillas no lo está.

Por qué tu lista de supresión debe migrar la primera

Mueve las bajas antes que ninguna otra cosa.

El argumento legal es sencillo. Un contacto que se dio de baja retiró el consentimiento a tu marca. Esa retirada no se reinicia porque hayas cambiado de proveedor. Bajo el RGPD, el registro del consentimiento y de su retirada es tu obligación como responsable del tratamiento, y bajo la CAN-SPAM una baja debe atenderse en diez días hábiles y sigue vigente de forma indefinida. Perder la lista en una migración no es un accidente técnico, es un incumplimiento con un rastro documental que apunta hacia ti.

El argumento de entregabilidad es peor en la práctica. Las direcciones suprimidas son de forma desproporcionada personas que se quejaron, que rebotaron en duro o que querían salir activamente. Escribirles desde una IP recién estrenada sin reputación es la forma más rápida conocida de que una configuración de envío nueva acabe limitada o bloqueada en su primera semana. Unos pocos miles de trampas de spam recicladas y de personas que se quejan pueden echar por tierra un mes de calentamiento cuidadoso.

Así que exporta las cohortes suprimidas de forma explícita en lugar de confiar en que estén implícitas. En el endpoint de exportación, actionForContacts acepta unsubscribed para los contactos bloqueados por cualquier vía y unsubscribedPerList para los contactos dados de baja de una lista concreta. Haz una pasada aparte para hardBounces por campaña. Al entrar en una plataforma nueva, importa ese archivo en su lista de supresión, no en una lista enviable.

Brevo también gestiona el caso inverso: admite importar una lista de contactos bloqueados, y la API de importación acepta los booleanos emailBlacklist y smsBlacklist para que un archivo importado aterrice como suprimido. Fíjate en la asimetría que Brevo hace bien en imponer: los contactos no se pueden desbloquear de forma masiva, porque volver a suscribir en bloque a alguien que pidió que le dejaran en paz sería ilegal. La supresión es fácil de añadir y deliberadamente difícil de quitar. Trátalo como el comportamiento correcto, no como un obstáculo.

Lista de comprobación de migración, saliendo de Brevo

  1. Auditoría. Cuenta contactos, listas, segmentos, automatizaciones activas, plantillas e integraciones. Anota qué integraciones escriben en Brevo, porque esas son las tuberías que tendrás que redirigir.
  2. Exportación. Contactos con todos los atributos más el estado de suscripción, un archivo por lista o un único archivo con _listIds, las cohortes de supresión como archivos separados, las estadísticas de campaña, los eventos transaccionales hasta donde permita la ventana de 90 días y el HTML de las plantillas.
  3. Archiva lo que caduca. Todo lo que tiene límite temporal (eventos en crudo, registros) desaparece cuando la ventana avanza. Guárdalo ya en tu propio almacén de datos o en almacenamiento de objetos.
  4. Limpia y mapea. Deduplica, normaliza los formatos de fecha y de teléfono y escribe un mapeo explícito de columna a campo para la nueva plataforma. Este es además el momento natural para descartar direcciones que llevan un año sin interactuar, que sale más barato que pagar por calentar peso muerto. Nuestra guía de limpieza de listas de email cubre los umbrales.
  5. Carga primero la supresión. Importa las bajas y los rebotes duros en la lista de supresión de la nueva plataforma, comprueba que los recuentos coinciden con tu exportación y solo entonces carga los contactos enviables.
  6. Calienta. Empieza por tu segmento más comprometido, sube el volumen poco a poco y vigila a diario las tasas de rebote y de queja. Nuestra guía de entregabilidad de email tiene la secuencia en detalle.
  7. Ejecuta en paralelo. Mantén Brevo activo enviando tu correo transaccional crítico mientras la nueva plataforma se encarga de una parte creciente de los envíos de marketing. No cambies las dos cosas a la vez.
  8. Verifica. Concilia los recuentos de contactos, revisa veinte contactos campo por campo, confirma que los contactos suprimidos están realmente suprimidos intentando un envío de prueba y compara una semana de volumen de envío con la plataforma antigua.
  9. Cambia y guarda un plan de vuelta atrás. Cambia el DNS y los endpoints de integración en una franja horaria en la que haya alguien mirando. Mantén la cuenta de Brevo viva y pagada al menos un ciclo de facturación completo después del cambio, con los archivos exportados guardados fuera de las dos plataformas. Eso, y no una promesa del proveedor, es tu plan real de vuelta atrás.

Migrar hacia Brevo desde otra plataforma

La misma lista de comprobación se recorre al revés, con tres apuntes específicos de Brevo.

Consigue una exportación de verdad del proveedor saliente. La mayoría de las plataformas te darán los contactos y sus campos personalizados en CSV. Pide específicamente la lista de supresión y la lista de rebotes, que a menudo están en una exportación aparte que la gente olvida solicitar. Si vienes de un modelo de precios por contacto, compara lo que vas a pagar de verdad al entrar con nuestra guía de precios de Brevo.

Mapea los campos antes de subir nada. Los atributos de Brevo tienen tipos (texto, número, fecha, booleano, categoría), y una fecha que aterriza en un atributo de texto no se podrá filtrar después. Crea primero los atributos con los tipos correctos y después importa.

Importa por API cualquier cosa de tamaño considerable. POST /v3/contacts/import acepta CSV en línea en fileBody, un array JSON en jsonBody, ambos limitados a unos 10 MB, o un archivo remoto mediante fileUrl, además de listIds o un objeto newList. updateExistingContacts vale true por defecto y empareja por email. Ejecuta una importación con emailBlacklist a true para tu archivo de supresión y después una segunda importación para los contactos enviables. Los scripts completos y funcionales están en nuestra guía sobre importar contactos CSV a Brevo con un script.

Después reconstruye lo que no se transfirió: automatizaciones, segmentos, formularios y plantillas. Envía una prueba semilla a un puñado de proveedores de buzón antes de escribir a nadie real.

Que la próxima migración no sea un precipicio

La razón por la que una migración de plataforma se siente como un precipicio es que la plataforma se ha convertido en el sistema de referencia. El historial de pedidos, el estado de los suscriptores y los resultados de las campañas viven dentro de un único proveedor, y moverlos significa una evacuación.

La alternativa es mantener tu propia fuente de verdad y dejar que la plataforma de envío sea un destino y no una caja fuerte. Si los datos de tu tienda, el estado de consentimiento y los eventos de interacción se sincronizan de forma continua hacia tus propios sistemas, cambiar o añadir un canal es un cambio de configuración en lugar de un proyecto. Ese es el trabajo que hace Tajo entre Brevo y el stack de un comercio: mantener los datos fluyendo en ambos sentidos para que la plataforma nunca sea la única copia.

En cualquier caso, merece la pena ejecutar de forma programada desde ya los trabajos de exportación descritos arriba, tengas o no pensado marcharte. La migración más barata es aquella en la que los datos ya están fuera de la plataforma cuando tomas la decisión.

Preguntas frecuentes

¿Puedo exportar todos mis datos de Brevo?
Puedes exportar los contactos y sus atributos en CSV, los informes de campaña en CSV o PDF, los registros de eventos transaccionales en CSV y el HTML de las plantillas a través de la API. Las estructuras de los flujos de automatización y las definiciones de los filtros de segmento no tienen vía de exportación, así que esas se reconstruyen a mano.
¿Cómo exporto contactos desde Brevo?
Ve a CRM y después a Contactos. Para exportarlo todo, asegúrate de que no haya ninguna lista, segmento o filtro cargado. Para exportar una lista o un segmento, haz clic primero en Cargar una lista o segmento. Elige los atributos que quieres, escoge la coma o el punto y coma como separador y haz clic en Iniciar exportación para descargar el archivo desde la campana de notificaciones.
¿En qué formato exporta Brevo los contactos?
En CSV. Tú eliges el separador de campos, punto y coma o coma. El endpoint de exportación de la API también entrega un archivo CSV, y las exportaciones de eventos transaccionales llegan en CSV, comprimidas en un archivo con varios CSV cuando el volumen es grande.
¿Mi historial de interacción se viene conmigo cuando dejo Brevo?
Solo en parte. Las estadísticas a nivel de campaña se exportan como informes, y puedes exportar quién abrió, hizo clic, rebotó o se dio de baja en una campaña concreta. Los registros de eventos transaccionales en crudo están limitados a una ventana de 90 días en el endpoint de informe de eventos y a 7 días en el trabajo de exportación masiva, así que el historial a largo plazo por contacto hay que archivarlo antes de irse.
¿Tengo que migrar mi lista de bajas?
Sí. Los contactos que se dieron de baja de tu correo lo hicieron contigo, no con Brevo, así que la obligación de supresión sigue a tu marca hasta la nueva plataforma. Volver a escribirles es a la vez una exposición legal bajo el RGPD y la CAN-SPAM y la forma más rápida de provocar quejas por spam en un dominio de envío recién estrenado.
¿Puedo conservar la reputación de remitente al cambiar de plataforma?
No. La reputación se adhiere a las IP de envío y al dominio autenticado, no a tu cuenta. Si la nueva plataforma usa IP distintas, empiezas un calentamiento desde cero. Mantener el mismo dominio y el mismo selector DKIM conserva la reputación de dominio, lo que ayuda, pero los grupos de IP compartidas reinician por completo la parte de IP.
¿Cuánto tarda una migración de Brevo?
La exportación y la importación en sí suelen llevar menos de un día en cuentas por debajo de unos cientos de miles de contactos. El plazo realista es de dos a seis semanas, porque eso es lo que tardan un calentamiento de envío y una ejecución en paralelo de tus automatizaciones clave antes de poder hacer el cambio con seguridad.
¿Hay una API para exportar contactos de Brevo?
Sí. POST /v3/contacts/export inicia un trabajo asíncrono, devuelve un processId y entrega un CSV. También puedes paginar por GET /v3/contacts a un máximo de 1000 registros por solicitud, lo que es más fácil de programar pero más lento para bases de datos muy grandes.
¿Puedo importar mi lista de bloqueo en Brevo?
Sí. Brevo admite la importación de una lista de contactos bloqueados, y la API de importación acepta las banderas emailBlacklist y smsBlacklist para que un archivo importado aterrice como suprimido y no como enviable. Haz esto antes de importar tus contactos enviables.

Solicita acceso anticipado

Indica tu nombre y un email o número de teléfono. Nos pondremos en contacto contigo para darte los detalles de acceso a Tajo.

detección automática
Obtener Brevo