El widget es tu encuesta corriendo dentro de tu propio sitio, sin depender de que alguien abra un correo. Pegas un fragmento de código una sola vez y WiseData NPS se encarga del resto: cuándo aparece, a quién, con qué frecuencia y qué pasa después de la respuesta.
Este artículo usa un ejemplo de principio a fin: Sanches Contabilidad quiere medir la satisfacción de quienes usan su portal, en app.sanches.com.
Antes de empezar
Tres cosas deben estar listas, en este orden:
- Una encuesta creada con el canal Sitio / Embed marcado en el paso de canales. El código solo se genera después de guardar la encuesta — antes de eso el panel avisa que hay que guardar primero para generar el código con el ID correcto.
- El dominio del sitio autorizado (el paso 1 abajo). Sin eso el widget simplemente no carga, y sin mostrar error en la pantalla.
- Acceso al HTML del sitio, o a un gestor de etiquetas. Si otra persona cuida el sitio, lo que tienes que entregarle es el código del paso 2.
El embed no funciona para encuestas de eNPS ni de Competencia — la primera es interna, la segunda es dirigida, y ninguna tiene sentido abierta a cualquier visitante.
Paso 1 — Autoriza el dominio de tu sitio
Ve a Canales › Configuración del Embed › Dominios Autorizados y registra la dirección del sitio — en nuestro ejemplo, sanches.com. Escribe solo el dominio: si pegas la URL entera, con https:// o con una barra al final, el campo la limpia solo.
Un dominio registrado vale también para www y para los subdominios. Es decir, sanches.com ya autoriza www.sanches.com y app.sanches.com — Sanches no necesita registrar los tres. Por eso conviene registrar el dominio raíz y no el subdominio específico.
Mientras la lista esté vacía, nada funciona. Es a propósito: una encuesta abierta a todo internet recibiría respuestas de cualquier página que copiara tu código, y la base quedaría contaminada sin que nadie lo note.
Paso 2 — Copia el código de la encuesta
El código está en dos lugares, con el mismo contenido: en el paso Configuración de Sitio / Embed al crear o editar la encuesta (campo Código de integración), y en el detalle de la encuesta ya guardada, en la tarjeta Código del widget. Se ve así:
<script src="https://cdn.wisedatanps.com/embed/widget.min.js" data-survey="TU_ID_DE_ENCUESTA" async></script> El data-survey es lo que ata el código a esa encuesta específica. Cada encuesta tiene el suyo — no reutilices el código de una encuesta anterior pensando que es el mismo.
Paso 3 — Pégalo en el sitio
Pégalo dentro del <head> o justo antes del </body>, en todas las páginas donde la encuesta pueda aparecer. El async garantiza que no retenga la carga de tu página.
No intentes limitar las páginas eligiendo dónde pegar el código: para eso existe la Segmentación por página en la configuración de la encuesta, que acepta comodines (/checkout/*) y cuya lista de bloqueo tiene precedencia sobre la de permitidas. Pegar en todos lados y filtrar en el panel es el camino que puedes cambiar después sin tocar el sitio.
Di quién está respondiendo
Este es el paso que más cambia el valor de la encuesta, y el único que el código copiado del panel no trae listo. Tal como viene, cada respuesta llega anónima: te queda la nota, pero no sabes de quién.
Si tu sitio tiene área con sesión — como el portal de Sanches —, agrega los datos de la persona en la propia etiqueta:
<script src="https://cdn.wisedatanps.com/embed/widget.min.js" data-survey="TU_ID_DE_ENCUESTA" data-user-id="8421" data-user-email="maria@empresa.com" data-user-name="Maria Andrade" data-user-traits='{"plan":"Pro","ciudad":"Goiânia"}' async></script> Ganas tres cosas con eso:
- El nombre de quien respondió aparece en la tarjeta del feedback y en el detalle del cliente, en lugar de "encuestado anónimo".
- Una persona responde una sola vez, aunque cambie de navegador o de computadora — la verificación pasa a ser por
data-user-id, no por el aparato. - Los traits se vuelven cortes de análisis: con
plancompletado, Sanches puede ver la nota de quien está en el plan Pro aparte de quien está en el básico. Si un trait se llamaphone, el valor entra como teléfono de contacto del encuestado.
Los traits tienen tope: hasta 10 atributos, con valores simples (texto, número o sí/no). Lo que pase de ahí se descarta en silencio, así que no uses el campo como volcado de datos del usuario — usa las pocas etiquetas por las que realmente vas a segmentar.
En encuestas anónimas nada de esto aparece en el panel: nombre, correo y traits quedan ocultos aunque se hayan enviado. La promesa de anonimato está por encima de la identificación.
Sitios de una sola página (React, Vue, Angular)
En sitios que cambian de pantalla sin recargar, el código corre una sola vez, en la primera carga. Eso tiene tres consecuencias prácticas.
La identificación llega después. En la primera carga el visitante normalmente ni siquiera inició sesión. Para ese caso, avísale al widget en cuanto sepas quién es la persona:
window.WiseDataNPS.identify({ id: '8421', email: 'maria@empresa.com', name: 'Maria Andrade', traits: { plan: 'Pro' } }); Puedes llamarlo antes de que el widget termine de cargar — la llamada queda en cola y se aprovecha. Y vuelve a llamarlo cuando el usuario cambie (salir y entrar con otra cuenta), si no la respuesta del segundo sale a nombre del primero.
Cuando alguien solo cierra sesión, avísale también:
window.WiseDataNPS.reset(); Sin eso, la identificación del último usuario sigue en la memoria del widget hasta que la página se recargue — y una respuesta dada después de la salida llega a nombre de quien ya se fue. El reset() solo olvida a quién estaba identificado: no cierra una encuesta que ya esté abierta en la pantalla. Para eso, mira el punto siguiente.
La encuesta abierta no sale sola de la pantalla. Solo desaparece cuando el visitante responde o la cierra — hasta entonces, atraviesa los cambios de pantalla de tu sitio. Si la encuesta es para quien tiene sesión, monta el widget dentro del área con sesión, y no en la raíz de la aplicación: en la raíz sigue en pie cuando la persona es llevada a pantallas públicas como el inicio de sesión o el restablecimiento de contraseña. Y al salir de esa área, llévate la encuesta también:
document.querySelectorAll('.wdnps-container') .forEach(function (el) { el.remove(); }); window.WiseDataNPS.reset(); Cuidado especial con los disparadores Después de tiempo en la página e Intención de salida: pueden dispararse cuando la persona ya cambió de pantalla, y la encuesta nace donde no querías.
La segmentación por página y "después de N páginas" solo ven la primera pantalla. Como no hay recarga, la URL evaluada es la de entrada y el conteo de páginas no avanza. En esos sitios prefiere los disparadores Inmediato, Después de tiempo en la página o Intención de salida, y evita depender de reglas por URL. Fíjate en que la URL registrada en la respuesta sigue otra lógica: es la de la pantalla en la que estaba la persona al momento de enviar, y es la que aparece en Origen de la Respuesta en el panel.
Eligiendo dónde aparece la encuesta
El modo de visualización — Popup, Slide-in o Inline — se define en la configuración de la encuesta y no hace falta repetirlo en el código. El popup abre centrado tras unos segundos; el slide-in se desliza en la esquina inferior derecha; el inline nace dentro de la propia página, sin botón de cerrar.
En modo inline, por defecto la encuesta aparece exactamente donde pegaste el código — no hace falta crear ninguna caja alrededor. Si quieres llevarla a otro punto de la página, indica el elemento:
<script src="https://cdn.wisedatanps.com/embed/widget.min.js" data-survey="TU_ID_DE_ENCUESTA" data-target="#area-de-la-encuesta" async></script> También existe data-mode, que fuerza un modo distinto al configurado en el panel. Úsalo con moderación: el día en que alguien cambie el modo en la encuesta y nada cambie en el sitio, la respuesta estará en ese atributo olvidado en el HTML.
Cuando el widget no aparece
El widget falla en silencio a propósito — nunca rompe tu página ni muestra error al visitante. Revisa en este orden, que es el de frecuencia:
- ¿El dominio está autorizado? Es la causa número uno. Recuerda que el subdominio queda cubierto por el dominio raíz, pero eso no vale entre dominios distintos.
- ¿La encuesta está en ejecución? Una encuesta en borrador, pausada, finalizada o fuera de la ventana de fechas no muestra nada.
- ¿Ya respondiste o ya lo cerraste? Quien responde no lo vuelve a ver, y quien lo cierra entra en los días de descanso configurados. Para probar como visitante nuevo, usa una ventana privada.
- ¿La tasa de muestreo está baja? Al 20%, cuatro de cada cinco visitantes no ven nada — y eso te incluye.
- ¿La segmentación por página coincide con la URL actual? La lista de páginas bloqueadas tiene precedencia sobre la de permitidas.
- ¿Ya se disparó el gatillo? En "intención de salida" en computadora, el widget solo aparece cuando el cursor sale por arriba de la pantalla; en el celular espera diez segundos.
Qué desbloquea cada plan
El widget en sí está disponible en todos los planes, y los envíos por él son ilimitados — no consumen cuota de correo ni de WhatsApp. Lo que cambia con el plan es:
- Cuántos dominios puedes autorizar: uno en Free, dos en Pro, sin límite a partir de Business. La pantalla te deja escribir más, pero el servidor rechaza por encima de lo que tu plan permite.
- Frecuencia de visualización (no repetir la encuesta a la misma persona por N días) está disponible a partir de Pro.
Adónde ir después
- Canales de envío — cómo se compara el embed con el correo y WhatsApp, y las métricas de cada uno.
- Creando y enviando encuestas — las reglas de visualización, los gatillos y las acciones post-respuesta, paso a paso.
- Resultados e informes — dónde leer las respuestas, incluyendo el NPS por página del sitio.
- Alertas — cómo enterarte en el momento en que un detractor responde.
Resumiendo: autoriza el dominio en Canales, pega el código de la encuesta en todas las páginas del sitio, agrega los datos de quien tiene sesión para no recibir respuestas anónimas, y resuelve el resto — cuándo aparece, a quién y con qué frecuencia — desde las reglas de visualización en el panel, sin volver a tocar el HTML.