Client-Side vs Server Side

Resumen:

El artículo explica las principales diferencias entre el lado del cliente y el lado del servidor en la web. El lado del cliente se refiere a elementos de un sitio web como diseño de interfaz de usuario, imágenes, animaciones y presentación de datos que se ejecutan y se muestran en el navegador del usuario. Por otro lado, el lado del servidor comprende aquellos aspectos invisibles al usuario final, como la lógica de negocios y procesamiento de base de datos. El artículo también cubre cómo estas tecnologías se utilizan juntas para construir sitios web modernos.

Últimamente de lo único que se habla en mi área de trabajo o sector es sobre si la conexión con los tags de facebook y google debe ser a través de “client-side” o a través de “server-side”, es decir, básicamente lo que quiere decir es si tenemos que hacer la implementación vía píxel o vía api.

Ahora bien, ¿qué es Client-Side vs Server Side en el ámbito de al analítica?

Normalmente “Client-Side” se suele asociar a “Front-end web development”, es decir, la información se intercambia directamente a través de la aplicación web o el navegador.

Por ejemplo, vamos a imagianr que un usuario entra en nuestra página web. Lo que ocurre en este mismo momento es que estamos trasnfiriendo el “código fuente de la web” o la web al usuario y está se guarda en su navegador de forma temporal para que pueda visualizarla. Esta web contiene pixels en código javascript que se ejecutan y recopilacilación información, por ejemplo universal analytics, facebook o cualquier plataforma que trabaje bajo el concepto “client-side”

“Client-Side” no necesita almacenar la información y está no queda almacenada en ninguna base de datos propia. Es decir, pintamos la información en la web, la recogemos de la misma web y listo.

Sin embargo, para “Server-Side” la cosa cambia, está más asociado a “Back-end web development”, es decir, la información se procesa en algun servidor propio para posteriormente trasladarla donde sea necesario.

Mismo ejemplo que antes, usuario entra en el sitio web, el código fuente se decarga en el navegador de cliente, sin embargo, la información que recopilamos del cliente no se genera directamente en la página web, sino que se descarga en un servidor propio de la empresa, por ese motivo se llama “Server-Side”, porque la información no se genera en el propio navegador del cliente sino que viaja de nuevo al servidor para su correcta recopilación.

En definitiva las integraciones “Server-Side” suelen ser programas que están en el back de nuestra aplicación o web, no llegan al cliente de forma directa por código fuente y permiten recopilar el tráfico de la web, por ese motivo se llaman “lado del servidor” en español. Su principal funcíón es monitorizar el tráfico de la página web en el propio servidor.

Ventajas y desventuradas en función de “Client-Side” o “Server-Side”

Ventajas “Client-Side”

  • Es más rápido que “Server-Side” ya que no requiere de conexión con el servidor.
  • Mayor interactividad y facilidad para implementar seguimiento de conversión con poco conocimiento.
  • Podemos crear “cookies” que se almacenan directamente en el navegador del cliente y hacer algún tipo de trazado de este usuario dentro de la web.
  • Permite detectar bots.

Desventajas “Client-Side”

  • No es posible conectarnos a bases de datos.
  • No permite acceder a otros archivos que residan en la página web.
  • La sobrecargar de javascript en la web reduce la velocidad y aumenta el tiempo de carga.
  • En algunos países está prohibida la recogida de datos a través de “client-side” ya que puede vulnerar la privacidad del usuario.
  • Existen aplicaciones o extensiones que bloquean los tags y pixels por lo que perdemos la medición de estos clientes que utilizen las extensiones de bloqueo.

Ventajas “Server-Side”

  • Reprsenta seguridad ya, ya que el código no puede ser alterado.
  • Como la recogida de datos se produce en servidor, la página web no se sobrecarga de código innecesario por lo que tendremos una página web con cargas más rápidas.
  • Como la recogida de datos se produce en servidor, esto nos permite en algunos países o navegadores que no nos bloqueen la recogida de datos por alguna política tal como la RGPD en España.
  • Como la recogida se produce en el servidor, los bloqueadores de cookies, tags, etc no sirven de nada y nos permite almacenar su información.
  • No se requieren integraciones de terceros, por lo que todos los datos son propiedad del dueño de la web, app, etc.

Desventajas “Server-Side”

  • Es más lento de “client-side” ya que tiene enviar y recibir la información.
  • Implementación tediosa a diferencia de “client-side” que prácticamente ya está todo desarollado.
  • Una implementación a través de “server-side” implica recibir todo el tráfico del site, independientemente de si son usuarios reales o bots, por lo que puede desvirtuar la monitorización de datos si no está correctamente optimizado.
  • Los datos no quedan guardados en ningún navegador del usuario por lo que por que se requiere disponer de una base de datos donde los almacenemos correctamente.

Conclusiones

“Server-side” surgió como una alternativa de buenas prácticas para combatir las malas prácticas que se utilizan en “Client-Side”, es decir, la recogida masiva de datos y mal intencionada para impactar con publicidad ha llevado a este ecosistema. A día de hoy debe ser una combinación de ambas, ya que ni el sector ni la tecnología está lo suficiente evolucionada como para que todos los datos deban viajar a través de “Server-Side” que en principio es la forma más segura, por lo que vamos a tener que convivir con las 2 integraciones a lo largo de estos años.

Google y Facebook saben que la integración “Server-Side” tiene que estar disponible por esta razón tanto en Google Analytics 4 como la integración de Facebook ya permiten una conexión vía API para trasladar la información a través de “Server-Side”.