AWS: sirviendo un píxel de conversión con el CDN de CloudFront

Cloudfront logoUna de las tareas más interesantes para saber si las cosas sirven para algo en tu negocio de Internet, consiste en seguir a las visitas. Es decir, consiste en el seguimiento de la conversión, mediante lo que se llaman píxeles de conversión. Es decir, si queremos saber si un canal de entrada a tu web convierte o no, si los anuncios que ponemos en otras webs, si los enlaces de redes sociales, emails, etc.. sirven de algo. Para esto debemos de llevar un seguimiento de dicha entrada a tu web.

Un píxel de conversión es un código invisible para el visitante, que nos da la posibilidad de saber de dónde vienen las visitas a tu web.

Muchas veces nos puede bastar con herramientas como Google Analytics, Piwik, o similar. Pero a veces necesitamos dar un paso más, creando nuestros propios píxeles de conversión. Así no estaremos de nuevo limitados a lo que te permiten las herramientas.

Escenario

Piensa que puedes recibir muchas visitas a los píxeles, miles o millones de visitas por minuto si estas en plena campaña publicitaria por Internet. Tanto que si los píxeles están en tu servidor, puedes llegar a provocarte un ataque de denegación de servicio (DDoS) de tantas visitas en muy poco tiempo. Así que si te configuras un CDN de CloudFront para los píxeles, liberarás totalmente tus servidores. Sería una lástima invertir mucho en publicidad y que luego no puedas marcar correctamente a todos los visitantes.

Siguiendo con lo anterior, imaginemos que queremos dos píxeles para dos situaciones:

  • En la visualización de un anuncio.
  • Al hacer click en dicho anuncio.

Comportamiento

  • En la visualización: cuando tenemos un píxel de visualización, simplemente tenemos que visualizar el píxel en un iframe desde la web o cargarlo mediante Javascript en un div/span.. así marcaremos al visitante con una cookie.
  • Al hacer click: cuando tenemos un píxel de click, tenemos que recibir el click, poner una cookie al visitante, y redirigir al usuario a la página de destino.

Ambos píxeles se basan en el uso de cookies. Por ejemplo, imaginemos que le ponemos estas dos cookies:

  • En la visualización, una cookie con nombre cookie.unblog.visualizacion de valor y fecha de caducidad como consideremos.
  • Al hacer click, otra cookie con nombre cookie.unblog.click de valor y fecha de caducidad como consideremos también.

En el momento en que lleguen a www.tutienda.com es trivial consultar si el visitante tienen alguna de las dos cookies anteriores. Así podremos desencadenar eventos como por ejemplo:

  • La compra X es de un visitante que tenía la cookie cookie.unblog.visualizacion con valor Y.
  • Mostrar mensajes relacionados con el anuncio al visitante en nuestro portal, quizá después de 30 días de haber visto el anuncio en otra web.
  • Etcétera.

Montando el sistema de píxeles en AWS CloudFront

La estrategia para montar todo esto es la siguiente:

  1. Recibir las visitas pasando por el CloudFront.
  2. Establecer un origen de datos de CloudFront en un sistema de ficheros de S3.
  3. Estableces unas rutas que redirijan ciertos directorios al origen de datos con los ficheros de S3. Por ejemplo, podemos recibir en S3 todo lo recibido bajo la ruta www.tutienda.com/pixeles/*
  4. Construir los píxeles en Javascript en S3. Por ejemplo, para este ejemplo podríamos crear en S3 los dos píxeles siguientes:

www.tutienda.com/pixeles/unblog.visualizacion
www.tutienda.com/pixeles/unblog.click

Para el paso 1 simplemente tenemos que poner delante de todas las visitas una distribución de CloudFront. Esto es contenido para otro post, así que doy por sentado que ya tienes una distribución de CloudFront funcionando. Añadimos el origen de datos que va a tener los píxeles indicados en el paso 2..

En el paso 3 creamos el comportamiento para recibir las visitas del directorio indicado en el S3 que almacena los píxeles..

Nos tiene que quedar algo parecido a esto..

Con este comportamiento podemos configurarle el nivel de cacheado en CDN que queramos. Con esto descargamos totalmente los servidores de las visitas a los píxeles. Esta es la parte crítica para mejorar nuestro sistema, ya que podemos hablar de una cantidad de visitas muy grande.

Ya sólo nos queda crear los píxeles en S3 siguiendo las rutas que vamos a recibir. En este caso tendríamos que crear los píxeles en los ficheros:

/pixeles/unblog.visualizacion
/pixeles/unblog.click

Para cómo crear el contenido de los píxeles de conversión me remito a este otro post sobre cómo hacer un píxel de conversión.

Espero que sirva. ¡Un saludo!

Compartir..

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

4 + quince =