Do not speak Spanish? Read this post in English.

Viernes, 21 d octubre d 2016.

Dashboards profesionales de Google Analytics con Google DataStudio

Aquí estamos de nuevo, intentando sacar partido a las últimas herramientas de la Suite de Google Analytics. El otro día hicimos una pequeña introducción a Google Data Studio y vimos como trabajar con la herramienta y las posibilidades que nos ofrece sin entrar demasiado en casos prácitocs.

Hoy haremos todo lo contrario, daremos por conocida la herramienta (por lo que si no leíste el post que decía en el párrafo anterior sólo tienes que hacer click en el link superior) e iremos a realizar uno de los trabajos que seguramente van a ser más comunes para la mayoría de usuarios: Crear un dashboard basado en datos de Google Analytics.

  • Veremos cómo es la conexión con Google Analytics. Su complejidad, posibilidades y limitaciones
  • Cómo crear fácilmente nuestros primeros dashboards básicos
  • Qué posibilidades si tenemos de filtrado y dinamismo en nuestros dashboards
  • Los problemas a los que nos vamos a enfrentar para sacar los datos que queremos
  • Y cómo solucionar el mayor de estos problemas: Los segmentos

Todo en un solo post e intentando no resultar ni demasiado técnico ni demasiado pesado. Espero que os guste.

ds-ga-dashboard-sencillo

El primer paso: Conectando Google Analytics a Google Data Studio

Como sabemos, Google Data Studio necesita de conexiones con fuentes de datos para poder trabajar. Con estas conexiones se crean los dataSources que usan los dashboards y lo cierto es que la oferta de conexiones y opciones de modelado es limitada pero veremos que aun así ya tienen su miga.

Crear una conexión inicial con Google Analytics por suerte no podría ser más sencillo. Tan solo tenemos que acudir a "FUENTES DE DATOS", clickar en el icono de (+) (que recordad que al ser una estética basada en "material design" está abajo a la derecha) y seleccionar entre las posibles fuentes a "Google Analytics".

ds-ga-conexión-ga

Se nos solicitará una vista concreta (lo que significa que cada vista de GA tiene que tener su propia conexión) y realizará una importación genérica (para todos los Google Analytics es la misma) de los datos.

datastudio-16

Se nos presentará una pantalla como la que sigue, donde se nos detallan las más de 500 métricas+dimensiones que vamos a tener disponibles con esta conexión. Antes eran menos, pero poco a poco van mejorando la integración. Aquí puede que nos quedemos intranquilos aceptando la configuración que Google ha querido hacer pero os tengo que decir que la conexión es bastante transparente (no inventa mucho que sea nativo de GA) y como base es correcta, por lo que no hace falta tocar nada salvo que quieras tu tocarlo por el motivo que sea.

En esta importación nos encontramos en realidad más sorpresas agradables que carencias: En la parte positiva a parte de lo que podríamos esperar algunos datos como el ID de propiedad, agrupaciones de canales y contenido, métricas de ecommerce mejorado, van a estar ahí disponibles pero en la negativa descubriremos que no hay rastro ni de realtime (era bastante lógico que no existiese) ni de los embudos multicanal (esto no tan lógico y que esperemos que nos llegue algún día).

Genial, pues esta es la información de la que disponemos y que con los detalles que os decía resulta muy similar a los datos de los que disponemos vía API de Analytics. Con esto ya podemos lanzarnos a trabajar y a crear dashboards. Es bastante sencillo y se nota que Google ha trabajado mucho en que la sensación que nos quede es la de que en 2 minutos estamos dibujando dashboards.

Sin embargo, yo os recomendaría que hicieseis un pequeño parón antes de poneros como locos a dibujar y vieseis algunas de las posibilidades de configuración de esta conexión:

Definiendo que credenciales usar

Por defecto Data Studio va a dejar configurado nuestro acceso para acceder con la cuenta de quien crea la conexión. Es decir, cuando alguien acceda a ese dashboard en realidad pedirá los datos a través de nuestra conexión a Google Analytics. Esto no es bueno ni malo, solo hay que saber que implicaciones tiene:

  • Por un lado tiene la ventaja de que podemos dar acceso a dashboards sin tener por qué darlos a Analytics.
  • Como las conexiones son vista a vista y no de la cuenta entera no tenemos que preocuparnos porque esos dashboards den acceso a otros clietnes
  • También hay cierto riesgo con usuarios con capacidad de edición. Esto podrán pedir datos a través de la conexión a partes de GA que inicialmente igual no queríamos que accediesen. (por ejemplo, podemos crear un dashboard para un proveedor donde solo salgan sus conversiones pero no las del resto de proveedores ni la facturación real que supone y que este edite el dashboard y pueda verlo todo).
  • Y por último como con el propio GA. supone cierto problema de descontrol. Gemte que cambia de empresa o de proyecto y no se gestionan bien sus accesos.

Con este escenario yo soy más amigo de cambiar la configuración de las credenciales de la conexión y pasarlas a "Credenciales del lector". Es decir, que Data Studio use la conexión de Analytics de quien se conecta al dashboard. Para eso clicamos arriba a la derecha en "USAR LAS CREDENCIALES DEL PROPIETARIO" y cambiamos las opciones en el siguiente panel:

ds-ga-credenciales

Esto te da más libretad para compartir dashboards sin cuidado pues si el usuario no tiene acceso a analytics, los gráficos a los que no tenga acceso se verán así:

ds-ga-credenciales-sin-acceso

Como contra, implica que tienes que ir dando accesos a GA a todo el que quiera ver el dashboard. Así que no hay configuración buena, solo es una elección.

Lo que es una verdadera pena es que se haya pensado en un tema como este y sin embargo no exista una opción del tipo "Seleccionar tu Vista al importar el dashboard" o algo así. Más que nada porque ahora mismo los dashboards tienen gráficos en los que cada uno por separado se asocia a un dataSource y este a su vez si es de GA se asocia a una vista concreta. Esto provoca que compartir dashboards genéricos (para que la gente importe) no es cómodo. Siempre podemos usar la cuenta de GA de la tienda de Google como ejemplo, pero esperemos que algún dia dispongamos de dashboards como un recurso más de la Solutions Gallery como lo son ahora los informes personalizados y paneles de GA.

Traduciendo tus dimensiones y métricas

Cuando Data Studio crea la conexión con Analytics usa los nombres que aparecen disponibles en la API de Metadatos de Analytics por lo que los datos ya aparecen traducidos al idioma en el que tengas configurado Data Studio (o en inglés si tu idioma no está disponible).

Tambien nos encontramos con que los nombres de GA no siempre representan lo que esa acción es para nuestro negocio. Algunos ejemplos:

  • Si usamos transacciones para guardar leads, que en el dashboard aparezca "transactiones" es confuso
  • Si usamos eventAction para identificar zonas de click del usuario (botones, menús, modales, etc.) llamar a ese desglose "Acción del evento" no es lo más adecuado
  • Si hemos organizado nuestro sistema de campañas de forma más acorde a nuestra empresa a analytics es probable que source o content no signifiquen exactametne "fuente" o "detalles del contenido". Por ejemplo es normal guardar en "utm_content" las dimensiones del banner. ¿No seria entonces más útil llamar a ese dato "dimensiones del banner"?

Para este tipo de tareas, y dado que luego en el entorno de diseño de dashboards no vamos a poder editar nada lo suyo es que editemos los datos de conexión. Para ello tenemos dos vías:

  • Buscamos el elemento original y le damos el nombre que deseemos
  • O duplicamos un elemento y al nuevo le damos el nombre que queremos (ideal si por ejemplo vamos a llamar a la misma métrica de forma distinta en distintos dashboards)

ds-ga-editar-nombres-dimensiones-y-metricas

Nuestro primer dashboard

Ahora sí, ya tenemos una conexión digna y podemos empezar a dibujarle piezas. ¡Así que a generar informe!

Es inevitable que las primeras veces vayamos dibujando a lo loco. Un "quesito" por aquí, un dato suelto por allá y unas "barritas molonas" al otro lado. Como es inevitable no os voy a pedir que no paseis por ahí, pero tomaroslo como un ejercicio de práctica, no como que estáis haciedno un dashboard de verdad.

Sólo a modo de recordatorio: Crear un dashboard implica siempre empezar fuera de la herramienta y pasar por un proceso de...

  • 1. Preguntas: Necesidades que tiene que resolver el dashboard,
  • 2. Métricas y KPIs: Datos que vamos a usar para resolverlas
  • 3. Visualización Pernsar cpara ada necesidad cual es la mejor visualización (tipo de gráfico) para entenderla y compararla
  • 4. Mockup Dibujar un boceto aunque sea a lapiz en una libreta de forma que prioricemos la información y consigamos el orden de lectura adecuado
  • 5. Elaboración Y entocnes si, añadir los elementos a una herramienta y termina de afinar los detalles

En dashboards online además es deseable añadir un mínimo de interactividad. Para ello ya vimos que fundamentalmente tenemos 2 opciones: El selector de fechas y los filtros. Pensemos en base a la información que vamos a incluir en el dashboard que filtrados seán útiles para el usuario y dotemos de estos a nuestro dashboard.

Finalmente nos quedará un resultado más o menos perosnalizado y solo tendremos que ponerlo bonito. Esto de bonito tiene su importancia dependiendo de a quien dirijamos el dashboard. Para consumo interno o cuadros de mando importa poco lo bonitos que sean, pero para presentarlos a dirección o a gente con poco contacto diario con los datos es esencial: el dato entra por los ojos o no entra, y si no entra no puede comprenderse.

Nosotros hemos desarrollado este pequeño dashboard de ejemplo, muy simple, que cumple la función de ver a muy grandes rasgos la composición del tráfico en distintos periodos de tiempo (selector de fechas) y para distintos canales (filtro).

ds-ga-dashboard-sencillo

¿Qué datos puedo perdir realmente a esta conexión?

Como veis al final todo son los mismos datos que en los informes personalizados de analytics. Todo lo que puedas sacar como informe personalizado de analytics tiene cabida en un dashboard de Data Studio.

Eso es genial, vale. ¿Pero que más puedo hacer? ¿Sólo puedo sacar la información de los informes personalizados?

Pues según la documentación sobre el conector de Google Analytics así es. Lo bueno es que nos dejan caer un...

ACTUALIZACIÓN: Pero la realidad es que desde el 2 de marzo de 2017 ya se nos permite filtrar con segmentos en nuestros gráficos de data studio. Esto no cambia la configuración de la fuente simplemente se nos ha añadido, entre las opciones de configuración de los widgets de data studio un apartado donde indicar un segmento de Analytics por el que filtrar cada gráfico.

Datos de informes personalizados

Estos datos básicamente nos permiten solicitar:

- Una o varias dimensiones
- Una o varias métricas
- Uno o varios filtros.
- Y un único segmento por gráfico por el que pre-filtrar los datos.

Es decir, solo hay 4 conceptos que solicitar, lo cual esta bien pero seguimos echando en falta la posibilidad de cruzar datos, definir segmentos al vuelo o crear filtros globales de segmentos.

Trabajo Base (sin segmentos)

Sin el uso de segmentos estamos limitados a trabajar en un único ámbito de los datos. Cuando trabajamos con Google Analytics no trabajamos con la información bruta sino con dimensiones y métricas, que son agregaciones de estos datos. Esto también es así en Data Studio.

El problema de trabajar con datos agregados es el "cómo los agrego" y ahí es donde nuestros deseos al pedirle un dato a GA pueden no coincidir como cómo agrega GA la información.

Para resumir diremos que actualmente hay 4 ambitos de datos:

  • Usuario: cookies de usuario único
  • Sesión: visitas al site
  • Hit: cada input de datos sueltos (paginas, eventos, transacciones, etc)
  • SubHit (principalmente productos de ecommerce mejorado)

Analytics crea sus dimensiones y métricas en un ámbito concreto y por lo tanto estas funcionan correctamente sobretodo en este ámbito. Así, las campañas por ejemplo son dimensiones de ámbito sesión y el rebote es una métrica que también se calcula en este ámbito por lo que puedo solicitar el rebote por campaña.

Además analytics no va a tener problemas para mostrar métricas de un ámbito más bajo en para una dimensión más alta. Así que puedo pedir cosas como "páginas vistas (ámbito hit)" por "página de destino (ámbito sesión)" ya que solo tiene que sumar todos los hits de las sesiones involucradas para conseguir el dato.

Esto sumado a que la mayor parte de la información de analytics está en ámbito sesión hace que percibamos que todo puede cruzarse pero no es verdad. Cuando estamos en el entorno del creador de informes personalizado de Google Analytics este nos va limitando las dimensiones y métricas que podemos escoger en función de las que ya hemos puesto (evitando que seleccionemos cosas que no van a funcionar) pero cuando consultamos vía API o en ese caso vía Data Studio si podemos cometer estos erroes.

El error más común es pedirle a analytics métricas de un ámbito superior al de las dimensiones

El ejemplo más claro: Pedirle sesiones (métrica ambito sesión) de una página (dimensión de ámbito hit). En ese caso GA hace lo que puede y nos muestra un informe que no es lo que nosotros queremos.

  • Nosotros esperabamos que nos mostrase todas las sesiones que han pasado por una URL
  • Pero analytics nos muestra cuantas sesiones SE ORIGINARON en una URL, es decir, cuantas tuvieron como primer hit esa url

La explicación de por qué pasa esto la tenéis en este post: Reporting avanzado de flujo de usuarios

Un poco de trampas: las "vistas únicas"

Bien, esto de los ámbitos en algunos casos puede suponer un problema, pero no olvidemos que tenemos una grandisima cantidad de dimensiones y métricas con los que trabajar. Solo tenemos que fijarnos de trabajar siempre en el ámbito adecuado.

La mayor parte de las veces esto solo nos dará problemas como decíamos para conceptos de contenidos de los que queremos saber sesiones (y para los cuales como veremos luego nos vemos obligados a crear segmentos uno a uno).

Sin embargo quiero hacer mención de una colección de métricas muy interesantes que nos pueden ayudar a solucionar el problema en la mayor parte de los casos:

  • Sesiones por página: Páginas vistas únicas & URLs de página: Número de sesiones en los que esa página ha estado involucrada
  • Sesiones por zonas de la web: Vistas únicas de agrupación de contenido & agrupación de contenido: Número de sesiones en los que ese valor de agrupación de contenido ha estado involucrado (ideal para sesiones por sección o categoría)
  • Sesiones por eventos al detalle: Eventos únicos & Dimensiones de categoría + acción + evento: Numero de sesiones en los que la combinación de los 3 ha aparecido
  • Sesiones por eventos concretos: Combinaciones de dimensión únicas & cualquier dimensión de evento: Número de sesiones en los que esas dimensiones han estado involucradas
  • Conversión por página: Valor de la página & URL de pagían: Si repartimos el valor de las conversiones entre todas las páginas vistas de esa conversión el valor es lo que se llevan las páginas que ves

Y al final, cualquier métrica con la palabra "unique" será de este tipo. Ver todas.

Estas métricas nos ayudarán a salvar la papeleta en muchas ocasiones, pero cuidado, funcionan solo con las dimensiones para las que han sido creadas. Si por ejemplo cruzases "paginas vistas únicas" con la agrupación "sección de la página" cuando un usuario pase por dos páginas con URLs distintas pero dentro de esa misma sección contarán como +2 y no como +1.

Usando segmentos en nuestros gráficos

Google Data Studio nació sin segmentos para Google Analytics. Hablando claro, fue una malisima decisión por la que mucha gente ha desestimado la herramienta. Por suerte en uno de sus constantes updates los añadieron. Aunque la verdad es que no ha sido una integración global de los segmentos y tenemos algunas limitaciones con ellos.

- Los segmentos solo se seleccionan para cada gráfico por separado. No podemos crear segmentos globales.
- Son fijos, el usuario que consulte el dashboard no podrá alterarlos.
- Y solo se nos da acceso a los segmentos del sistema + aquellos que hayamos definido en analytics. Es decir, no tenemos un editor de segmentos en Data Studio con el que podamos crear a medida los segmentos para el dashboard.
- Y solo aplicamos un único Segmento al gráfico, no podemos sumar filtros de varios tipos (esto no es sorpresa, ya sucede en el propio analytics).

En definitiva, si que hay segmentos, pero si habeís trabajado en otros entornos o habéis configurado/programado vuestros propios dashboards con la API de google analytics vereis que podrían haberse incluido muchas más funcionalidades. Aún así, veamos lo que nos suponen.

Cuando creamos un gráfico en Data Studio vamos a poder aplicar 1 segmento a dicho gráfico (solo 1). Accedemos a la pestaña "DATOS" de nuestro panel y abajo del todo encontraremos el selector de segmentos.

ds-editorwidget-segmentos

Cuando lo seleccionamos nos aparecerán todos los segmentos tipicos de analytics (los del sistema) más los que nosotros hubiesemos creado en la cuenta de analytics. Si un segmento que queramos aplicar no está entre los listados nos veremos obligados a acceder a nuestra cuenta de analytics, crearlo ahí, volver a Data Studio y refresacar la conexión para que aparezca como disponible. Así que un buen consejo sería definir todos los segmentos previamente en nuestro GA para luego trabajar de forma más directa en Data Studio.

ds-editorwidget-segmentos-seleccionar

Una vez seleccionemos el segmento que deseemos, el sistema nos preguntará si queremos incoporarlo. Esta es una alerta que tiene sentido cuando compartimos el dashboard con más gente. Basicamente nos viene a decir que quien vea o edite ese dashboard aun sin tener acceso a GA va a poder usar dicho segmetno para otras cosas. Nos alertan, lo pensamos un minuto y vemos si puede ser un problema en nuestro caso o no.

ds-editorwidget-segmentos-aviso

Y nada, a partir de ese momento este gráfico ya pre-filtra los datos por el segmento seleccionado.

Calculando datos en la configuración de la conexión

Otra de las posibilidades que ahora tenemos y que con analytics eran más limitadas es añadir a nuestra conexión datos calculados entre los valores de dimensión y métricas que ya disponemos en la conexión.

Para ello podemos editar nuestra conexión (volviendo a la home o dándole al icono de lápiz en la conexión al editar cualquier gráfico) y hacer algunos cambios.

Para este ejemplo hemos hecho 3 pequeños añadidos.

- Por un lado hemos cambiado el nombre de "Bounces" a "Sesiones Rebotadas"

- Luego hemos añadido una métrica llamada "Sesiones No Rebotadas" que calculamos como la resta entre "Sesiones - Bounces"

ds-ga-metricas-calculadas

- Y por ultimo hemos creado con una expresión regular una nueva dimensión que a partir del tamaño de pantalla (Screen Resolution) de los usuarios tan solo queremos que recoja el ancho de la pantalla.

ds-ga-dimensiones-por-fragmentos

Con estos 3 nuevos datos pasamos a poder crear un gráfico como este:

ds-ga-dimensiones-y-metricas-calculadas-ejemplo

Que nos muestra las sesiones divididas en Rebotadas y no Rebotadas por anchos de pantalla. Este informe en GA sería imposible de crear sin crear vistas con filtros avanzados a medida para el mismo, así que ya tenemos una ventaja poderosa de modelado de datos dentro del propio Data Studio.

Para este tipo de tareas nos combiene repasar todas las funciones de Data Studio a nuetra disposición y saber con qué posibilidades jugamos.

Especialmente intersantes para manipulación de dimensiones son:

  • REGEXP_EXTRACT: Que nos permite sacar solo un fragmento del texto de una dimensión.
    Tal y como hemos visto en el ejemplo de arriba. Pero tambien nos permitiría separar campos que tienen varios valores a la vez
  • REGEXP_REPLACE: Que nos permite hacer reemplazos de un texto por otro.
    Ideal por ejemplo para hacer arreglos (por ejemplo: campaña "FB" cambiamela por "facebook".
  • CASE: Que permite especificar valores en función de validaciones.
    Es decir excribimos valores del tipo CASE WHEN A = B THEN "devulve esto" ELSE "devuelve esto otro" y por lo tanto se transforma en una función ideal para hacer agrupaciones.
    Por simplificar, piensa en cosas como CASE WHEN Page = "/" THEN "Es la home" ELSE "NO es la HOME" y luego piensa más a lo grande

Realmente esto de la manipulación de valores de variables es un mundo pero es probable que deseemos cruzar datos de otra forma para mostrar datos más modelados en nuestros dashboards.

Cargando datos de GA modelados o cruzados en Data Studio

Bueno lo primero siento decirte que realmente esto aún no se puede hacer. Y esto es porque el editor de fuentes de Data Studio aun no permite este trabajo. Tiene pinta de que terminará haciendolo, pero aun no es así.

¿Pero la de GA no es la única conexión de la que disponemos verdad? Así que siempre y cuando no intente cargar los datos directamente a través de esa conexión, si que podría cargar datos modelados. ¿El truco? Hacerlo a través de otras conexiones. Asi de simple.

Opcion 1: Vistas prefiltradas

Fácil, creo una vista en mi analytics que ya use los filtros adecuados. Luego cargo como una segunda conexión a mi GA esa nueva vista y todo lo que use esta segunda vista estará prefiltrado.

Lo que pasa es que esto que parece una puerta interesante en la práctica se transforma en un recurso muy limitado por varios motivos.

  • 1. No tenemos histórico, cuando creamos la vista nueva esta empieza a capturar datos y por lo tanto no podremos consultar el año pasado.
  • 2. Un filtro de segmento no es lo mismo que un filtro de vista. Las vistas filtran hit a hit y los segmentos agrupan sesiones o usuarios completos. Si yo por ejemplo filtro una URL concreta no veré las conversiones que se produzcan en esa misma visita pero en una URL distinta.
  • 3. Realmente sigo sin cruzar datos, no puedo hacerlo

Asi que solo me va a aportar esta opción algo para casos muy concretos. Por ejemplo separación de paises por carpetas donde aplico un filtro de hit que en realidad se va a parecer mucho al de sesión pues un usaurio realizará la mayor parte de sus hits (si no todos) en el mismo pais de la web.

Opcion 2: BigQuery

Para los que tengan la suerte de disponer de una cuenta premium Google Analytics (perdon, ahora se llama Google Analytics 360) se vuelca automaticamente a tablas diarias en BigQuery. Ahí podemos consultar lo que nos de la gana. ASí que lo que necesitamos es crear una consulta con los datos que necesitamos, con ella crear una vista e usar esa vista como dataSource creando una conexión con BigQuery.

Las primeras veces, crear segmentos a nivel sesión o usuario puede ser un poco raro en bigQuery y más aun cruzar datos con otras fuentes. Hay que aprender a unir tablas con "TABLE_DATE-RANGE()" y entender como usar campos como visitId o fullVisitorId (ya que los nombres de campos no coinciden siempre con los nombres de dimensión) para hacer las agrupaciones manualmente sobre las tablas de hits o de sesiones. Una vez dominas como se hacen ese tipo de queries el mundo se vuelve más amable.

Para los que no lo hayais tocado os dejo solo un link, una explicación paso a paso de como consultar funnels dentro de bigQUery, un post que por lo complejo del problema tiene que solucionar varias partes y te da varias queries de ejemplo: Funnel Analysis with Google Analytics Data in BigQuery

No me enredo más con esto, quien sabe usar bigQUery sabe y quien no no aprenderá solo con 4 comentarios en un post que en realidad va de otra cosa.

Opción 3: Descargas de datos modelados a MySql

Una opción muy usada en sites que necesitan un reporting serio es hacer descargas diarias de los datos de analytics vía API. Eso nos pemite crear un repositorio con datos ya modelados como necestiamos (con los segmentos ya aplicados) y consultar directamente las tablas MySql con la conexión de Data Studio.

El problema es crear el script que se descarga los datos. Esto suele ser trabajo más de la gente de BI que del analista, pero soluciones vamoas a encontrar varias por internet. Nosotros en IKAUE tenemos una librería propia para este tipo de descargas desarrollada en PHP y que es capaz de multiplicar las consultas creando colecciones de segmentos a medida.

Otro problema de este sistema es que todo lo que no hayas pensado como dato necesario para estas exportaciones no estará disponible, por eso es importante planificar bien las descargas de datos.

Nota: Si los datos son muchos tambien puede ser que queramos descargar pero no hacia MySQL sino tambien hacia BigQUery. El resultado en realidad sería le mismo pero más rápido de procesar.

Opción 4: Google SpreadSheets como conexión intermedia con APIs reales

Me voy a centrar en Google Analytics, pero este sistema en realidad nos permite añadir a Data Studio no solo la API real de GA sino cualquier API disponible para Google SpreadSheets.

Lo que vamos a hacer es crear una hoja de repositorio de datos, esta hoja debe ser capaz de automatizar las cargas de datos. Luego desde Data Studio no pediremos acceso a las API's sino a Google Spreadsheets con ese repositorio. Sería algo muy parecido a las descargas de datos modelados a MySQL que decíamos antes pero más accesible para la mayoría de personas (aunque también más limitado).

Veamos un pequeño ejemplo, vamos a conseguir traer datos de las visitas que pasan por la home (un segmento de usuarios que pasan por "/") a nuetro dashboard a través de Google SpreadSheets.

Para ello entraremos en sheets.google.com, una página dedicada a las hojas de cáculo de google, aunque todos sabéis que a través de drive tambien se puede acceder.

El complemento de "Google Analytics"

Las hojas de Google permiten complementos, son como los macros de Excel pero programados en Javascript y con acceso a APIs. Lo mejor de estos complementos es que tenemos una galería desde la que importar los que han hecho terceros o el propio Google. Para ello solo tenemos que hacer click en el menú Complementos > Obtener Complementos.

ds-ga-gs-obtener-complementos-menu

Dentro de la galería deberíamos buscar el complemento de Google Analytics. Se encuentra de forma bastante sencilla pues es uno de los complementos TOP.

ds-ga-gs-obtener-complementos

Lo incorporamos y a partir de entonces en el propio Menú de complementos tendremos una nueva opción llamada "Google Analytics" con 3 opciones: Crear Informe, Ejecutar Informe y programar reports.

ds-ga-gs-menu-ga

Hacemos Click en "Create new Report" y nos creará una nueva Hoja nueva con la plantilla de nuestro report. En esta Hoja cada columna es una consulta a la API de analytics, y en cada fila debemos indicar el valor del dato que pediríamos a la API de GA.

La consulta a la API de analytics

No quiero entretenerme con temas de la API, asi que simplemente deciros que lo suyo es solicitarle un informe personalizado con las dimensiones y métricas que deseamos y el máximo número de días hacia atrás en el tiempo que podamos permitirnos.

ds-ga-gs-configuracion-report-sementado

Algunas apreciaciones:

  • El número de días dependerá de nuestro tráfico:
    Analytics vía API (tanto premium como free) tiene muestreo. Por lo que cuantos más datos le pidamos más probable es que estos datos estén muestreados y a mayor volúmen más muestreo aplicará. Así que tenemos que intentar preservar la caldiad del dato pero al mismo tiempo sabemos que cuantos más días logremos incluir más dinámico podrá ser nuestro dashboard (porque más días podremos poner en el selector de fechas)
  • Las dimensiones siempre deben incluir "ga:date" como mínimo:
    Los dashboards de Data Studio funcionan mucho mejor cuando tienen un rango de fechas al que asociar los datos
  • No hay que usar métricas calculadas:
    Cómo vamos a agrupar los datos hay que evitar las métricas calculadas pues al agruparse nos darán fallos. Por ejemplo, no tiene sentido que pidamos el "porcentaje de rebote" porque Data Studio no podrá calcular ese dato para una franja de dias que va variando según la selección del usuario. Por lo tanto lo suyo, si quiero disponer del rebote, es que saque sesiones y rebotes sueltos, ya calculare el "rebotes/sesiones" en Data Studio cuando toque.

Validando los datos disponibles

Una vez tenemos todos los datos definidos, clickamos en el menú en "Run report" y se nos generará una hoja nueva de datos (que tendrá por nombre el nombre que hemos puesto al report) y donde podemos validar qué datos vamos a tener disponibles.

ds-ga-gs-resultado-report-segmentado

  • Revisamos que no haya muestreo, o al menos que si lo hay no nos moleste demasiado
  • Y apuntamos a partir de que fila aparecen realmetne los datos en el report.
  • Automatizamos la recarga de datos

    Ya tenemos los datos, solo tenemos que preocuparnos de que estos se vayan actualizando solos. Para ello Clickamos en el menú "Schelude reports" y le indicamos que lo recargue cada día a X hora. La hora tiene que ver con cuando se nos calculan los datos diarios en nuestra cuenta. En analytics premium sabemos que eso sucede a las pocas horas y como mucho podría suceder a las 4 de la mañana. En cuentas free es preferible moverlo a mucho más tarde. Lo que yo hago es recargar justo a la hora de inicio de actividad en la empresa. Es decir, si sabemos que nadie va a estar en su puesto hasta las 9:00 de la mañana, recargamos el informe a las 8:55.

    Creando la fuente en Data Studio

    Ya hemos acabado con spreadsheets, vamos a por Data Studio que es lo que nos interesa. Ahi solo tenemos que crear una fuente nueva de tipo "Google Sheets", seleccionar de que archivo y hoja queremos que vengan los datos y seleccionar un rango de celdas en el que actuar. En mi ejemplo hemos seleccionado las filas de la A15 (Donde empezaban los datos) a la F10000 (por poner algo).

    ds-ga-configurar-spreadsheets-como-fuente

    Una vez configurado ya podremos ir a ver los campos integrados.

    ds-ga-configurar-spreadsheets-como-fuente-original

    ¿Lo que pasa es que nos faltarán datos verdad?

    Configurando a medida los datos desde SpreadSheets

    A estos datos vamos a darles una vuelta. Para empezar vamos a calcular los porcentajes de rebote y conversión. Como recordarás dijimos que no podiamos ponerle estos datos en la consulta porque dependerian de las fechas seleccionadas. En cambio en la configuración si podemos indicarle a Data Studio como hacer ambos cálculos:

    ds-ga-configurar-spreadsheets-como-fuente-añadiendo-calculadas

    ds-ga-configurar-spreadsheets-como-fuente-añadiendo-calculadas-2

    Por último nos quedará traducirlo todo para que los datos que estamos cargando signifiquen algo para el que va leer el dashboard (si, por mucho que te empeñes "ga:sessions" no significa nada). El resultado unificando los nombres con los que usamos en el dashboard que hasta ahora no tenía segmentos quedaría algo asi:

    ds-ga-configurar-spreadsheets-como-fuente-traduciendo

    ¡A dibujar!

    Ahora ya si, ya podemos acudir a nuestro dashboard y añadir la información debidamente segmentada.

    ds-ga-configurar-spreadsheets-como-fuente-crear-dashboard

    Ya tenemos datos modelados en Data Studio

    Y bueno, si, es cierto, hemos metido cierto modelado a la información de GA en Data Studio pero estaréis de acuerdo conmigo en que esto solo podemos hacerlo para datos muy críticos y concretos. El proceso es demasiado complejo, limitado y tedioso como para que merezca la pena replicarlo para gran cantidad de datos.

    Aún así esta bien que existan posibilidades como BigQuery, MySql y Google SpreadSheets que nos ayuden a terminar de redondear nuestros informes. El tema de spreadsheets me resulta especialmente interesante porque realmente no solo disponemos de apis de analytics. Podemos cargar ahi multitud de APIs y usar estas hojas como puente para crear un dashboard con datos no solo Google. Un simple vistazo a "Supermetrics" puede darte una idea de todo lo que puedes integrar de esta forma.

    Conclusión

    Bueno, creo que hemos repasado bastantes partes de la herramienta y las posibilidades están claras. Crear dashbaords de Google Analytics con Google Data Studio es una tarea que de primeras parece sencillisima (de hecho se hace más simple incluso que crear informes personalizados) pero a la que vas rascando vas viendo que tienes mucho trabajo por delante. Estandarizacion de datos, crear fuentes extra para completar tu información y luego, cuando acabes, tocará ponerlo todo coherente al tiempo que hacemos resaltar los datos principales sobre el resto. Tenemos para cientos de horas de "diversión" asegurada con esta nueva herramienta.

Temas Relacionados: analitica web

Autor:

Un Comentario para “Dashboards profesionales de Google Analytics con Google DataStudio”

  1. José dice:

    Hola Iñaki,

    Cada vez estoy más enganchado al Data Studio,y tus post me estan ayudando mucho, pero tengo un problema con el origen de datos.

    Tengo varias vistas en Google Analytics que utilizo de origen de datos, pero en algunas no me aparece "Traffic Type" para crear un filtro dentro del Data Studio. ¿Sabes que tengo que hacer para que me aparezca?

    Muchas gracias

Anímate y deja tu comentario