1 Followers
26 Following
troutbanker87

troutbanker87

SPOILER ALERT!

Dashboards profesionales de Google Analytics con Google DataStudio

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.


  • Veremos cómo es la conexión con Analytics. Su dificultad, 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 post e procurando no resultar ni demasiado técnico ni demasiado pesado. Espero que os guste.



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 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:


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. O sea, 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:

Por un lado tiene el beneficio 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 debemos preocuparnos porque esos dashboards den acceso a otros clietnes
También hay cierto riesgo con usuarios con capacidad de edición. Esto podrán solicitar datos a través de la conexión a unas partes de GA que en un inicio igual no queríamos que accediesen. (por poner un ejemplo, podemos crear un dashboard para un distribuidor donde solo salgan sus conversiones pero no las del resto de distribuidores 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 administran bien sus accesos.

Con este escenario 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 próximo panel:

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í:

Como contra, implica que debes ir dando accesos a GA a todo el que desee 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 ya los dashboards tienen gráficos en los que cada uno de ellos separadamente 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 y en toda circunstancia podemos emplear la cuenta de GA de la tienda de Google como un ejemplo, pero ojalá algún día dispongamos de dashboards como un recurso más de lacomo lo son ahora los informes adaptados y paneles de GA.


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:


  • 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 peligro 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 distribuidor donde solo salgan sus conversiones mas 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 inconveniente de descontrol. Gemte que cambia de empresa o bien de proyecto y no se administran bien sus accesos.

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.


Traduciendo tus dimensiones y métricas


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:


  • Si utilizamos transacciones para guardar leads, que en el dashboard aparezca "transactiones" es confuso
  • Si usamos eventAction para identificar zonas de clic 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 bien 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 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:


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


Nuestro primer dashboard


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...


  • 1.
    Preguntas: Necesidades que tiene que resolver el dashboard,
  • 2.
    Métricas y KPIs: Datos que vamos a emplear para resolverlas
  • 3.
    VisualizaciónPernsar cpara ada necesidad como es la mejor visualización (género de gráfico) para comprenderla y compararla
  • 4.
    MockupDibujar un boceto si bien sea a lapiz en una libreta de manera que prioricemos la información y consigamos el orden de lectura adecuado
  • 5.
    ElaboraciónY 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 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).



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


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.


Datos de informes personalizados


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:


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

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.


  • 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:


Un poco de trampas: las "vistas únicas"


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:



  • 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 implicado (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 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.


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 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.


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 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:



  • 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. Mas tambien nos permitiría separar campos que tienen varios valores a la vez

  • REGEXP_REPLACE:Que nos deja hacer reemplazos de un texto por otro.

    Ideal por servirnos de un ejemplo para hacer arreglos (por ejemplo: campaña "FB" cambiamela por "facebook".

  • CASE:Que permite concretar valores en función de validaciones.

    Es decir excribimos valores del tipo CASE WHEN A = B THEN "devulve esto" ELSE "devuelve esto otro" y en consecuencia se transforma en una función ideal para hacer agrupaciones.

    Por facilitar, piensa en cosas como CASE WHEN Page = "/" THEN "Es la home" ELSE "NO es la HOME" y después piensa más a lo grande

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.


Cargando datos de GA modelados o bien cruzados en Data Studio


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.


Opcion 1: posicionamiento seo directorios prefiltradas


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.


  • 1. No tenemos histórico, cuando creamos la vista nueva esta empieza a atrapar datos y por lo tanto no vamos a poder preguntar 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 específica no veré las conversiones que se produzcan en esa misma visita mas en una URL diferente.
  • 3. Verdaderamente sigo sin cruzar datos, no puedo hacerlo

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.


Opcion 2: BigQuery


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.


Opción 3: Descargas de datos modelados a MySql


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.


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


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:


  • El número de días dependerá de nuestro tráfico:

    Analytics vía API (tanto premium como free) tiene muestreo. Con 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 procurar preservar la caldiad del dato pero al 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 y en toda circunstancia 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 eludir las métricas calculadas puesto que al agruparse nos darán fallos. Por poner un ejemplo, carece de 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 ende lo suyo, si deseo contar con 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 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.



  • Revisamos que no haya muestreo, o bien por lo menos que si lo hay no nos moleste demasiado
  • Y apuntamos desde que fila aparecen realmetne los datos en el report.


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.



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 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.


Conclusión


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.