Actualizado el 25/10/2026
Para hacer NPS por WhatsApp sin molestar, envía una sola encuesta corta después de que el cliente recibió el pedido o terminó la atención, menciona ese pedido específico, permite responder con un toque (botones o WhatsApp Flows) y pon un límite de frecuencia por cliente. En la API oficial de WhatsApp, ese mensaje solo puede ser plantilla de utilidad si está ligado a una compra o interacción concreta; Meta clasifica las encuestas genéricas como marketing.
Esta guía muestra el flujo de posventa, la regla de categoría de Meta para encuestas, tres formatos para recoger la nota (botones, lista y Flow), un ejemplo de Flow de NPS y cómo leer las respuestas en el webhook.
Encuestas en WhatsApp: qué permite Meta
La documentación de categorización de plantillas tiene una fila específica para encuestas de satisfacción. Son de utilidad cuando recogen opiniones sobre un pedido, transacción o interacción anterior, y la especificidad es obligatoria: una encuesta o solicitud de opinión general o genérica no se aprueba como utilidad.
En la práctica:
| Texto | Categoría probable |
|---|---|
| «Tu pedido {{1}} fue entregado. ¿Cómo fue tu experiencia? Toca abajo para responder una encuesta corta.» | Utilidad |
| «Hablaste con nuestro soporte sobre el pedido {{1}}. ¿Cómo fue la atención?» | Utilidad |
| «¡Queremos saber tu opinión sobre nuestra marca!» | Marketing (genérica) |
| «Evalúa tu pedido {{1}} y gana 10 % en tu próxima compra.» | Marketing (contenido mixto con oferta) |
El último ejemplo es el error más común. Un cupón como incentivo convierte la encuesta en marketing, porque las plantillas que mezclan contenido de utilidad y de marketing se clasifican como marketing. Para la lógica de las tres categorías, mira cómo clasifica Meta tu plantilla.
Hay un segundo camino: si el cliente te escribió en las últimas 24 horas, la ventana de atención está abierta y puedes enviar la encuesta como mensaje libre (botones, lista o Flow), sin plantilla.
Cuándo enviar: el flujo de posventa
El disparador correcto es un evento de tu sistema, no una fecha fija del calendario. Un flujo sencillo:
- Confirmación del pedido (utilidad).
- Actualizaciones de envío (utilidad).
- Entrega confirmada: el sistema registra la entrega desde la transportadora o tu app.
- Espera corta: dale tiempo al cliente para usar el producto. Para comida, minutos; para un electrónico, algunos días. Defínelo por tipo de producto.
- Encuesta NPS, mencionando el pedido.
- Respuesta según la nota: agradecimiento para notas altas, contacto humano para notas bajas.
Para atención al cliente, el disparador es el cierre del ticket. Mismo principio: menciona la interacción y pregunta una sola cosa. Métricas como CSAT y tiempo de respuesta están en métricas de atención en WhatsApp.
¿Quieres probar mientras lees? Crea tu cuenta en Vectalk y envía el primer mensaje por la API oficial. Crear cuenta gratis →
Frecuencia: lo que evita las quejas
Meta no fija un número máximo de encuestas por cliente. Lo que mide es la reacción de los usuarios: bloqueos, denuncias y silenciamientos bajan la calidad del número. Encuestar de más es un camino corto hacia eso. Reglas que funcionan bien en tu propio sistema:
- Una encuesta por pedido, nunca más de una por evento.
- Tope por cliente: por ejemplo, como máximo una encuesta cada 30 o 60 días, incluso para quien compra cada semana. Elige el tope según tu frecuencia de compra.
- Sin recordatorios: si el cliente no respondió, no insistas.
- Respeta la baja: incluye un botón como «No quiero encuestas» y guarda la preferencia.
- No encuestes tras un problema sin resolver: si el pedido tiene un reclamo abierto, resuélvelo primero.
Todo mensaje iniciado por la empresa exige opt-in. Si el cliente aceptó recibir actualizaciones del pedido por WhatsApp, deja claro en ese mismo consentimiento que puedes pedirle una evaluación. Mira cómo armar una lista opt-in.
Tres formatos para recoger la nota
| Formato | Cómo funciona | Límite | Ideal para |
|---|---|---|---|
| Botones de respuesta rápida | Hasta 3 botones con texto de hasta 20 caracteres | 3 opciones | CSAT simple (bueno, regular, malo) |
| Lista interactiva | Menú con filas seleccionables | Hasta 10 filas en total | Escalas de hasta 10 puntos |
| WhatsApp Flows | Formulario dentro de la conversación, con pantallas y componentes | RadioButtonsGroup acepta hasta 20 opciones | NPS de 0 a 10 con comentario |
Los límites son de Meta: botones de respuesta, lista interactiva y componentes de Flows.
Ojo con el detalle: el NPS clásico va de 0 a 10, es decir, 11 opciones. No cabe en una lista interactiva, que acepta hasta 10 filas. Las salidas son usar un Flow, pedir que el cliente escriba el número (y validarlo) o usar otra escala.
NPS con WhatsApp Flows
WhatsApp Flows abre un formulario dentro de la conversación. Para una encuesta, basta una pantalla: la nota de 0 a 10 y un campo opcional de comentario. La propia Meta enlaza tutoriales de encuestas con Flows en su página de ejemplos.
Un Flow JSON mínimo:
{
"version": "6.0",
"screens": [
{
"id": "NPS",
"title": "Evalúa tu pedido",
"terminal": true,
"success": true,
"layout": {
"type": "SingleColumnLayout",
"children": [
{ "type": "TextBody", "text": "Del 0 al 10, ¿qué tanto recomendarías nuestra tienda a un amigo?" },
{
"type": "RadioButtonsGroup",
"name": "nota",
"label": "Tu nota",
"required": true,
"data-source": [
{ "id": "0", "title": "0" }, { "id": "1", "title": "1" }, { "id": "2", "title": "2" },
{ "id": "3", "title": "3" }, { "id": "4", "title": "4" }, { "id": "5", "title": "5" },
{ "id": "6", "title": "6" }, { "id": "7", "title": "7" }, { "id": "8", "title": "8" },
{ "id": "9", "title": "9" }, { "id": "10", "title": "10" }
]
},
{ "type": "TextArea", "name": "comentario", "label": "¿Algún comentario?", "required": false },
{
"type": "Footer",
"label": "Enviar evaluación",
"on-click-action": {
"name": "complete",
"payload": { "nota": "${form.nota}", "comentario": "${form.comentario}" }
}
}
]
}
}
]
}
El Flow puede enviarse de dos formas, según la documentación de envío de Flows:
- Dentro de la ventana de atención: mensaje interactivo de tipo
flow. - Fuera de la ventana: plantilla con un botón de tipo
FLOW. La categoría sigue la misma regla: utilidad si el texto menciona el pedido y no tiene oferta.
Usa el flow_token para identificar el pedido. La respuesta del Flow no trae el ID del Flow, y Meta recomienda poner un identificador en el flow_token o en el payload.
Cómo leer la respuesta en el webhook
Cuando el cliente termina el Flow, llega un mensaje interactive de tipo nfm_reply. El campo response_json es una cadena JSON con el payload que definiste en la acción complete, según la documentación de webhooks de Flows:
{
"from": "5511988887777",
"id": "wamid.HBgN...",
"type": "interactive",
"interactive": {
"type": "nfm_reply",
"nfm_reply": {
"name": "flow",
"body": "Sent",
"response_json": "{\"flow_token\": \"pedido-48213\", \"nota\": \"6\", \"comentario\": \"Llegó tarde\"}"
}
}
}
Un manejador en Node.js que clasifica la nota y activa el siguiente paso:
export function procesarNps(msg, db, avisarEquipo) {
if (msg.type !== 'interactive' || msg.interactive.type !== 'nfm_reply') return;
const r = JSON.parse(msg.interactive.nfm_reply.response_json);
const nota = Number(r.nota);
const grupo = nota >= 9 ? 'promotor' : nota >= 7 ? 'pasivo' : 'detractor';
db.guardarNps({ pedido: r.flow_token, wa_id: msg.from, nota, grupo, comentario: r.comentario });
if (grupo === 'detractor') avisarEquipo({ pedido: r.flow_token, wa_id: msg.from, nota, comentario: r.comentario });
}
La división en promotores (9 y 10), pasivos (7 y 8) y detractores (0 a 6) es la convención del NPS. El índice es el porcentaje de promotores menos el de detractores.
Si usaste botones de respuesta rápida en una plantilla, el webhook llega con type: "button" y el texto en button.text. En mensajes interactivos libres, el tipo es button_reply o list_reply. Para cruzar la encuesta con la entrega del mensaje, usa el webhook de estados.
Qué hacer con la nota
- Detractor (0 a 6): abre una atención humana en minutos, mientras sigue abierta la ventana de 24 horas que abrió la respuesta del cliente. Resolver el problema ahí vale más que el número.
- Pasivo (7 y 8): agradece y pregunta qué faltó, solo si el comentario vino vacío.
- Promotor (9 y 10): agradece. Si quieres pedir una reseña pública (Google, marketplace), hazlo en la misma conversación, dentro de la ventana abierta por la respuesta, sin una nueva plantilla.
Esto último evita un segundo mensaje iniciado por la empresa: la respuesta del cliente abrió la ventana de atención, y el agradecimiento libre sale como mensaje de servicio.
Cómo hacerlo con Vectalk
Vectalk usa los mismos payloads y webhooks de la Cloud API:
- Plantilla de la encuesta: créala con
POST /api/templatesy categoríaUTILITY(documentación). - Flow: créalo con
POST /api/flowsy publícalo conPOST /api/flows/{flowId}/publish(documentación de Flows). - Envío:
POST /api/messages, contype: "template"otype: "interactive"einteractive.type: "flow"(ejemplos). - Respuestas: registra tu URL con
POST /api/webhooksy procesanfm_replycomo en el ejemplo.
El costo de los mensajes va en la factura de Vectalk, y Vectalk le paga a Meta. Crea tu cuenta en apps.vectalk.com.br/register.
Preguntas frecuentes
¿La encuesta NPS es plantilla de utilidad o de marketing?
De utilidad, cuando el texto menciona un pedido, una visita o una atención específica y no tiene oferta. Una encuesta genérica sobre la marca, o una con cupón como incentivo, es marketing.
¿Puedo ofrecer un descuento a quien responda?
Puedes, pero el mensaje pasa a ser marketing, con el precio y las reglas de marketing, y exige opt-in para ese tipo de mensaje. Si quieres mantener la encuesta como utilidad, deja fuera la oferta.
¿Cuánto tiempo después de la entrega debo enviarla?
Meta no tiene una regla. Lo ideal es cuando el cliente ya tuvo tiempo de usar el producto o servicio. Define la espera por tipo de producto y prueba.
¿Se puede hacer un NPS de 0 a 10 con lista interactiva?
No en una sola lista, porque acepta hasta 10 filas y la escala de 0 a 10 tiene 11 opciones. Usa un Flow, pide la nota por texto o cambia de escala.
¿Necesito opt-in para enviar una encuesta?
Sí. Meta exige opt-in antes de que la empresa inicie contacto por WhatsApp. Deja claro en el consentimiento que la empresa puede enviar actualizaciones del pedido y solicitudes de evaluación.
Fuentes oficiales consultadas el 25/10/2026: Categorización de plantillas, Mensajes con botones de respuesta, Mensajes de lista, Componentes de Flows, Envío de Flows, Webhooks de Flows, Ejemplos de Flows, Webhook de botones, Obtener opt-in, Vectalk: Flows.
Pon a funcionar el WhatsApp oficial de tu empresa
Crea tu cuenta, conecta tu número a la API oficial (puedes mantener la app con coexistencia) y empieza a atender y enviar mensajes.
