Analítica web
Reflexiones desde el mercado español de Analítica Web

Las mejores herramientas de optimización: Client-side vs Server-side

Se lee en 4 minutos

La optimización de un activo digital se basa en la ejecución de experimentos mediante herramientas que permiten la modificación de la página, mostrando diferentes versiones de la misma para posteriormente comparar la conversión resultante de cada una de ellas.

Más allá de las funcionalidades concretas que ofrece cada una de estas herramientas, debemos tener en cuenta también las grandes diferencias en cuanto a la tecnología en la que se basan.

Herramientas Client-Side

Este tipo de aplicaciones (la mayoría en el mercado actual) crean variaciones de nuestra página en nuestro navegador. Es decir, que el servidor de nuestra web devolverá siempre la versión “original” y, una vez entregada en el navegador, se realizarán las modificaciones de cada versión alternativa (mediante código JavaScript).

Algunas herramientas client-sideOptimizely XGoogle OptimizeAdobe TargetA/B TastyMaxymiser

Herramientas Server-Side

Las herramientas server-side se ejecutan directamente en el servidor web, devolviendo a nuestro navegador una versión ya modificada de la página.

El recorrido de este tipo de herramientas en el mercado es mucho menor, de hecho, no todos los fabricantes ofrecen aún herramientas de este tipo.

Algunos como Optimizely, una de las herramientas client-side más usadas, han dado el paso hacia una alternativa server-side de manera reciente con su Optimizely X Full Stack (lanzada a finales de 2016).

Algunas herramientas server-sideOptimizely X Full StackSiteSpectConductrics

server-client-side-testing
Fuente: Optimizely blog

Con estos datos sobre la mesa, parece claro que las herramientas server-side son la solución más consistente si queremos comenzar o mejorar nuestra estrategia de Optimización pero, ¿son todo ventajas?

Implantación

La implantación de herramientas client-side suele requerir la inclusión de un sencillo Script en nuestro site. Esto puede suponer la intervención de un equipo de IT, aunque si contamos con un Tag Manager, seremos independientes para incluirlo nosotros mismos.

Lógicamente, las herramientas server-side requieren, también, la implementación de las librerías, en este caso en el servidor, por lo que la intervención de un equipo de IT es imprescindible. Dependiendo de la complejidad de la tecnología usada en nuestro servidor y en nuestra web, esta implantación puede ser más o menos compleja.

Desarrollo

Las herramientas client-side permiten configurar un experimento a cualquier usuario, ya sea un desarrollador o un usuario sin conocimientos técnicos (de hecho, en realidad, están orientadas a este último tipo de perfiles).

Al ejecutarse tras la carga inicial, permiten mostrar la página en un editor visual, desde el que podremos realizar modificaciones sin escribir ni una sola línea de código.

Editor visual (Optimizely)
Editor visual (Optimizely)

Sin embargo, si ejecutamos experimentos del lado servidor, no podremos apoyarnos en este tipo de editores y, cada experimento que realicemos, necesitará el desarrollo de código “ad-hoc” para cada una de las versiones alternativas.

También será necesaria la puesta en producción de este código, con lo todo lo que ello conlleva (implicación de equipos de IT, despliegues, procesos de validación…).

Flickering

Un efecto inevitable de las herramientas client-side es el efecto “flickering”. Este efecto provoca que la versión original de una página web se muestre antes que la versión alternativa durante un breve periodo de tiempo (seguro que, sin saberlo, te has encontrado con ese efecto en alguno de los sitios que visitas).

En la mayoría de los casos no notarás nada, pero si el sitio web tarda mucho en cargar, utiliza muchos recursos de servidores externos o hay deficiencias en la instalación de las herramientas de optimización, las modificaciones tardarán más tiempo en mostrarse, generando una experiencia de usuario un tanto “extraña”.

Existen varios métodos para minimizar este efecto, pero al tratarse de aplicaciones que modifican el contenido de la página una vez entregada, no nos será posible eliminarlo por completo. Esto solo será posible mediante herramientas server-side.

Rendimiento

Al entregar la página con todas las modificaciones incluidas, las aplicaciones server-side tienen un rendimiento mucho mayor que las herramientas client-side, al menos esto percibirán nuestros usuarios, ya que se elimina el efecto “flickering” y se reduce el número de operaciones que debe realizar el navegador.

Limitaciones

Desde el lado de cliente, y puesto que el servidor ya ha ejecutado toda la lógica, “solo” seremos capaces de modificar aspectos visuales del mismo (limitados a ejecución de código JavaScript).

Incluir el código en el propio servidor nos permitiría modificar, casi por completo, tanto la apariencia como las funcionalidades de nuestro site (en muchos casos podremos realizar las modificaciones en el mismo lenguaje de programación utilizado en nuestra web).

Metodología de trabajo

Todas estas diferencias suponen, también, un gran cambio en la metodología de trabajo dentro de una estrategia de optimización.

El cambio de mayor impacto es el relacionado con la implantación. Cuando usamos aplicaciones client-side, podremos poner en marcha nuestro experimento, analizar los resultados, sacar conclusiones y, solo en caso de que una de nuestras versiones alternativas mejore la conversión, implementarla de manera definitiva.

Fuente: Optimizely blog
Fuente: Optimizely blog

En el caso de aplicaciones server-side, deberemos asumir el esfuerzo de implementar todas nuestras variaciones antes de poner en marcha el experimento. Ante la victoria de una de las versiones alternativas, la mantendremos en nuestro site y descartaremos las variaciones perdedoras.

Conclusión

Ambas tecnologías tienen ventajas e inconvenientes, y quizás la decisión final deba basarse en los aspectos que más impacto puedan tener en tu organización.

Si en un futuro las aplicaciones server-side consiguen superar la complejidad en la implantación y en su uso, probablemente desbancarán, definitivamente, a las aplicaciones client-side.

Por el momento, el uso de herramientas client-side está mucho más extendido, pero eso no quiere decir que ambas herramientas no puedan coexistir. Puede que no sea siempre posible, pero la estrategia más completa que puedas poner en marcha incluirá herramientas de ambos tipos.

Cada experimento que plantees tendrá unas necesidades y, tener la opción de llevarlo a cabo con cualquiera de estas herramientas, te permitirá cubrir todas tus necesidades.

Ahora que conoces las principales diferencias entre ellas, ¿cuál elegirías?

Escribe tu comentario

dos + 10 =

Navegar