Diagnóstico rápido
Antes de analizar problemas específicos, realiza una verificación básica:
- Abre la página con el widget.
- Pulsa F12 (o Cmd+Option+I en Mac) -> pestaña Console.
- Busca errores relacionados con
tikento,widget.js,CSPoCORS. - Revisa la pestaña Network -- busca la solicitud a
tikento.com/widget.jsy asegúrate de que el estado sea 200.
Problema: el widget no carga en absoluto
Causa 1: Content Security Policy (CSP) bloquea el script
Síntomas:
- El formulario no aparece.
- En la consola:
Refused to load the script 'https://tikento.com/widget.js' because it violates the following Content Security Policy directive: "script-src ...".
Solución:
Añade tikento.com a la directiva script-src de tu política CSP:
script-src 'self' https://tikento.com;
Si usas meta-tag:
<meta http-equiv="Content-Security-Policy"
content="script-src 'self' https://tikento.com;">
También puede ser necesario añadir connect-src https://tikento.com para las solicitudes API del widget y style-src 'unsafe-inline' https://tikento.com para los estilos.
Causa 2: eventId incorrecto
Síntomas:
- El script se carga (200 en Network), pero el formulario no se renderiza.
- En la consola:
[tikento] Event not foundo[tikento] Invalid eventId format.
Solución:
- Abre el evento en el panel de tikento.
- Ve a la pestaña Registro -> Widget para sitio web.
- Copia el UUID correcto del campo o del código listo del widget.
- Asegúrate de que el atributo
data-tikento-widgetcontenga exactamente el UUID sin espacios ni caracteres extra.
<!-- Correcto -->
<div data-tikento-widget="550e8400-e29b-41d4-a716-446655440000"></div>
<!-- Incorrecto -->
<div data-tikento-widget="TU_EVENT_ID"></div>
Causa 3: El script no está conectado o está conectado dos veces
Síntomas:
- El contenedor
divestá en la página, pero el formulario no aparece. - No hay errores en la consola, no hay solicitud a
widget.jsen Network.
Solución:
Asegúrate de que la etiqueta <script> esté presente en la página y se cargue exactamente una vez:
<script src="https://tikento.com/widget.js" async defer></script>
Algunos constructores de sitios (Tilda, Wix) requieren añadir scripts en bloques especiales. Ver Instalación en Tilda, Webflow, Wix.
Problema: errores CORS
Síntomas:
- El formulario comienza a cargarse, pero los datos (campos, entradas) no se cargan.
- En la consola:
Access to fetch at 'https://tikento.com/api/...' from origin 'https://your-site.com' has been blocked by CORS policy.
Solución:
En los planes Pro y superiores es necesario añadir el dominio de tu sitio a la lista de orígenes permitidos:
- En el panel: evento -> Registro -> Widget -> Dominios permitidos.
- Añade el dominio de tu sitio (por ejemplo,
example.como*.example.com). - Haz clic en Guardar.
Los cambios surten efecto en menos de un minuto (después de la invalidación de la caché widget:origins:{eventId}).
En el plan Free no se aplican restricciones CORS -- el widget funciona en cualquier dominio.
Más detalles -- Configuración de CORS.
Problema: los estilos del widget fallan
Propiedades CSS heredables
Shadow DOM aísla la mayoría de los estilos, pero algunas propiedades CSS se heredan a través del límite del Shadow DOM:
font-family,font-size,line-heightcolordirection,text-alignvisibility
Si tu CSS reset establece valores agresivos en body o *, esto puede afectar al widget.
Solución:
Define las variables CSS del widget explícitamente para sobrescribir los valores heredados:
:root {
--tikento-font: 'Inter', sans-serif;
--tikento-text: #18181B;
}
El contenedor del widget está comprimido o invisible
Síntomas:
- El widget se muestra con altura 0 o ancho 0.
- El formulario está cortado.
Solución:
Verifica que el elemento padre del contenedor data-tikento-widget no tenga:
overflow: hiddencon altura fijadisplay: noneovisibility: hiddenmax-height: 0oheight: 0position: fixed/absolutesin dimensiones definidas
El contenedor del widget necesita un ancho libre mínimo de 320px.
Problema: se muestra una versión antigua del formulario
Síntomas:
- Actualizaste los campos o entradas en el constructor, pero en el widget del sitio se ve la versión antigua.
Solución:
- Caché del navegador. Pulsa Ctrl+Shift+R (o Cmd+Shift+R en Mac) para una recarga forzada.
- Caché de CDN / hosting. Si tu sitio está detrás de Cloudflare o un CDN similar, limpia la caché de la página con el widget.
- Caché Redis de tikento. La configuración del widget se almacena en caché con TTL de 300 segundos (5 minutos). Si han pasado más de 5 minutos y los cambios no aparecen -- contacta con soporte.
El script widget.js se carga con el encabezado Cache-Control: no-cache -- siempre está actualizado. Pero la configuración del formulario (campos, entradas, opciones) se almacena en caché del lado de tikento.
Problema: el widget no funciona en modo popup
Síntomas:
- El botón con
data-tikento-popupno abre el formulario al hacer clic.
Solución:
- Asegúrate de que el script
widget.jsesté cargado en la página. - Verifica que el atributo
data-tikento-popupcontenga un UUID de evento correcto. - Si el botón se añade dinámicamente (mediante un framework JS), asegúrate de que esté presente en el DOM en el momento de la inicialización del widget, o llama a
window.tikento?.refresh()después de añadirlo.
Errores en la consola: referencia
| Mensaje | Causa | Acción |
|---|---|---|
[tikento] Event not found | eventId incorrecto o evento eliminado | Verifica el UUID |
[tikento] Event not published | El evento está en estado draft | Publica el evento |
[tikento] Origin not allowed | El dominio no está en el allowlist (Pro+) | Añade el dominio en la configuración |
[tikento] Widget init failed | Error de inicialización | Verifica CSP, Network |
Refused to load the script... | CSP bloquea | Actualiza la política CSP |
CORS policy | Dominio no permitido | Configura CORS |
Sigue sin funcionar
Si después de todas las verificaciones el problema persiste:
- Haz una captura de pantalla de los errores en la consola (pestaña Console).
- Copia la URL de la página donde está instalado el widget.
- Indica el navegador y su versión.
- Envía todo al soporte a través del panel (Ayuda -> Escribir a soporte) o a support@tikento.com.