User Activity API en R

Introducción

¿Quién no ha pensado alguna vez que la información que ofrece el User Explorer puede llegar a ser muy valiosa pero que es bastante tediosa su utilización?

El uso principal de esta API es poder obtener toda la información de un usuario segmentada por hit.

Con la API de Google Analytics resumiremos todo esto en una sola tabla y podremos utilizar los correspondientes identificadores de cliente y sesión.

En esta entrada os explicaremos cómo descargar estos datos a través de R. De este modo, accederemos a información muy detallada y segmentada por hits, sin necesidad de utilizar Big Query u otra herramienta de pago. Así, una vez tengamos los datos se podrán transformar y utilizar para los análisis pertinentes.

Código en R

El primer paso para utilizar la librería de Google Analytics con el complemento del User Activity, será instalar y actualizar los paquetes necesarios. Para ello debemos ejecutar las siguientes líneas de código e instalar los paquetes necesarios:

remotes::install_github(«MarkEdmondson1234/googleAuthR»)

remotes::install_github(«MarkEdmondson1234/googleAnalyticsR»)

Una vez tengamos la librería cargada, el siguiente paso es permitir a la librería acceder a los datos, para ello, debemos utilizar una cuenta de servicio o crear un token con nuestro proyecto de Cloud.

Cuando tengamos acceso, podremos realizar nuestra consulta a la API. Una de las limitaciones de esta función es que sólo podemos realizar una consulta seleccionando aquellos usuarios que queramos estudiar a través de su clientID.

Por tanto, si quisiéramos consultar toda la trayectoria en la web de dos usuarios en un periodo de dos meses deberíamos ejecutar el siguiente código:

two_users <- ga_clientid_activity(c(“602150077.1558815528”, “1482602192.1569967085”),

                                  viewId = –, 

                                  date_range = c(«2019-05-01″,»2019-06-30»))

Donde el primer parámetro contiene los clientId de los usuarios, el segundo la vista en la que se encuentra la información de estos usuarios y, por último, las fechas que queremos consultar.

Consejo: Para conseguir los usuarios de forma masiva podemos hacer uso de la tabla del User Explorer o de Big Query, teniendo en cuenta que esas consultas serán mucho menos costosas ya que sólo pediríamos el clientId.

Resultados

Una vez hayamos ejecutado el código, two_users contendrá la información completa de estos dos usuarios en dos tablas.

La primera se trata de la información general de las sesiones que han realizado los usuarios que hemos consultado: device, platform, source…

View(two_users$sessions)

Sin embargo, la tabla que realmente nos puede interesar es aquella que incluye todos los hits, tanto la página, como los eventos o las custom Dimension:

En la imagen anterior sólo se muestran las primeras columnas en las que cada fila es un hit.

Esta tabla contiene un total de 26 columnas, entre ellas: customDimension, pagePath, ecommerce, goals o eventCategory.

Consejo: Las columnas de customDimension o ecommerce viene dada por una lista de listas. Para poder obtener una sola dimensión personalizada o algún dato en particular del ecommerce, se puede ejecutar el siguiente código:

dimension_1 = unlist(sapply(sapply(two_users_hits$customDimension, function(e) as.character(e[[1]]$`value`)), function(h) ifelse(is.null(h), 0, h)))

transactionId = unlist(sapply(two_users_hits$ecommerce, function(e) as.character(e$transaction)[1]))

Lo cual devuelve dos columnas que se pueden pegar, posteriormente, a la tabla principal.

Conclusiones

Si queremos la información histórica de un usuario segmentada por hits, esta API es muy valiosa. Se pueden obtener datos muy detallados y útiles para la realización de análisis más avanzados. Además, puede ser un sustituto parcial de herramientas de pago como Big Query.

Nos podemos encontrar ciertas limitaciones por la gran cantidad de llamadas a la API que se requieren para sacar un volumen considerable de datos. Además, no se pueden descargar todos los usuarios de un periodo, sino que se tienes que seleccionar individualmente.

Para indagar un poco más y sacar el mayor partido posible a la API desde R se puede consultar este Post de Mark Edmonson en el que desarrolla un poco más las capacidades de esta herramienta:

https://code.markedmondson.me/googleAnalyticsR/articles/user-activity.html

Maria Mestres

Maria Mestres

Share on facebook
Share on twitter
Share on linkedin
Share on email
3 min
Suscríbete a nuestra newsletter

Los mejores artículos de analítica digital para potenciar tu negocio.

Dejar un comentario

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

Entradas relacionadas

Jupyter Notebook

Jupyter Notebook es una aplicación web de código abierto que permite incluir texto, vídeo, audio e imágenes.

4 minutos

Dificultad

Cómo integrar KNIME con R

Integrar KNIME con R nos permite construir flujos de análisis de datos fácilmente comprensibles.

2 minutos

Dificultad

Ir arriba

Esta web utiliza ‘cookies’ de terceros. Al clicar aceptar está aceptando el uso que realizamos de las cookies. Para más información puede consultar nuestra Política de cookies