Cómo crear plantillas WhatsApp Business (HSM) que Meta apruebe a la primera. Categorías, errores comunes, ejemplos reales y costos por tipo en 2026.
En WhatsApp Business API, una plantilla (oficialmente "Highly Structured Message" o HSM) es un mensaje pre-aprobado por Meta que puedes mandar a clientes incluso si ellos no te escribieron primero. Sin una plantilla, solo puedes responder dentro de las 24 horas posteriores a un mensaje del cliente.
Esto significa: si quieres mandar una confirmación de pedido, un recordatorio de cita, una promoción o un mensaje de cobranza a alguien que no te escribió hoy — obligatorio usar plantilla.
Meta revisa cada plantilla manualmente (o con IA) y la aprueba/rechaza en 1-24 horas. Una vez aprobada queda guardada en tu cuenta y puedes mandarla cuantas veces quieras (cobrándote solo por conversación, ~USD $0.012-$0.030 dependiendo de tipo y país).
Marketing: promociones, descuentos, anuncios de producto nuevo, lanzamiento de campaña, recordatorios de carrito abandonado. Costo más alto en México: ~USD $0.030 por conversación. Meta es estricto — no aprueba lenguaje agresivo tipo "ÚLTIMA OPORTUNIDAD!!!" ni promesas falsas.
Utility: confirmación de compra, recibo, recordatorio de cita, actualización de envío, código de verificación de transacción. Costo medio: ~USD $0.012 en México. Aprobación rápida si el texto coincide con el caso real (no usar utility para vender un producto nuevo).
Authentication: solo códigos OTP para login o verificación. Costo bajísimo: ~USD $0.0035 en México. Tiene formato muy restringido (solo el código + nombre del servicio). Para esto puedes consultar la integración en /developers.
Categorizar mal tu plantilla puede llevar a rechazo o a que Meta te recategoríce automáticamente (y te cobre más). Sé honesto.
Una plantilla tiene 3-4 componentes: header (opcional: texto, imagen, video o documento), body (obligatorio, texto con variables {{1}} {{2}}…), footer (opcional, texto corto sin variables, máx 60 chars), botones (opcional: hasta 3 botones de respuesta rápida o 1 botón de URL/llamada).
Las variables ({{1}}, {{2}}, etc.) son placeholders que rellenas al enviar la plantilla. Ejemplo: "Hola {{1}}, tu pedido {{2}} llegará el {{3}}." Cuando mandas la plantilla, reemplazas {{1}} = "María", {{2}} = "#4521", {{3}} = "viernes".
Meta exige que tus variables tengan valores de ejemplo realistas al someter la plantilla — si pones "1234" en lugar de "María" como ejemplo del {{1}} de nombre, te rechazan.
Aprobada (utility): *"Hola {{1}}, tu pedido #{{2}} de {{3}} ya está confirmado. Te avisamos cuando salga a entrega. Gracias por preferir [Nombre Negocio]."* Esta tiene tono claro, variables con ejemplos realistas (María / 4521 / $890 MXN), sin emojis excesivos, sin frases de venta.
Rechazada (categorizada mal): la misma plantilla anterior pero submitida como "marketing". Meta la rechaza porque el contenido es claramente utility (confirmación post-compra). Re-categoriza y aprueba.
Rechazada (lenguaje agresivo): *"OFERTA EXCLUSIVA SOLO HOY!!!! ⚡⚡⚡ Compra YA antes de que se acabe!!!"* — Meta rechaza por uso excesivo de mayúsculas, exclamaciones, urgencia falsa.
Rechazada (variable poco clara): *"Hola {{1}}, te escribo de {{2}} sobre {{3}}."* — Meta rechaza porque no se entiende qué tipo de información va en cada variable. Necesitas ejemplos concretos al someter.
URLs de afiliado o tracking visibles: si pones un link tipo bit.ly/x9k2 en el body, Meta rechaza. Usa el botón "Visitar sitio web" con URL completa y limpia: https://tudominio.com/pedidos/4521.
Datos sensibles en variables: nada de números de tarjeta de crédito, contraseñas, NSS, RFC completo. Meta detecta esto y rechaza por compliance.
Lenguaje promocional en categoría utility: usar "compra", "descuento", "oferta" en una plantilla categorizada como utility es rechazo automático. Si vas a promocionar, usa categoría marketing.
Promesas no verificables: "100% garantizado", "número 1 en México", "mejor del mercado" — Meta lo considera engañoso. Usa lenguaje específico y comprobable.
En Wapi101: Plantillas → Nueva plantilla. Llenas nombre interno (snake_case, ej confirmacion_pedido), seleccionas idioma (es_MX), categoría y los componentes. Editor visual te muestra cómo se verá en el chat real.
Al "Enviar a aprobación", la plantilla se envía a Meta. En 1-24 horas el estado pasa a approved, rejected o paused. Si es rejected, Meta da un código de motivo (ej. INVALID_FORMAT, INVALID_DEFAULT_VALUE) que te ayuda a entender qué corregir.
Puedes editar plantillas rechazadas y volver a someterlas hasta 10 veces antes de que el nombre quede bloqueado — entonces usa otro nombre interno.
Si vendes en México y EE.UU., puedes tener la misma plantilla en es_MX y en_US. Meta las aprueba por separado (cada idioma es su propia plantilla en backend). Buena práctica: nombres internos iguales con sufijo de idioma (bienvenida_es, bienvenida_en) para mantenerlas alineadas.
En Wapi101 la UI te permite tenerlas como variantes de la misma plantilla — al enviar, el sistema detecta el idioma del contacto (basado en su número o configuración) y manda la versión correcta.
Confirmación de compra/pedido (utility): casi todos los e-commerces necesitan esta. Sirve para Shopify, WooCommerce, ventas manuales. Ejemplo en /crm-ecommerce.
Recordatorio de cita (utility): clínicas, salones, mecánicos, peluquerías. 24h antes y 1h antes. Reduce no-shows ~40%. Patrón típico en /crm-clinicas.
Carrito abandonado (marketing): para e-commerce. Manda 15min después del abandono con el producto y CTA. Recupera ~10-25% según industria — escribí una guía aparte: Recuperar carritos por WhatsApp.
Reactivación (marketing): clientes que no compran hace 3+ meses. "Te extrañamos, te dejamos 10% off." Conversiones ~3-8%.
Reseña post-venta (marketing): pides feedback 3 días después de la entrega. Manda link a Google Reviews. Aumenta tus estrellas pasivamente.
Típicamente 1-24 horas. Plantillas muy simples (utility con texto corto) suelen aprobarse en minutos. Marketing con imagen header o muchas variables tarda más. Authentication es casi instantáneo.
Hasta 6,000 plantillas por WABA. En la práctica, una PyME normal usa 10-30. Hay límite de 250 envíos a aprobación por día.
No. Meta detecta el estado del número y te devuelve error en el webhook (estado failed). Tu CRM debería marcar al contacto como "inactivo" automáticamente.
Sí, en el header puedes poner imagen (JPG/PNG ≤5MB), video (MP4 ≤16MB) o documento (PDF ≤100MB). Útil para catálogos, facturas o promociones visuales.
Meta la pausa automáticamente (estado paused) y te avisa por webhook. Tienes 7 días para apelar o eliminar. Si sigues mandando spam, pueden bajar la calidad de tu número o suspenderlo.
Sí pero el editing reenvía a aprobación. Si Meta rechaza la edición, la versión anterior sigue activa. Mejor práctica: crea una nueva variante con sufijo _v2 para no perder la aprobada.
Marketing = promocional, vendedor (ofertas, descuentos, lanzamientos). Utility = informativo, transaccional (confirmaciones, recordatorios, actualizaciones). Costo marketing es ~2.5x más caro que utility.
Sí pero moderado. 1-2 emojis emblemáticos pasan, "🎉🎉🎉🔥🔥🔥" se rechaza por "spammy". Meta también rechaza emojis ambiguos como manos en signo de ok que pueden malinterpretarse.
No, si te escribió en las últimas 24h puedes mandar mensaje libre (sin plantilla). La plantilla solo es necesaria para iniciar conversación o pasadas las 24h.
No. Pagas solo lo que cobra Meta directamente (Wapi101 usa Cloud API, sin margen extra). En tu reporte ves el costo real por conversación. Puedes verlo en precios.
Sin tarjeta. Conecta tu WhatsApp Business en 10 minutos.
Empezar gratis