Pain points

8 min · Aug 3

Por qué tus mensajes de WhatsApp no llegan: guía de EC_FREQUENCY_CAPPING

Qué es el frequency capping de WhatsApp (EC_FREQUENCY_CAPPING), por qué Meta lo aplica, la diferencia entre plantillas MARKETING, UTILITY y AUTHENTICATION, y una checklist para que tus secuencias de outreach dejen de fallar.

Tu secuencia de WhatsApp funcionaba. Un día, sin cambiar nada, una parte de los mensajes deja de entregarse. No hay número bloqueado, no hay saldo agotado, el contacto nunca los recibe. Si revisas los reportes de entrega con lupa, aparece un código poco amable: EC_FREQUENCY_CAPPING. Este post es la guía que nos hubiera gustado tener la primera vez que lo vimos en producción.

El mensaje sale de tu sistema y es aceptado por la API, pero Meta lo frena antes de que llegue al contacto. Entender por qué es la diferencia entre una secuencia que escala y una que se apaga sola.

Qué es el frequency capping

El frequency capping es un límite que Meta aplica por USUARIO: cuántos mensajes de marketing puede recibir una misma persona en una ventana de tiempo (aproximadamente rodante de 24 horas, aunque Meta no publica el número exacto y lo ajusta de forma dinámica). Cuando tu negocio intenta enviar un mensaje de marketing a alguien que ya alcanzó su cupo, Meta acepta la petición pero NO entrega el mensaje, y devuelve EC_FREQUENCY_CAPPING en el reporte de entrega.

Punto clave que confunde a todos: el envío se acepta con un 2xx. Tu sistema cree que salió bien. El fallo aparece después, de forma asíncrona, en el reporte de entrega. Si solo miras el código de respuesta del envío, nunca te enteras.

Por qué Meta lo implementó

WhatsApp se construyó sobre una promesa: es el canal privado de la gente, no un buzón de spam. Cuando Meta abrió la puerta al marketing por WhatsApp, sabía que si las bandejas se llenaban de promociones no solicitadas, los usuarios abandonarían el canal. El frequency capping es su forma de proteger esa promesa: pone un techo a cuántas marcas distintas pueden bombardear a la misma persona con marketing, independientemente de cuánto quieras pagar tú por enviar.

Es decir, el cap no castiga tu cuenta por hacer algo malo. Castiga el volumen de marketing que YA recibió ese contacto de todo el ecosistema. Puedes ser el tercero educado que envía a un usuario que hoy ya recibió promociones de otras cinco marcas, y tu mensaje es el que cae.

MARKETING vs UTILITY vs AUTHENTICATION: la categoría lo decide todo

Fuera de la ventana de 24 horas (ya llegaremos a eso), cualquier mensaje que inicia tu negocio tiene que ser una plantilla aprobada, y cada plantilla pertenece a una categoría. La categoría es la que determina si te aplica el frequency cap:

  • MARKETING: promociones, ofertas, invitaciones, reactivaciones, cualquier cosa cuyo objetivo sea vender o generar interés. ES la categoría que sufre el frequency capping. La mayoría del cold outreach cae aquí.
  • UTILITY: mensajes transaccionales sobre algo que el usuario ya inició o espera: confirmación de pedido, recordatorio de cita, actualización de estado, aviso de pago. NO le aplica el frequency cap de marketing (aunque debe corresponder a una interacción o acuerdo real).
  • AUTHENTICATION: exclusivamente códigos de un solo uso (OTP) para verificar identidad. Categoría propia, con reglas propias, fuera del alcance del cap de marketing.

Ojo: la categoría la asigna y la puede re-clasificar Meta, no solo tú. Si etiquetas como UTILITY una plantilla que en realidad vende, Meta puede recategorizarla a MARKETING, y de repente tu secuencia entera vuelve a estar sujeta al cap.

Cómo diagnosticar si es esto lo que te pasa

Antes de reescribir nada, confirma que el problema es frequency capping y no otra cosa. Señales que apuntan a este error y no a un bloqueo de número o a falta de saldo:

  1. El envío se acepta (2xx) pero el reporte de entrega posterior marca el mensaje como fallido con EC_FREQUENCY_CAPPING o un estado equivalente de frecuencia.
  2. Falla de forma intermitente, no total: unos contactos reciben y otros no, sin patrón de número o país.
  3. Empeora cuando aprietas la cadencia: si tus follow-ups van a +5 min y +10 min, casi todos caen; si van a días de distancia, casi ninguno.
  4. Son plantillas de categoría MARKETING. Las UTILITY del mismo flujo siguen entregándose.
El patrón revelador: cuanto más juntas envías las plantillas de marketing al mismo contacto, más caen. Espaciarlas no es una molestia burocrática, es el arreglo.

Checklist de buenas prácticas

Una vez confirmado, estas son las prácticas que mantienen tus secuencias entregándose:

  • Categoriza bien desde el diseño. Si un mensaje realmente es transaccional (confirmación, recordatorio, actualización que el usuario espera), formúlalo y decláralo como UTILITY. No metas gancho comercial en una utility: es justo lo que hace que Meta la recategorice a marketing.
  • Espacia los follow-ups de marketing. Como regla práctica, deja al menos 24 horas entre plantillas de marketing consecutivas al mismo contacto, y no antes de 24 horas del primer envío. Los +5 min / +10 min son el camino más rápido al cap.
  • Pace tus reintentos. Si un mensaje cae por frecuencia, reintentarlo enseguida vuelve a caer. Aplica backoff (por ejemplo, 24 horas) antes de volver a intentar con ese contacto.
  • No trates un fallo de frecuencia como un rebote duro. El contacto es válido; no lo suprimas. Solo estaba saturado ese día.
  • Mide en el reporte de entrega, no en el código de envío. Tu tasa real de entrega vive en los callbacks asíncronos.

El atajo que casi nadie aprovecha: la ventana de sesión de 24h

Aquí está la parte que cambia el juego. Cuando un usuario te escribe, se abre una ventana de servicio de 24 horas. Dentro de esa ventana puedes responder con mensajes de formato libre (sin plantilla) y esos mensajes NO están sujetos al frequency capping de marketing. Es decir: si tu outreach consigue que el contacto responda aunque sea una vez, pasas de pelear contra el cap a conversar libremente durante 24 horas.

La consecuencia estratégica es enorme: el objetivo del primer toque no es vender, es provocar una respuesta que abra la ventana. Todo lo que venga después ocurre en terreno donde el cap no aplica. Un buen agente conversacional está diseñado justo para esto: abrir y sostener la ventana con mensajes relevantes, no quemar plantillas de marketing contra una pared.

En Blind Agents tratamos el frequency capping como lo que es: física del canal, no un bug tuyo. El motor espacia automáticamente las plantillas de marketing con un suelo de cadencia, hace backoff en los fallos de frecuencia, y prioriza mantener viva la ventana de sesión de 24h para conversar sin plantillas. La parte técnica que otros proveedores no te explican, resuelta por defecto.

En resumen

EC_FREQUENCY_CAPPING no es un castigo a tu cuenta ni un problema de saldo: es Meta protegiendo la bandeja del usuario del exceso de marketing. Se diagnostica en el reporte de entrega, se mitiga categorizando bien tus plantillas y espaciando la cadencia, y se evita del todo cuando consigues respuesta y conversas dentro de la ventana de 24 horas. Quien entiende esto no solo deja de perder mensajes: construye una operación de outreach que aguanta el volumen sin apagarse.

Por qué tus mensajes de WhatsApp no llegan: guía de EC_FREQUENCY_CAPPING · Blind Agents