La analítica se ejecuta en todas tus páginas, así que su peso es una pregunta justa y una que no deberías tener que creerte sin más. Esta página da el número y el método, para que puedas repetirlo.

El número

11,7 KB comprimido con gzip, a partir de 33,8 KB de JavaScript, medido contra el paquete que se sirve a un sitio en producción.

Para repetirlo: descarga el script con Accept-Encoding: identity y comprímelo localmente con gzip a nivel 9. Ese es el número de abajo, y es lo que un navegador descarga una vez y luego guarda en caché.

curl -s -H "Accept-Encoding: identity" \
  "https://t.skomi.com/s/YOUR-SITE-ID.js" | gzip -9 | wc -c

Tu paquete puede ser distinto del nuestro, y ese es el diseño. El script se compone por sitio: lleva los ajustes que ese sitio usa de verdad, y los fragmentos de captura que necesitan sus productos. Un sitio con menos cosas activadas recibe un archivo más pequeño. Ejecuta el comando de arriba contra tu propio identificador de sitio para tener tu número en vez de fiarte de este.

Qué lleva dentro

Un archivo, haciendo el trabajo entero:

  • La página vista en sí: ruta, referente, parámetros de campaña, tamaño de pantalla.
  • La identidad, derivada sin almacenamiento. No se escribe nada en el dispositivo del visitante, así que no hay código de cookies, ni fontanería de consentimiento, ni banner que cargar antes de que pueda empezar la medición. Esa es buena parte de por qué el archivo es un solo archivo.
  • Sesión e interacción: cuánto sostuvo una página la atención, hasta dónde se leyó.
  • Captura automática: clics salientes, descargas, envíos de formulario y 404, de las que hayas activado.
  • El transporte: agrupación, reintentos, y la vía de ocultación de página.

No lleva ningún framework, ni un paquete de polyfills, ni una segunda petición para un «complemento». Lo que llega es lo que se ejecuta.

Cómo carga

El fragmento es una línea y lleva defer:

<script src="https://t.skomi.com/s/YOUR-SITE-ID.js" defer></script>

defer significa que el navegador sigue analizando tu página y ejecuta el script después de que el documento esté listo. Nunca está en la ruta crítica, no bloquea el primer pintado, y moverlo al <head> no cambia eso: el trabajo lo hace el atributo, no la posición.

No se inyecta nada en tu maquetación. El script no añade elementos, ni estilos, ni fuentes, así que no puede desplazar nada de la página. Sea cual sea tu Cumulative Layout Shift, esto no está dentro.

Cada cuánto se descarga

Cache-Control: public, max-age=300, stale-while-revalidate=86400
ETag: W/"…"

Cinco minutos de caché fresca, y luego un día en el que se sirve una copia caducada de inmediato mientras se descarga una nueva en segundo plano. Así que un visitante que vuelve casi nunca lo espera, y una página vista repetida dentro de la ventana no cuesta nada.

Los cinco minutos son deliberadamente cortos, y es el único número de aquí que parece equivocado a primera vista. El paquete se compone a partir de tus ajustes: activa el seguimiento de enlaces salientes, cambia una exclusión, activa un producto, y el archivo cambia. Una caché larga significaría que tu cambio llega a los visitantes reales horas después. stale-while-revalidate es lo que recupera la velocidad: el visitante recibe la copia vieja al instante y la nueva aterriza en segundo plano.

El archivo lleva un hash de su contenido, así que cuando no ha cambiado nada la respuesta valida contra el ETag y no se mueve ningún byte.

Qué cuesta mientras funciona

  • Una petición para el script, cacheada como se ha dicho.
  • Una petición pequeña por página vista.
  • Un sendBeacon cuando la página se oculta, que es como se cierra el tiempo en la página. Los beacons los pone en cola el navegador y no retrasan la navegación; este es el único sitio donde el rastreador usa uno.

Las duraciones se calculan en el servidor a partir de esas marcas de tiempo y no con un cronómetro corriendo en la página, así que no hay ningún temporizador disparándose mientras alguien lee.

Ser honestos sobre la tendencia

El script pesaba unos 10 KB en bruto hace unos meses y ahora son 33,8 KB. Creció porque se le añadieron la interacción, la captura automática y el soporte de aplicaciones. Es una contrapartida real y vale la pena decirlo claramente en vez de citar solo la cifra de hoy: una herramienta que hace más llega como más bytes.

Si quieres el archivo más pequeño posible, desactiva las capturas automáticas que no uses: el paquete se compone a partir de tus ajustes, así que lo que apagas no se manda.

No publicamos el tamaño del script de nadie más. Una comparación necesita las dos cifras vueltas a medir el mismo día con el mismo método, y la mitad que pertenece a otro no se puede comprobar automáticamente, lo que la convierte justo en el número que se queda obsoleto pareciendo autorizado. El nuestro se comprueba contra el archivo construido en cada ejecución de las pruebas. Mide el suyo tú mismo, con el comando de arriba, el día que necesites la respuesta.