Broadcasts: Emails Masivos
Un broadcast es un email que se envía a toda una audiencia (o a un segmento de ella) en un solo disparo. Es el equivalente de una campaña de email marketing: tú decides el contenido, eliges a quién va dirigido y cuándo se envía.
Broadcast vs Email Transaccional
Antes de seguir, es importante entender la diferencia entre estos dos tipos de email porque Resend los maneja de forma distinta:
Email transaccional: se dispara automáticamente cuando un usuario realiza una acción en tu aplicación. Ejemplos: confirmación de registro, recibo de compra, reseteo de contraseña. Se envía con resend.emails.send() desde tu código.
Broadcast: tú decides cuándo enviarlo. Ejemplos: newsletter semanal, anuncio de nueva feature, promoción de temporada. Se envía desde el dashboard de Resend o usando la API de broadcasts.
| Transaccional | Broadcast | |
|---|---|---|
| Disparado por | Acción del usuario | Decisión tuya |
| Método | resend.emails.send() | Dashboard o API de broadcasts |
| Destinatario | Un usuario específico | Toda una audiencia o segmento |
| Frecuencia | Cuando ocurre la acción | Cuando tú lo programes |
Crear un Broadcast desde el Dashboard
La forma más rápida de enviar tu primer broadcast es desde el dashboard de Resend:
- Ve a Broadcasts en el menú lateral
- Haz clic en Create Broadcast
- Selecciona la audiencia a la que quieres enviar
- Escribe el subject (asunto) del email
- Crea el contenido usando el editor visual o pegando HTML directamente
- Haz clic en Preview para ver cómo se verá el email
- Envía inmediatamente o programa el envío para una fecha futura
Crear un Broadcast por API
Si prefieres automatizar la creación de broadcasts desde tu código, puedes usar la API:
import { Resend } from 'resend'
const resend = new Resend(process.env.RESEND_API_KEY)
// Paso 1: crear el broadcast
const { data, error } = await resend.broadcasts.create({
audienceId: 'aud_xxxx',
from: 'Newsletter <news@tudominio.com>',
subject: 'Novedades de marzo',
html: '<h1>Novedades</h1><p>Este mes lanzamos...</p>'
})
if (error) {
console.error('Error al crear broadcast:', error)
throw error
}
// Paso 2: enviar el broadcast
await resend.broadcasts.send(data.id)Programar el Envío
Si no quieres enviar el broadcast inmediatamente, puedes programarlo para una fecha y hora específica usando el parámetro scheduledAt con formato ISO 8601:
const { data, error } = await resend.broadcasts.create({
audienceId: 'aud_xxxx',
from: 'Newsletter <news@tudominio.com>',
subject: 'Novedades de marzo',
html: '<h1>Novedades</h1><p>Este mes lanzamos...</p>',
scheduledAt: '2026-03-15T10:00:00Z'
})El broadcast se enviará automáticamente en la fecha indicada. Puedes cancelarlo antes de que se envíe desde el dashboard.
Analytics de Broadcasts
Después de enviar un broadcast, Resend te muestra métricas en tiempo real desde el dashboard:
- Opens (aperturas) -- cuántos destinatarios abrieron el email
- Clicks (clics) -- cuántos hicieron clic en algún link dentro del email
- Bounces (rebotes) -- cuántos emails no pudieron ser entregados
- Unsubscribes (desuscripciones) -- cuántos usuarios se desuscribieron después de recibir el email
Estas métricas te ayudan a entender qué tan efectivo fue tu broadcast y a mejorar los siguientes.
Link de desuscripción automático
Los broadcasts incluyen automáticamente un link de unsubscribe (desuscripción) al final del email. Esto es obligatorio por ley en la mayoría de jurisdicciones, incluyendo CAN-SPAM (Estados Unidos) y GDPR (Unión Europea). No necesitas agregarlo manualmente.
Envío de prueba
Siempre haz un envío de prueba a tu propio email antes de enviar a toda la audiencia. Revisa que el subject, el contenido y los links funcionen correctamente. Un error en un broadcast llega a todos tus contactos de golpe.