Campañas
Envía difusiones, secuencias drip y pruebas A/B por WhatsApp y Telegram a audiencias con opt-in, con control de consentimiento y recuperación de carritos de Shopify.
Objetivo
Llega a tus contactos a escala por WhatsApp y Telegram, y deja que tu agent de IA responda. Campaigns te permite enviar difusiones puntuales, secuencias drip de varios pasos y pruebas A/B a una audiencia guardada, con las reglas de consentimiento y frecuencia aplicadas automáticamente antes de que salga cualquier mensaje. También incluye retargeting en dos clics de una campaña completada y una tarjeta de recuperación de carritos de Shopify que cierra carritos abandonados por WhatsApp.
Acceso
Sidebar -> Customers -> Campaigns
Ruta:
- Campaigns: /app/{tenant}/campaigns
La configuración relacionada vive en otros módulos:
- Audiencias (segmentos) y consentimiento: /app/{tenant}/contacts/audiences
- Plantillas de mensajes de WhatsApp: /app/{tenant}/whatsapp
Roles
- owner, admin — acceso completo: crear, programar, pausar, reanudar, cancelar, reintentar, retargeting y gestionar la conexión de Shopify.
- agent, viewer — sin acceso. Campaigns no aparece en el sidebar y sus acciones se bloquean en el servidor.
- Campaigns forma parte de un despliegue gradual. Si aún no está habilitado en tu workspace, contacta a soporte.
Requisitos previos
- Un plan de pago que incluya campañas. Sin él, la página muestra un panel de upgrade en lugar del módulo.
- Rol owner o admin.
- Al menos un sender activo para el canal elegido:
- WhatsApp: un número conectado por la Meta Cloud API (los números de Twilio no se admiten para campañas). Ver WhatsApp.
- Telegram: una cuenta de Telegram activa. Ver Telegram.
- Al menos una Audience (segment) guardada, creada en Contacts -> Audiences and consent.
- Para WhatsApp: al menos una plantilla de marketing o utility en estado APPROVED en el módulo de WhatsApp. Las plantillas de autenticación no se pueden difundir.
- Para envíos de marketing: contactos con opt-in de marketing registrado. El consentimiento se captura y gestiona en Contacts -> Audiences and consent.
Plan y uso
La cabecera muestra cuántos mensajes de campaña has usado en este ciclo frente a tu tope mensual (por ejemplo, 120 of 5,000 campaign messages, o Unlimited campaign messages). El tope es por mes natural; los envíos que lo superarían se bloquean en la vista previa y al programar.
Si han llegado conversaciones desde anuncios click-to-WhatsApp, una franja también muestra cuántas (N conversations from ads), para que puedas crear una audiencia o retargetizar a esas personas.
Crear una campaña
Pulsa New campaign para abrir el compositor, completa los campos y pulsa Save as draft. No se envía nada hasta que revisas el borrador y pulsas Schedule & send desde la lista.
| Campo | Canal | Notas |
|---|---|---|
| Campaign name | Ambos | Solo nombre interno; nunca se muestra a los destinatarios. |
| Channel | Ambos | WhatsApp o Telegram. |
| Send from | Ambos | Un sender activo para el canal. Si no aparece ninguno, conecta uno primero. |
| Audience (segment) | Ambos | Un segmento guardado. Si no aparece ninguno, crea uno en Contacts primero. |
| Template | Elige una plantilla approved. Cada opción muestra su nombre, idioma y tipo (Marketing o Utility). | |
| Personalize the template variables | Asigna cada variable numerada a Contact name, Contact company, Contact email, Contact phone o Fixed text. | |
| Message | Telegram | Texto libre de hasta 3.800 caracteres. |
El nombre, idioma y tipo de la plantilla se eligen siempre de tu lista aprobada, nunca se escriben a mano — así el tipo de una plantilla no se puede cambiar para esquivar el control de consentimiento.
Vista previa de la audiencia
Pulsa Preview audience en el compositor para ver, según el segmento y el tipo de mensaje seleccionados:
- cuántos contactos son sendable del total,
- cuántos se skipped — no marketing opt-in,
- cuántos se skipped — policy or frequency cap,
- un coste estimado de WhatsApp (facturado por Meta), y
- un aviso si el envío superaría el límite mensual de tu plan.
La vista previa resuelve las reglas reales del segmento en el servidor, así que los números coinciden exactamente con lo que se encolará al programar.
Programar y enviar
Desde la lista de campañas, pulsa Schedule & send en un borrador. Esto materializa la lista de destinatarios, aplica los controles de consentimiento y frecuencia, y pasa la campaña a Scheduled. Los mensajes se envían luego en segundo plano a un ritmo limitado.
Pruebas A/B
En el compositor, activa A/B test two versions para enviar dos variantes:
- Proporciona una segunda variante (Variant B template name para WhatsApp, o Variant B message para Telegram).
- Define Pick winner after (minutes) — al menos 30.
- La audiencia se divide 50/50. Tras la ventana, la variante con mejor rendimiento se envía al resto. La métrica ganadora es reply para marketing y read para utility.
A/B y drip no se pueden combinar en una misma campaña.
Secuencias drip
En el compositor, activa Add follow-up steps (drip) para enviar una secuencia:
- Añade hasta 10 pasos.
- En cada paso, define Send after (minutes) — entre 5 minutos y 30 días — y elige una plantilla (WhatsApp) o escribe un mensaje (Telegram).
- Cada paso se envía solo si el contacto aún no ha respondido. Una respuesta cancela los pasos restantes.
Drip y A/B no se pueden combinar en una misma campaña.
Gestionar campañas
Cada fila muestra el nombre de la campaña, el estado, el canal, el tipo y un embudo de entrega: queued, sent, delivered, read, replied, más los recuentos de destinatarios skipped y failed.
Estados
| Estado | Significado |
|---|---|
| Draft | Guardada pero aún no programada. |
| Scheduled | Destinatarios encolados; el envío está por comenzar. |
| Sending | Los mensajes están saliendo al ritmo limitado. |
| Paused | El envío está detenido y se puede reanudar. |
| Completed | Todos los destinatarios procesados. |
| Failed | La campaña no pudo continuar (por ejemplo, un problema con las credenciales del sender). |
| Canceled | Detenida manualmente; los destinatarios restantes no se envían. |
Acciones por estado
| Estado | Acciones disponibles |
|---|---|
| Draft | Schedule & send, o eliminar el borrador. |
| Scheduled / Sending | Pause, o Cancel. |
| Paused | Resume, o Cancel. |
| Completed / Failed / Sending (con fallos) | Retry failed — reencola los destinatarios que fallaron. |
| Cualquiera (con saltos por cuota) | Retry (quota) — reencola los destinatarios saltados por el límite mensual. |
| Completed (con envíos) | Retarget: unread y Retarget: no reply. |
Retargeting
Cuando una difusión se completa, Retarget: unread y Retarget: no reply crean cada una un borrador listo para revisar dirigido a los contactos no comprometidos de esa campaña (entregado-pero-no-leído, o leído-pero-sin-responder). El nuevo borrador reutiliza el canal, el sender y el mensaje de la campaña de origen, así que retargetizar son dos clics: crear el borrador y luego Schedule & send.
Consentimiento y topes de frecuencia
El consentimiento se aplica automáticamente en el momento del envío y no se puede eludir:
- Los mensajes de marketing solo van a contactos con opt-in de marketing explícito en ese canal. El resto se salta como no marketing opt-in.
- Los mensajes de utility van a todos excepto a los contactos que hicieron opt-out.
- Un tope de frecuencia del lado del tenant permite como máximo 3 mensajes de marketing por contacto, por canal, cada 7 días, contados en todas tus campañas. Los mensajes de utility nunca se topan.
Los opt-ins y opt-outs se registran y gestionan en Contacts -> Audiences and consent (desde respuestas por palabra clave, entrada manual o una importación CSV de opt-in).
Recuperación de carritos de Shopify
La tarjeta Shopify cart recovery conecta una tienda y envía un mensaje de WhatsApp con control de consentimiento cuando se abandona un carrito. La respuesta llega a tu agent de IA, que cierra la venta.
Conectar una tienda
En tu admin de Shopify, ve a Settings -> Apps and sales channels -> Develop apps, crea una custom app con los scopes read_checkouts y read_orders, y luego pega en la tarjeta:
- el dominio myshopify.com de tu tienda,
- el Admin API access token, y
- la API secret key.
Ambos secretos se cifran en reposo y nunca se devuelven al navegador. El número de tiendas conectadas está limitado por tu plan.
Configurar la recuperación
Activa Send a recovery message for abandoned carts, y luego define:
| Ajuste | Notas |
|---|---|
| Wait (minutes) | Espera antes de enviar el mensaje — entre 15 minutos y 3 días. |
| Template | Una plantilla de WhatsApp de marketing (Meta clasifica la recuperación de carritos como marketing). |
| Send from | El número de WhatsApp desde el que enviar. |
La tarjeta muestra una insignia de estado (Connected o Attention needed) y un embudo: carts watching, recoveries sent, recovered, más skipped y failed. Solo se envía un mensaje por carrito, y el consentimiento de marketing sigue aplicándose.
Buenas prácticas
- Crea y reutiliza audiencias en Contacts, y manten al día los opt-ins de marketing para que más contactos sean enviables.
- Reserva las plantillas de utility para mensajes genuinamente transaccionales; usa marketing para promociones.
- Usa siempre Preview audience antes de programar para detectar problemas de consentimiento, frecuencia y cuota.
- Usa A/B para probar el texto en un reparto 50/50; usa drip para seguimientos suaves que se detienen en cuanto alguien responde.
- Cuando una difusión se complete, retargetiza a los contactos sin leer o sin respuesta en dos clics.
Errores comunes
- Campaigns are on paid plans — el módulo está bloqueado; haz upgrade desde la página de facturación para desbloquearlo.
- No active sender — connect one first — conecta un número de WhatsApp de Meta Cloud API o una cuenta de Telegram activa.
- No segments — create one in Contacts first — crea una audiencia guardada en Contacts -> Audiences and consent.
- This segment has no matching contacts — amplía las reglas del segmento.
- This send would exceed your monthly campaign message limit — espera al siguiente ciclo o mejora tu plan.
- Only draft campaigns can be scheduled / Only draft campaigns can be deleted — la campaña ya salió del estado de borrador.
- No approved templates / The template must already be approved in your WhatsApp Business account — aprueba la plantilla en el módulo de WhatsApp primero.
- Could not load your templates — problema temporal; inténtalo de nuevo en un momento.
- Enter your store's myshopify.com domain / Shopify rejected the token — revisa el dominio y las credenciales de la custom app.
- You've reached your plan's connected-store limit — desconecta una tienda o mejora tu plan.