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

Data Integration frente a la heterogeneidad de proveedores

Se lee en 4 minutos

La creciente consolidación de la integración de datos y el manejo de potentes herramientas de generación de informes, permiten a las empresas disponer de un historial de los intereses y comportamientos de los clientes que emplean sus plataformas digitales prácticamente en tiempo real. 

Generalmente, quienes consumen estos informes cumplirían su función más cómodamente si dispusieran de todos los datos de interés unificados en un proveedor de analítica que centralizara todas las fuentes de datos de terceros con las que operan. Pero la realidad es que, en muchas ocasiones, la cantidad de herramientas y servicios distintos de empleados hacen que la información se encuentre dividida entre los distintos proveedores que hemos elegido.

Esto conlleva un aumento de las tecnologías con las que se trabaja, lo cual significa más cuentas, credenciales y frameworks distintos que manejar que nos hacen la vida más complicada. Y es que, pese a que hoy en día el mundo de la analítica web te ofrece un gran abanico de alternativas a la hora de explotar los datos de tus activos digitales, puede que en ocasiones la información que deseamos no nos la ofrezca nuestro proveedor. En ese caso ¿qué podemos hacer?

Si este es tu caso y estas leyendo esto, no desesperes. En este post explicaremos un ejemplo de integración de datos de las APIs de Google. Más concretamente, de los informes de keywords de Google Search Console, en Adobe Analytics mediante Google App Engine. Consideramos que el uso de estas tecnologías, junto con esa API, es una situación muy concreta, por lo que no entraremos en detalle.

Existen otros posts en este blog que explican extensamente cómo trabajar con las APIs más comunes, como Adobe Analytics API: exporta los datos de tus clasificaciones o Google Prediction API: Machine Learning a tu alcance. En lugar de eso, esta vez nos centraremos en cómo lanzar una tarea planificada a través de este servicio que nos ofrece Google para ejecutar aplicaciones sobre su infraestructura. Vamos a ello.

En esta imagen podemos ver un pequeño esquema resumen de la arquitectura que podría seguir una solución de integración de datos de terceros. En este caso, los servidores FTP de Adobe reciben semanalmente los informes de keywords de Google:

data-integration-gsc

Envío planificado de Data Source mediante Google App Engine

Google App Engine es el PaaS (Platform as a Service) de Google, que nos permite ejecutar nuestras inserciones de datos de manera transparente y sin preocuparnos por la infraestructura. Sobre él podremos automatizar el envío mediante FTP de nuestros ficheros con datos acerca de las keyword acompañadas de sus registros de clics e impresiones.

El método que sigue Adobe para la integración de datos de terceros se basa en el procesamiento de ficheros ‘.txt’ llamados data source, que permiten sumar hits en las variables de tráfico y conversión habilitadas. Posteriormente a la recepción del fichero en el servidor, deberemos crear otro con el mismo nombre y extensión ‘.fin’ y enviarlo de nuevo vía FTP.

Este fichero debe estar vacío, lo que indicará a los servidores de Adobe que se ha terminado de leer de la fuente de datos y debe comenzarse el procesado. Esto puede llevar unos minutos antes de poder ver los resultados en los informes. En la siguiente imagen podemos ver como acceder desde la consola de administración de Adobe Analytics:

data-source

Una vez creados los data source en la consola de administración, tendremos las credenciales para la conexión FTP y el template para rellenar con los datos obtenidos de las APIs que queremos integrar en nuestra infraestructura. Google App Engine permite su uso con múltiples lenguajes de programación: Go, PHP, Java, Python, Node.js, .NET, Ruby y más.

Una vez diseñado un programa que prepare los data source con los datos obtenidos de los proveedores de interés, el siguiente paso será alojarla en la infraestructura de Google App Engine para programar su ejecución diaria, semanal o mensual. La periodicidad de la ejecución es absolutamente personalizable.

El menú de administración de App Engine nos descubre múltiples funcionalidades: podemos comprobar los servicios que tenemos corriendo y ejecutar diagnóstico sobre ellos, provee de control de versiones, control sobre las instancias que tenemos corriendo y sobre la IP de qué máquinas virtuales lo están haciendo, análisis de seguridad, reglas de cortafuegos y muchas más opciones. En nuestro caso, con el objetivo de crear una tarea planificada, seleccionamos la opción de ‘Cola de tareas’:appengineNavegaremos hasta la pestaña ‘Tareas cron’ y comprobaremos que aún no tenemos ninguna programada. Es entonces donde entra en juego la consola de Gcloud. A través de esta consola podremos crear la tarea planificada con tan solo un sencillo .yaml, un  archivo de menos de 5 lineas. La sintaxis está correctamente documentada en la ayuda de Google.

Una vez creada, compilaremos nuestro código que interactúa con las APIS junto con el fichero de configuración de la tarea cron, y así se sincronizará la ejecución. En la imagen se muestra un ejemplo de despliegue de Gcloud. Para acceder a la consola que se ve en la imagen basta con hacer clic sobre el botón del menú superior marcado en rojo. Se quedará deshabilitado una vez se cargue la terminal en la web:

gcloud-shell1

Tras ejecutarlo y comprobar que no hay ningún problema en el despliegue, deberíamos poder observar en la cola de tareas nuestra función de inserción de datos lista para ejecutarse automáticamente sin prácticamente necesidades de mantenimiento:

cron

Como habéis visto, la combinación de distintos proveedores no siempre ha de ser un impedimento y podemos ingeniar maneras de tener todos nuestros datos de interés agrupados para poder consumirlos con la misma herramienta y mantener un sistema más homogéneo frente a la heterogeneidad del mercado.

1 Comentario

Escribe tu comentario

8 − 2 =

Navegar