Aquí estamos de nuevo, procurando sacar partido a las últimas herramientas de la Suite de Analytics. El otro día hicimosy vimos como trabajar con la herramienta y las posibilidades que nos ofrece sin entrar demasiado en casos prácitocs.
Hoy vamos a hacer todo lo opuesto, daremos por famosa la herramienta (con lo que si no leíste el blog post que decía en el párrafo anterior sólo tienes que hacer clic en el link superior) y también vamos a ir a realizar uno de los trabajos que seguramente serán más comunes para la mayoría de usuarios: Crear un dashboard basado en datos de Google Analytics.
Todo en un post e procurando no resultar ni demasiado técnico ni demasiado pesado. Espero que os guste.
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 la verdad es que la oferta de conexiones y opciones de modelado es limitada mas veremos que aun así ya tienen su miga.
Crear una conexión inicial con Google Analytics por fortuna no podría ser más sencillo. 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".
Se nos solicitará una vista específica (lo que significa que cada vista de GA debe tener su propia conexión) y realizará una importación genérica (para todos los Google Analytics es exactamente la misma) de los datos.
Se nos presentará una pantalla como la que prosigue, donde se nos detallan las más de 500 métricas+dimensiones que vamos a tener libres con esta conexión. creacion de paginas webs menos, pero poquito a poco van mejorando la integración. Aquí es posible 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 adecuada, por lo que no hace falta tocar nada salvo que desees tu tocarlo por el motivo que sea.
En esta importación nos hallamos realmente más sorpresas agradables que carencias: En la parte positiva a parte de lo que podríamos aguardar algunos datos como el ID de propiedad, agrupaciones de canales y contenido, métricas de ecommerce mejorado, estarán ahí disponibles mas en la negativa descubriremos que no hay rastro ni de realtime (era bastante lógico que no existiera) ni de los embudos multicanal (esto no tan lógico y que ojalá 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 afín 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 aprecia que Google ha trabajado mucho en que la sensación que nos quede es la de que en dos minutos estamos dibujando dashboards.
Sin embargo, 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:
Por defecto Data Studio dejará configurado nuestro acceso para acceder con la cuenta de quien crea la conexión. Esto es, cuando alguien acceda a ese dashboard en realidad pedirá los datos a través de nuestra conexión a Analytics. Esto no es bueno ni malo, solo hay que saber que implicaciones tiene:
Con este escenario yo soy más amigo de mudar la configuración de las credenciales de la conexión y pasarlas a "Credenciales del lector". Esto es, 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:
Esto te da más libretad para compartir dashboards sin cuidado puesto que si el usuario no tiene acceso a analytics, los gráficos a los que no tenga acceso se verán así:
Como contra, implica que debes 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 auténtica 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 bien algo así. Más que nada por el hecho de que 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 específica. Esto provoca que compartir dashboards genéricos (a fin de que la gente importe) no es cómodo. Siempre y en todo momento podemos emplear la cuenta de GA de la tienda de Google como ejemplo, mas ojalá algún día dispongamos de dashboards como un recurso más de lacomo lo son ahora los informes personalizados y paneles de GA.
Cuando Data Studio crea la conexión con Analytics usa los nombres que aparecen disponibles en lapor 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 hallamos con que los nombres de GA no siempre y en todo momento representan lo que esa acción es para nuestro negocio. Algunos ejemplos:
Para este tipo de tareas, y dado que luego en el ambiente de diseño de dashboards no vamos a poder editar nada lo propio es que editemos los datos de conexión. Para ello tenemos dos vías:
Ahora sí, ya tenemos una conexión digna y podemos comenzar a dibujarle piezas. ¡Así que a producir informe!
Es ineludible que las primeras veces vayamos dibujando a lo ido. Un "quesito" por aquí, un dato suelto por allá y unas "barritas molonas" del otro lado. Como es inevitable no os 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 como recordatorio: Crear un dashboard implica siempre y en toda circunstancia comenzar fuera de la herramienta y pasar por un proceso de...
En dashboards online además es deseable añadir un mínimo de interactividad. Para ello ya vimos que fundamentalmente tenemos dos 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 bien menos perosnalizado y solo deberemos ponerlo bonito. Esto de bonito tiene su importancia en dependencia de a quien dirijamos el dashboard. Para consumo interno o bien 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 bien 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 diferentes periodos de tiempo (selector de datas) y para distintos canales (filtro).
Como veis al final todo son exactamente los mismos datos que en los informes adaptados de analytics. Todo lo que puedas sacar como informe adaptado de analytics tiene cabida en un dashboard de Data Studio.
Eso es excelente, vale. ¿Pero que más puedo hacer? ¿Sólo puedo sacar la información de los informes adaptados?
Pues segúnasí es. Lo bueno es que nos dejan caer un...
ACTUALIZACIÓN:Pero la realidad es que desde el dos de marzo de dos mil diecisiete ya se nos deja filtrar con segmentos en nuestros gráficos de data studio. Esto no cambia la configuración de la fuente sencillamente se nos ha añadido, entre las opciones de configuración de los widgets de data studio un apartado donde apuntar un segmento de Analytics por el que filtrar cada gráfico.
Estos datos básicamente nos dejan solicitar:
- Una o varias dimensiones
- Una o múltiples métricas
- Uno o bien varios filtros.
- Y un único segmento por gráfico por el que pre-filtrar los datos.
Es decir, solo hay cuatro conceptos que pedir, lo cual esta bien mas proseguimos echando en falta la posibilidad de cruzar datos, delimitar 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 Analytics no trabajamos con la información bárbara 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 solicitarle un dato a GA pueden no coincidir como cómo agrega GA la información.
Para resumir afirmaremos que en nuestros días hay 4 ambitos de datos:
Analytics crea sus dimensiones y métricas en un ámbito concreto y por tanto estas marchan apropiadamente sobretodo en este ámbito. Así, las campañas por servirnos de un ejemplo son dimensiones de ámbito sesión y el rebote es una métrica que también se calcula en este ámbito con 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)" en tanto que solo tiene que sumar todos y cada uno de los hits de las sesiones involucradas para conseguir el dato.
Esto sumado a que la mayoría de la información de analytics está en ámbito sesión hace que percibamos que todo puede cruzarse mas no es cierto. Cuando estamos en el entorno del autor de informes adaptado 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 escojamos cosas que no van a marchar) mas cuando consultamos vía API o bien en un caso así vía Data Studio si podemos cometer estos erroes.
El fallo más común es solicitarle 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 un caso así GA hace lo que puede y nos muestra un informe que no es lo que queremos.
La explicación de por qué pasa esto la tenéis en este post:
Bien, esto de los ámbitos en ciertos casos puede suponer un problema, pero no olvidemos que tenemos una grandisima cantidad de dimensiones y métricas con los que trabajar. Solo debemos fijarnos de trabajar siempre y en toda circunstancia en el ámbito conveniente.
La mayor una 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 que como veremos entonces nos vemos obligados a crear segmentos uno a uno).
Sin embargo deseo hacer mención de una colección de métricas bien interesantes que nos pueden asistir a solucionar el problema en la mayor parte de los casos:
Y al final, cualquier métrica con la palabra "unique" será de este género..
Estas métricas nos ayudarán a salvar la papeleta en muchas ocasiones, mas cuidado, marchan solo con las dimensiones para las que han sido creadas. Si por poner un ejemplo cruzases "paginas vistas únicas" con la agrupación "sección de la página" en el momento en que un usuario pase por 2 páginas con URLs diferentes mas dentro de esa misma sección contarán como +2 y no como +1.
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 incesantes updates los añadieron. Si bien lo cierto es que no ha sido una integración global de los segmentos y tenemos ciertas restricciones con ellos.
- Los segmentos solo se seleccionan para cada gráfico separadamente. 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. O sea, no tenemos un editor de segmentos en Data Studio con el que podamos crear a la 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 bien 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 podremos 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.
Cuando lo escogemos nos aparecerán todos y cada uno de los segmentos tipicos de analytics (los del sistema) más los que nosotros hubiesemos creado en la cuenta de analytics. Si un segmento que deseemos aplicar no está entre los listados nos vamos a ver obligados a acceder a nuestra cuenta de analytics, crearlo ahí, regresar a Data Studio y refresacar la conexión a fin de que aparezca como disponible. Así que un buen consejo sería delimitar todos los segmentos anteriormente en nuestro GA para entonces trabajar de forma más directa en Data Studio.
Una vez escojamos el segmento que deseemos, el sistema nos preguntará si queremos incoporarlo. Esta es una alarma que tiene sentido cuando compartimos el dashboard con más gente. Basicamente nos viene a decir que quien vea o bien edite ese dashboard aun sin tener acceso a GA podrá usar dicho segmetno para otras cosas. Nos alertan, lo pensamos un minuto y vemos si puede ser un problema en nuestro caso o bien no.
Y nada, a partir de ese momento este gráfico ya pre-filtra los datos por el segmento seleccionado.
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 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 ciertos cambios.
Para este caso de ejemplo hemos hecho tres pequeños añadidos.
- Por un lado hemos alterado el nombre de "Bounces" a "Sesiones Rebotadas"
- Entonces hemos añadido una métrica llamada "Sesiones No Rebotadas" que calculamos como la resta entre "Sesiones - Bounces"
- Y por ultimo hemos creado con una expresión regular una nueva dimensión que desde el tamaño de pantalla (Screen Resolution) de los usuarios tan solo deseamos que recoja el ancho de la pantalla.
Con estos 3 nuevos datos pasamos a poder crear un gráfico como este:
Que nos enseña 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 la medida para exactamente el mismo, así que tenemos una ventaja poderosa de modelado de datos en el propio Data Studio.
Para este género de tareas nos combiene repasary saber con qué posibilidades jugamos.
Especialmente intersantes para manipulación de dimensiones son:
Realmente esto de la manipulación de valores de variables es un planeta mas probablemente deseemos cruzar datos de otra forma para mostrar datos más modelados en nuestros dashboards.
Bueno lo primero siento decirte que
realmente esto aún no se puede hacer. Y esto es pues el editor de fuentes de Data Studio aun no deja 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 que 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.
Fácil, creo una vista en mi analytics que use los filtros convenientes. Luego cargo como una segunda conexión a mi GA esa nueva vista y todo cuanto use esta segunda vista estará prefiltrado.
Lo que pasa es que esto que semeja una puerta interesante en la práctica se convierte en un recurso muy limitado por múltiples motivos.
Asi que solo me va a aportar esta opción algo para casos muy específicos. Por poner un ejemplo separación de paises por carpetas donde aplico un filtro de hit que en realidad se marcha a parecer mucho al de sesión pues un usaurio realizará la mayor parte de sus hits (si no todos) en el mismo país de la web.
Para los que tengan la suerte de disponer de una cuenta premium Analytics (perdon, ahora lleva por nombre 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 precisamos, con ella crear una vista y también emplear esa vista como dataSource creando una conexión con BigQuery.
Las primeras veces, crear segmentos a nivel sesión o bien usuario puede ser un tanto raro en bigQuery y más incluso cruzar datos con otras fuentes. Hay que aprender a unir tablas con "TABLE_DATE-RANGE()" y entender como usar campos como visitId o bien fullVisitorId (ya que los nombres de campos no coinciden siempre y en toda circunstancia 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 afable.
Para los que no lo hayais tocado os dejo solo un enlace, una explicación paso a paso de como preguntar funnels en bigQUery, un artículo que por lo complejo del inconveniente tiene que solventar múltiples partes y te da múltiples queries de ejemplo:
No me embrollo más con esto, quien sabe utilizar bigQUery sabe y quien no no aprenderá solo con cuatro comentarios en un post que realmente va de otra cosa.
Una opción muy usada en sites que necesitan un reporting serio es hacer descargas cada día 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 preguntar de manera directa las tablas MySql con la conexión de Data Studio.
El inconveniente es crear el script que se descarga los datos. Esto suele ser trabajo más de la gente de BI que del analista, mas soluciones vamoas a localizar múltiples por la red. Nosotros en IKAUE tenemos una librería propia para esta clase de descargas desarrollada en PHP y que es capaz de multiplicar las consultas creando compilaciones de segmentos a la medida.
Otro inconveniente de este sistema es que todo lo que no hayas pensado como dato necesario para estas exportaciones no estará libre, por eso es esencial planear bien las descargas de datos.
Nota: Si los datos son muchos también es posible que queramos descargar pero no cara MySQL sino también hacia BigQUery. El resultado realmente sería le mismo pero más rápido de procesar.
Me voy a centrar en Analytics, mas este sistema realmente nos permite añadir a Data Studio no solo la API real de GA sino más bien cualquier API libre para Google SpreadSheets.
Lo que haremos es crear una hoja de repositorio de datos, esta hoja ha de ser capaz de automatizar las cargas de datos. Entonces desde Data Studio no pediremos acceso a las API's sino a Google Spreadsheets con ese repositorio. Sería algo muy similar a las descargas de datos modelados a MySQL que decíamos ya antes mas más alcanzable 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 vamos a entrar en, una página dedicada a las hojas de cáculo de google, si bien todos sabéis que a través de drive también se puede acceder.
El complemento de "Google Analytics"
Las hojas de Google dejan 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 esto solo debemos hacer click en el menú Complementos>Obtener Complementos.
Dentro de la galería deberíamos buscar el complemento de Google Analytics. Se halla de forma bastante sencilla pues es uno de los complementos TOP.
Lo incorporamos y a partir de entonces en el propio Menú de complementos vamos a tener una nueva opción llamada "Google Analytics" con 3 opciones: Crear Informe, Ejecutar Informe y programar reports.
Hacemos Clic 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, así que simplemente deciros que lo suyo es pedirle 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 dejarnos.
Algunas apreciaciones:
Validando los datos disponibles
Una vez tenemos todos y cada uno de 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 libres.
Automatizamos la recarga de datos
Ya tenemos los datos, solo debemos preocuparnos de que estos se vayan actualizando solos. Para ello Clickamos en el menú "Schelude reports" y le señalamos 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 acontecer a las 4 de la mañana. En cuentas free es preferible moverlo a mucho más tarde. Lo que hago es recargar justo en el momento de comienzo de actividad en la compañía. O sea, 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. Ahí solo debemos crear una fuente nueva de tipo "Google Sheets", elegir de que fichero y hoja queremos que vengan los datos y seleccionar un rango de celdas en el que actuar. En mi ejemplo hemos escogido las filas de la A15 (Donde comenzaban los datos) a la F10000 (por poner algo).
Una vez configurado ya vamos a poder ir a ver los campos integrados.
¿Lo que pasa es que nos faltarán datos verdad?
Configurando a la medida los datos desde SpreadSheets
A estos datos vamos a darles una vuelta. Para iniciar vamos a calcular los porcentajes de rebote y conversión. Como recordarás dijimos que no podiamos ponerle estos datos en la consulta pues dependerian de las datas seleccionadas. En cambio en la configuración si podemos indicarle a Data Studio como hacer ambos cálculos:
Por último nos quedará traducirlo todo para que los datos que cargamos signifiquen algo para el que va leer el dashboard (si, por más que te empeñes "ga:sessions" no significa nada). El resultado unificando los nombres con los que usamos en el dashboard que hasta el momento no tenía segmentos quedaría algo asi:
¡A dibujar!
Ahora ya si, ya podemos asistir a nuestro dashboard y añadir la información adecuadamente segmentada.
Y bueno, si, es cierto, hemos metido cierto modelado a la información de GA en Data Studio mas estaréis conforme 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 valga la pena replicarlo para gran cantidad de datos.
Aún así esta bien que existan posibilidades como BigQuery, MySql y Google SpreadSheets que nos asistan a concluir de redondear nuestros informes. El tema de spreadsheets me resulta especialmente interesante pues verdaderamente no solo disponemos de apis de analytics. Podemos cargar ahí multitud de APIs y utilizar estas hojas como puente para crear un dashboard con datos no solo Google. Un simple vistazo a "" puede darte una idea de todo cuanto puedes integrar de esta forma.
Bueno, creo que hemos repasado bastantes unas partes de la herramienta y las posibilidades están claras. Crear dashbaords de Analytics con Google Data Studio es una tarea que de primeras parece sencillisima (de hecho se hace más simple incluso que crear informes adaptados) mas a la que vas rascando vas viendo que tienes mucho trabajo por delante. Estandarizacion de datos, crear fuentes extra para llenar tu información y después, cuando termines, tocará ponerlo todo congruente al paso que hacemos resaltar los datos primordiales sobre el resto. Tenemos para cientos de horas de "diversión" asegurada con esta nueva herramienta.
¿Te gustó este post? Puedes continuar sus comentarios a través de, o realizardesde tu blog.