Actualizado el 19 de octubre de 2026.
13 milisegundos. Ese es el tiempo que el cerebro humano necesita para identificar una imagen, según un estudio de neurocientíficos del MIT publicado en 2014. Sin embargo, el script de una herramienta de pruebas A/B del lado del cliente suele tardar varios cientos de milisegundos en modificar la página. Durante este tiempo, el visitante ve la versión original y luego la variante. Ha visto ambas. Sin embargo, la prueba asume que solo ha visto una.
Este efecto de parpadeo introduce un sesgo sistemático en tus mediciones, casi siempre en detrimento de la variante, y puede llevarte a descartar una buena idea o a validar una mala. Esta guía explica su origen, su coste real, cómo medirlo en tu propio sitio web y cómo eliminarlo.
¿Qué es el efecto de parpadeo en las pruebas A/B?
El efecto de parpadeo (o FOOC, "Flash of Original Content", destello de contenido original) consiste en la breve visualización de la página original antes de que se aplique la variante que se está probando, ya que el script de prueba modifica la página después de que el navegador haya comenzado a mostrarla. El visitante percibe un salto: un título que cambia, un botón que cambia de color, un bloque que se desplaza.
Este fenómeno es específico de las pruebas del lado del cliente. En este modelo, el servidor siempre envía la misma página HTML; es un archivo JavaScript, cargado por el navegador, el que decide a qué grupo pertenece el visitante y reescribe el DOM en consecuencia. Hasta que este script se haya descargado, interpretado y ejecutado, el control se muestra. Si no está familiarizado con este vocabulario (DOM, variante, control, asignación), nuestra glosario de pruebas A/B repite cada término.
Por qué Flicker distorsiona tus resultados
El parpadeo afecta únicamente a uno de los dos grupos: la pantalla de control se muestra sin artefactos, mientras que la variante presenta un destello. Por lo tanto, ya no se compara el diseño A con el diseño B, sino el diseño A con el diseño B con un defecto de visualización. Esto es un sesgo, no ruido: no se anula aumentando el tamaño de la muestra.
Dos mecanismos actúan en contra de la variante:
- Pérdida de confianza. Una página que "salta" sugiere un sitio web mal diseñado. En un embudo de pago o un formulario de solicitud de presupuesto, esta sola impresión es suficiente para generar sospechas.
- El efecto de comparación. El visitante ya ha visto el precio, el título o la imagen anteriores. Si la variante muestra un precio tachado o una promesa más contundente, verá ambas versiones, lo que modificará su percepción de la oferta.
A veces, por el contrario, el elemento que "aparece" llama la atención y amplifica la variante. En ambos casos, el resultado que lees en tu panel de análisis no se corresponde con el aspecto que tendría la variante una vez desplegada codificada de forma fija, sin un script. Esta es una de las fuentes subestimadas de falsos positivos (y falsos negativos) en las pruebas A/B.
Las 5 causas técnicas del parpadeo
El parpadeo aparece tan pronto como se aplica la variante después de la primera renderización de la página. Cinco factores, que pueden combinarse, prolongan este retraso.
1. La ubicación del script
Un guion colocado al final de <body> solo se ejecuta una vez que se ha analizado el resto del HTML: el navegador ya ha mostrado todo. Debe estar lo más arriba posible en el <head>, antes de las hojas de estilo y otros scripts de terceros.
2. Uso de un gestor de etiquetas
Google Tag Manager carga sus etiquetas de forma asíncrona. Por lo tanto, el script de prueba espera a que se cargue el contenedor de GTM para luego ejecutarse. El analista Simo Ahava midió la discrepancia en el mismo sitio, con el tráfico dividido en dos: la página permaneció oculta. 964 ms de media con la etiqueta pasando por GTM, en comparación con 581 ms con el fragmento insertado directamente en la página.. Casi 400 ms perdidos únicamente debido al método de integración.
3. Carga asíncrona
Un script asíncrono no bloquea la pantalla: esta es su ventaja en cuanto a velocidad, y la razón por la que produce parpadeo. Volveremos sobre esto en la siguiente sección.
4. Tamaño del script y latencia
Un archivo que contiene la configuración para todas las pruebas de cuenta, incluidas las que están en pausa, tarda más en ejecutarse. Si se sirve desde un servidor alejado del visitante, cada viaje de ida y vuelta añade decenas de milisegundos.
5. La forma en que se codifica la variante
Una modificación que espera a que un elemento exista en el DOM antes de reescribirlo (por ejemplo, "reemplazar el texto del botón una vez que se haya cargado") se aplicará necesariamente después de que se haya mostrado. Los editores WYSIWYG a veces generan este tipo de código por defecto. La documentación para Optimizely lo reconoce: sus cambios visuales esperan a que el elemento esté disponible, lo que provoca destellos cuando hay muchos cambios en la cola.
Fragmento síncrono o asíncrono: la decisión final
Un fragmento síncrono bloquea la visualización hasta que se ejecuta: no hay parpadeo, pero aparece una pantalla en blanco si el script es lento. Un fragmento asíncrono permite que la página se cargue: no hay pantalla en blanco, pero sí parpadeo. No existe una tercera opción gratuita.
| Criterios | fragmento síncrono | Fragmento asíncrono |
|---|---|---|
| Parpadeo | Ninguno si el script responde | Probable, proporcional a la latencia |
| Pantalla blanca | Sí, durante la carga del script | No |
| Si el servidor de scripts falla | La página permanece bloqueada hasta que se agota el tiempo de espera de la red. | La página se muestra en su versión original. |
| Impacto en el LCP | Directo (la renderización está pendiente) | Indirecto (si se añade enmascaramiento) |
| Fiabilidad del experimento | Alto | Depende de las medidas antiparpadeo |
Optimizely recomienda cargar el fragmento de forma síncrona. al tiempo que permite que ciertas modificaciones de variantes se ejecuten de forma asíncrona. VWO (renombrado Wingify en 2026) oculta el cuerpo de la página mientras espera a que se cargue su biblioteca; Kameleoon destaca una integración "asíncrona bloqueante".
La elección correcta depende de una sola pregunta: ¿está bajo control la latencia de tu script? Si el archivo es pequeño y se sirve desde una CDN cercana a tus visitantes, el modo síncrono añade unas decenas de milisegundos y elimina el problema. De lo contrario, cualquier ralentización de la red provoca una pantalla en blanco. Este es el punto clave. entrega ultrarrápida de las variantes : hacer que el modo de bloqueo sea lo suficientemente corto como para que resulte imperceptible.
El fragmento de código antiparpadeo: útil, pero tiene un precio.
Un fragmento de código antiparpadeo oculta la página (o parte de ella) mediante una regla CSS mientras se ejecuta el script de prueba, y luego la muestra. Elimina el Flash visible, pero traslada el coste: la página se muestra más tarde para todos.
El principio es simple. Una línea de código colocada en la parte superior del <head> aplicado opacity: 0 O visibility: hidden en <body>. Cuando la herramienta aplica la variante, elimina esa regla. Si la herramienta no responde, un tiempo de espera máximo revela la página de todos modos. Los valores predeterminados son generosos: el antiguo fragmento de Google Optimize esperó hasta 4 segundos y el SmartCode de VWO / Wingify establece sus tolerancias en 2000 ms para la configuración y 2500 ms para la biblioteca..
Estas cifras son significativas. Durante todo este tiempo, no se pinta ni un solo píxel. Una auditoría publicada por DebugBear en la página principal de AdRoll mostró un LCP (Largest Contentful Paint) de 6,0 segundos con el enmascaramiento activado, en comparación con 2,7 segundos una vez desactivado. Google considera que un LCP superior a 2,5 segundos "necesita mejorar" y superior a 4 segundos "es malo": una configuración deficiente de la función antiparpadeo puede convertir una página que funciona correctamente en un resultado negativo.
Tres reglas para usarlo sin dañarlo:
- Ocultar solo el área probada (el bloque del héroe, la forma), no el
<body>el resto de la página se muestra con normalidad y el LCP solo se ve afectado si el elemento oculto es en sí mismo el elemento LCP. - Reducir el tiempo de espera a 1000-1500 ms en lugar de 2000-4000 ms. Además, un visitante que ve una página en blanco es penalizado más que un visitante que ve un destello.
- Habilite el enmascaramiento únicamente en las páginas que contengan una prueba.. Un sistema antiparpadeo implementado en todo el sitio penaliza a miles de páginas que no realizan ninguna prueba.
Medición del parpadeo en su sitio web: el método A/A'
Para determinar si el efecto de parpadeo influye en tus pruebas, realiza una prueba A/A': dos grupos ven la misma página, pero uno recibe una modificación invisible aplicada por el script de prueba. Cualquier diferencia significativa entre los dos grupos refleja el coste del mecanismo de inyección en sí, independientemente de cualquier consideración de marketing.
Una operación A/A estándar no es suficiente: ningún grupo sufre ninguna modificación, por lo tanto, ninguno experimenta parpadeo. Este es el método que recomendamos en BlastOptimize antes de iniciar una serie de pruebas en un sitio nuevo o una nueva plantilla de página.
El protocolo de 4 pasos
- Crear variante A' Aplica una modificación sin efecto visual al elemento que se desea probar (por ejemplo, reescribiendo el texto del título con el mismo texto o añadiendo un atributo).
data-(al hacer clic en el botón). La ruta técnica es idéntica a la de una variante verdadera. - Instrumentar el retardo Registre el tiempo transcurrido entre la primera visualización (First Contentful Paint) y la aplicación del cambio. El siguiente fragmento es suficiente.
- Déjalo correr un ciclo completo (al menos 2 semanas para suavizar los efectos de los días laborables/fines de semana) con su objetivo de conversión habitual, tal como se define en su configuración del objetivo y del seguimiento.
- Lee dos números : el tiempo medio y el percentil 90 (visitantes lentos), luego la brecha de conversión entre A y A'.
<script>
// À appeler dans le code de la variante A', juste après la modification
(function () {
var fcp = performance.getEntriesByName('first-contentful-paint')[0];
var applique = performance.now();
var delai = fcp ? Math.round(applique - fcp.startTime) : null;
// delai > 0 : la variante s'applique APRÈS le premier affichage = flicker visible
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ event: 'flicker_delay', flicker_ms: delai });
})();
</script>Cómo interpretar
- Retardo negativo o cero La variante se aplica antes del primer renderizado. No es posible que se produzcan parpadeos.
- Retraso medio inferior a 100 ms : parpadeo rara vez perceptible conscientemente, pero suficiente para ser visto (recuerde los 13 ms). Monitoree el percentil 90.
- Retraso medio superior a 300 ms El parpadeo es visible para la mayoría de los visitantes. No realice ninguna prueba en esta página hasta que se haya solucionado el problema de integración.
- Diferencia de conversión significativa entre A y A' El mecanismo de inyección por sí solo tiene un efecto cuantificable. Todas las pruebas realizadas con esta plantilla sufren este sesgo.
Esta cifra muestra el tamaño mínimo del efecto que se puede interpretar en esta página. Si A/A' muestra −2% para A', una variante que gana +1,5% podría ganar en realidad +3,5%, y una variante con −1% podría ser neutral.
9 correcciones concretas, desde las más rentables hasta las más costosas.
La mayoría de los parpadeos se pueden solucionar sin cambiar de herramientas: moviendo el script, aclarándolo y codificando las variantes en CSS en lugar de JavaScript. Aquí están las palancas, clasificadas según la relación esfuerzo/beneficio.
- Coloca el fragmento en la parte superior de la
<head>, antes de CSS y otros scripts de terceros. Beneficio inmediato, cinco minutos de trabajo. - Salga del script de prueba desde Google Tag Manager. Intégralo de forma permanente en la plantilla. La diferencia de 400 ms medida por Simo Ahava proviene de esto.
- Agregar un
preconnectal dominio que sirve el script (<link rel="preconnect" href="…">) para abrir la conexión incluso antes de que el navegador encuentre la etiqueta. - Codifica las modificaciones visuales usando CSS. Una regla CSS inyectada en el
<head>se aplica tan pronto como se pinta el elemento, sin esperar a que exista en el DOM. Cambia un color, oculta un bloque o reordena dos elementos conorderel uso de flexbox no requiere JavaScript. Esta es también la recomendación que se indica en la documentación. Optimizely en las variantes que parpadean. - Limpiar el código generado por el editor visual : eliminar selectores redundantes, agrupar modificaciones en el mismo elemento, evitar reescrituras completas de bloques HTML cuando un cambio de texto sea suficiente.
- Archivar las pruebas completadas. Cada prueba pausada que permanece en la configuración aumenta el tamaño del archivo para todos los visitantes.
- Oculte únicamente la zona analizada., con un tiempo de espera corto (1000-1500 ms), en lugar de toda la página durante 4 segundos.
- Evite realizar pruebas de redireccionamiento en páginas con mucho tráfico entrante. La redirección a la URL B después de cargar la URL A da como resultado dos cargas de página: esta es la forma más costosa de parpadeo.
- Sirva el script desde una CDN cercana a sus visitantes., con una configuración limitada únicamente a las pruebas activas en la página visitada. Esta es la palanca sobre la que menos control tiene, ya que depende de la herramienta: pregunte a su proveedor o consulte nuestra página sobre distribución de scripts BlastOptimize lo más cerca posible del visitante.
Cuándo cambiar al lado del servidor
Las pruebas del lado del servidor eliminan el parpadeo por diseño: el servidor elige la variante y envía el HTML correcto directamente; ningún script reescribe la página en el navegador. La desventaja es bien conocida: cada prueba pasa por un desarrollador, el editor visual se vuelve inutilizable y el ciclo de iteración se alarga. Las pruebas del lado del servidor se justifican para pruebas de elementos estructurales (algoritmo de precios, proceso de pago, navegación), para páginas donde incluso la más mínima desviación en LCP resulta costosa, o cuando el análisis A/A revela un sesgo que las nueve correcciones mencionadas anteriormente no resuelven. Para pruebas de títulos, elementos visuales o botones, un enfoque del lado del cliente bien integrado sigue siendo más rápido de implementar. Esta elección arquitectónica merece su propia guía, que dedicamos a las pruebas del lado del servidor.
Lista de verificación antiparpadeo antes de cada lanzamiento
Antes de iniciar la producción de una prueba, verifique estos diez puntos. Un solo "no" en los cuatro primeros es suficiente para posponer el lanzamiento.
- ☐ El fragmento está codificado de forma fija en el
<head>, en primera posición entre los scripts, excluyendo los gestores de etiquetas. - ☐ El modo de carga (síncrono/asíncrono) es conocido y está documentado para esta página.
- ☐ La variante se verificó en un teléfono inteligente real con la red limitada a "4G lento" en las herramientas de desarrollo.
- ☐ Se mide el retraso entre la primera visualización y la aplicación de la variante (mediana y percentil 90).
- ☐ Las modificaciones visuales se realizan en CSS siempre que sea posible.
- ☐ Si se utiliza el enmascaramiento, este se dirige al área probada y su tiempo de espera es ≤ 1500 ms.
- ☐ Se comparó el LCP de la página con y sin pruebas (diferencia objetivo: menos de 100 ms).
- ☐ Las pruebas completadas se han archivado en la cuenta.
- ☐ No se inicia ninguna prueba de redirección en una página de entrada principal sin una razón de peso.
- ☐ Se realizó una prueba A/A en esta plantilla de página durante los últimos 6 meses.
Flickr se agrega a la lista de errores comunes en las pruebas A/B que invalidan una prueba incluso antes del análisis estadístico. Es aún más peligroso en el pruebas multivariadas, donde varias áreas se modifican simultáneamente y donde cada combinación puede producir un destello diferente, y en el sitios de comercio electrónico, donde las páginas de productos cargan muchas imágenes y scripts de terceros.
Preguntas frecuentes
¿El efecto de parpadeo influye en el SEO?
Indirectamente, sí. El parpadeo en sí no es una penalización, pero las soluciones mal implementadas sí lo son: una función antiparpadeo que oculta la página degrada el LCP (Low Page Content), y una variante que inserta bloques aumenta el CLS (Cumulative Layout Shift). Ambas métricas forman parte de las Core Web Vitals que considera Google. Para comprobarlo, compare los datos de campo de Search Console en páginas probadas y no probadas.
Mi herramienta afirma ser "100% libre de parpadeos": ¿puedo creerlo?
Pregunta cómo. "Sin parpadeo" a menudo significa "con enmascaramiento": el destello desaparece, pero la página se carga más tarde. Comprueba tres cosas: el método de carga del fragmento, el valor del tiempo de espera del enmascaramiento y la diferencia de LCP medida con y sin el script. Una prueba A/A resuelve el asunto en tu propio sitio. Encontrarás las diferencias de enfoque en nuestra comparativo BlastOptimize / Kameleoon y en nuestro comparación con AB Tasty.
¿Un fragmento síncrono realmente ralentiza mi sitio web?
Retrasa la visualización inicial del script y el tiempo de descarga y ejecución. Con un archivo pequeño servido desde una CDN, la diferencia es de unas pocas decenas de milisegundos. Con un archivo grande o un servidor lento, la diferencia es de cientos de milisegundos, y una interrupción del servicio puede bloquear la página hasta que se agote el tiempo de espera de la red. Mide el LCP con y sin el fragmento antes de decidir.
¿Puedo subir mi herramienta de pruebas A/B a través de Google Tag Manager?
Técnicamente sí, pero esta configuración produce el mayor parpadeo porque GTM carga sus etiquetas de forma asíncrona. Las mediciones publicadas muestran aproximadamente 400 ms de enmascaramiento adicional en comparación con una integración directa. Utilice GTM para activar eventos de seguimiento, no para el script que modifica la página.
¿Los banners de consentimiento empeoran el parpadeo?
Sí, pueden hacerlo. Si la herramienta de prueba solo se carga después de que se aceptan las cookies, o si la plataforma de gestión de consentimiento bloquea los scripts mientras lee la elección del visitante, la aplicación de la variante se retrasará en consecuencia. Compruebe el orden de ejecución entre el banner y el fragmento de prueba en una sesión limpia, sin cookies.
Conclusiones clave
- El efecto de parpadeo consiste en la visualización breve de la página original antes de la variante. Es específico de las pruebas del lado del cliente.
- No se trata de un simple defecto visual: distorsiona sistemáticamente la comparación, porque solo uno de los dos grupos lo padece.
- Las principales causas son un script mal ubicado, el paso por GTM, la carga asíncrona, un archivo demasiado grande y variantes codificadas en JavaScript en lugar de CSS.
- La función antiparpadeo enmascara el síntoma, pero retrasa la visualización: seleccione el área a probar y mantenga un tiempo de espera ≤ 1500 ms.
- Mida antes de corregir: la prueba A/A' proporciona el costo real del mecanismo de inyección en su sitio.
- El diseño del servidor elimina el parpadeo, aunque a costa de depender de los desarrolladores.
Quieres ver cómo BlastOptimize ¿Ofrece sus variantes? Consulte nuestra ofertas y precios para lanzar una prueba A/A inicial en su sitio.















Los comentarios están cerrados.