R Google Analytics: extracción de datos para analítica web en R

R es un software maravilloso para realizar análisis estadísticos. Y por su parte, Google Analytics es una herramienta poderosísima para realizar el tracking de una página web, con todo lujo de detalles. ¿Qué pasaría si pudiéramos unir ambos y realizar análisis estadísticos potentes de Google Analytics usando R? Pues se puede realizar, y es muy sencillo combinar ambas herramientas: R y Google Analytics. Nosotros hemos decidido llamar al conjunto R Google Analytics, y así comprenderemos lo sencillo que será extraer datos de la plataforma de Google y analizarlos usando R. Y todo ello sin que medie nada ni nadie entre ambos: es la conexión pura de R a Google Analytics.

De hecho, no es la única vez que hemos tratado Google Analytics en nuestro blog. También lo hemos tratado para incluir el código de seguimiento en libros creados con el paquete bookdown de R.

Quiero leer...

R Google Analytics en 5 pasos sencillos

Para realizar un Tracking Analytics, aparte de aprender a interpretarlos como se explica genialmente en esta entrada, tenemos que obtener los datos y extraerlos de Google Analytics. Obvio. Y para que todo el proceso sea efectivo, óptimo y tengamos la posibilidad de analizarlos usando R Google Analytics, hemos dividido el proceso en 5 pasos estructurados y ordenados.

1. Instalamos y cargamos el paquete de R devtools

El objetivo para poder realizar estadísticas con Google Analytics en R es descargarse los datos, por lo que entre los miles de paquetes que existen, necesitamos dos en concreto, que se llaman rga (que proviene del acrónimo precisamente de R Google Analytics) y skardhamar. Sin embargo, estos paquetes de R no están en los repositorios oficiales, sino en GitHub. Y para poder instalarlos provenientes de GitHub en R necesitamos tener instalado y cargado el paquete devtools. Para ello, ejecutamos en R los siguientes comandos, uno para instalar devtools, y otro para cargarlo en R.

[source lang="r"]
install.packages("devtools", dependencies=TRUE)
library(devtools)
[/source]

2. Instalamos y cargamos los paquetes de R rga y skardhamar

Como hemos mencionado en el paso anterior, hay que instalar, proveniente de GitHub, los paquetes rga (R Google Analytics) y skardhamar. Para ello, tenemos que ejecutar los siguientes dos comandos, aunque sólo carguemos en R el paquete rga (R Google Analytics).

[source lang="r"]
install_github("rga", "skardhamar")
library(rga)
[/source]

3. Realizamos la autenticación en Google Analytics para que se conecte con R

Ahora es cuando comenzamos a trastear con rga (R Google Analytics). Lo primero que hacemos es vincular R con nuestra cuenta de Google Analytics. Ejecutamos el siguiente comando dentro de la consola de R:

[source lang="r"]
rga.open(instance="ga")
[/source]

La ejecución de dicho comando nos abre el navegador, o una pestaña del mismo si ya estaba abierto, donde tenemos que dar permiso explícito a «R Google Analytics» para acceder a los datos de Google Analytics asociados a nuestra cuenta de usuario.

r-google-analytics-quiere-hacer-lo-siguiente-consulta-tus-datos-de-google-analytics

Posteriormente, al dar al botón Permitir nos envía a una página que contiene un código compuesto por letras, números y caracteres especiales. Copiamos el código mencionado y lo pegamos en la línea de comandos de R.

r google analytics

4. Seleccionamos la página de la que queremos obtener los datos de Google Analytics

Sólo cuando tenemos varias páginas en internet, tenemos que especificarle a R Google Analytics cuál es la página web de la que queremos obtener los datos. Y eso lo hacemos con el siguiente comando de R:

[source lang="r"]
ga$getProfiles()
[/source]

Al ejecutar dicho comando en la consola de R nos aparecerá un listado de las páginas que Google Analytics está analizando en nuestra cuenta.

ga-getprofiles

Tenemos que interpretar correctamente la imagen anterior, ya que en azul están ocualtas otras webs que estoy analizando. Hay que fijarse que la tabla tiene realmente 6 filas, 5 de ellas son las 5 webs que estoy analizando y la sexta es el título de las columnas. Habría 9 columnas, con los siguientes títulos: id, accountId, webPropertyId, name, currency, timezone, eCommerceTracking, websiteUrl, created, updated.

En amarillo están tapados los identificadores de la web que vamos a analizar, que es esta misma: Viva el Software Libre (www.vivaelsoftwarelibre.com). Como podemos observar está en la fila número 3.

Ahora nos tenemos que fijar en la primera columna, con el título id, que es el identificador de nuestra página web: 1*******3.

5. Realizamos una consulta en R a nuestros datos de Google Analytics

Ahora vamos a obtener, por fin, los primeros datos en R de nuestra página web en Google Analytics, para lo que recurrimos al siguiente comando:

[source lang="r"]
ga$getData()
[/source]

Este comando por sí solo nos da un error: Error in ga$getData() : please enter a profile id. Esto significa que este comando tiene que ir acompañado de información. Veamos un ejemplo para verlo en acción y de un modo más claro:

[source lang="r"]
ga$getData(1*******3,
start.date="2016-01-01",
end.date="2016-11-21",
metrics="ga:sessions,ga:bounceRate, ga:percentNewSessions,ga:avgSessionDuration",
dimensions="ga:yearMonthDay",
filters="ga:source==google",
segment="gaid::-5")
[/source]

Este código en conjunto nos devuelve los datos mensuales de sesiones, tasa de rebote, porcentajes de nuevas sesiones y duración media de la sesión de los primeros 11 meses de 2016.

Los datos que voy a mostrar son reales, y ciertamente, estoy muy contento de cómo está funcionando la página web desde que inicié este proyecto en febrero, de ahí que en enero no aparezca ningún dato.

datos-de-r-google-analytics-de-viva-el-software-libre

A continuación voy a describir los códigos uno por uno empleados en la consulta realizada en R Google Analytics:

  • id: en la primera línea debemos introducir nuestro id visto en el subapartado 4.
  • start.date: fecha de inicio de la consulta, con formato AAAA-MM-DD (año-mes-día).
  • end.date: fecha final de la consulta, con formato AAAA-MM-DD (año-mes-día).
  • metrics: métricas
  • dimensiones: se refiere al intervalo de tiempo del que quieres sacar los datos individuales. En nuestro caso queremos que sean meses (del 1 al 11, enero a noviembre).
  • filters: filtros. Le especificamos que sea sólo Google.
  • segment: segmento.

En entradas posteriores iremos desgranando los comandos uno a uno para hacer búsquedas específicas, pero de momento, con una introducción de cómo instalar y ejecutar algunos comandos del paquete rga (R Google Analytics) es suficiente. El potencial que existe de análisis estadístico es prácticamente infinito usando R.

Para resumir los comandos de R Google Analytics

A continuación veremos un resumen por orden de ejecución de los comandos del paquete rga (R Google Analytics), una vez ha sido instalado el mismo satisfactoriamente.

Comando rga Función
library(rga) Cargamos el paquete rga en R
rga.open(instance=”ga”) Conectamos R con Google Analytics
ga$getProfiles() Seleccionamos la página web
ga$getData() Obtenemos los datos requeridos
https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js (adsbygoogle = window.adsbygoogle || []).push({});

10 comentarios en «R Google Analytics: extracción de datos para analítica web en R»

  1. Hola Mario,

    Tenía ganas de buscar información sobre cómo importar datos en R de google analytics. Tengo un blog y me gustaría hacerlo algún día ¡Con este post sabré cómo hacerlo! Gracias

    Una pregunta, los datos que ves en la primera columna son sesiones ¿pero podrías extraer usuarios únicos en lugar de sesiones?

    ¡Gracias!

    Responder
    • Hola Jordi,
      Se puede buscar todo lo que quieras. Eso solo fue un ejemplo. Estoy ya preparando una entrada con muchos más detalles para hacer búsquedas específicas. Permanece a la espera!

      Responder
  2. Perdona mi ignorancia, soy nueva en R: ¿puedo hacer cualquier analisis de Google Analytics en R? Quiero decir, ¿puedo por ejemplo medir qué porcentaje de las conversiones se atribuyen a diferentes canales ? ¿Hace falta conocer la nomenclatura que usa la API de Google Analytics?

    Responder
  3. Hola
    cuando introduzco ga$getProfiles() me devuelve NULL
    ¿Cómo puedo hacer que me aparezca el listado de las paginas de Google Analitycs?

    Gracias

    Responder
  4. Hola, estoy en el paso 2 y me da el siguiente error
    > install_github(«rga», «skardhamar»)
    Error in parse_repo_spec(repo) : Invalid git repo specification: ‘rga’

    ¿Me puedes ayudar?
    Gracias

    Responder
  5. Tuve el mismo problema, pero en vez de copiar y pegar, o escribirlo directamente, lo busqué en el repositorio en la ventana inferior derecha, en Install … está en mayúsculas. install.packages(RGA)

    Responder

Deja un comentario