Cómo hacer una copia de seguridad de sus datos de Universal Analytics en BigQuery con R
Publicado: 2023-09-26Universal Analytics (UA) finalmente ha desaparecido y nuestros datos ahora fluyen libremente hacia nuestras propiedades de Google Analytics 4 (GA4). Puede resultar tentador no volver a mirar nuestras configuraciones de UA; sin embargo, antes de dejar atrás la UA, es importante que almacenemos los datos que ya ha procesado, en caso de que necesitemos analizarlos en el futuro. Para almacenar sus datos, por supuesto recomendamos BigQuery, el servicio de almacenamiento de datos de Google, y en este blog le mostraremos qué datos respaldar desde UA y cómo hacerlo.
Para descargar nuestros datos, vamos a hacer uso de la API de Google Analytics. Vamos a escribir un script que descargará los datos necesarios de UA y los subirá a BigQuery, todo a la vez. Para esta tarea, recomendamos encarecidamente utilizar R, ya que los paquetes googleAnalyticsR y bigQueryR hacen que este trabajo sea muy sencillo, ¡y hemos escrito nuestro tutorial para R por este motivo!
Esta guía no cubrirá los pasos más complejos para configurar la autenticación, como descargar su archivo de credenciales. Para obtener información sobre esto y más información sobre cómo cargar datos en BigQuery, consulta nuestro blog sobre cómo cargar datos en BigQuery desde R y Python.
Copia de seguridad de sus datos UA con R
Como es habitual en cualquier script R, el primer paso es cargar nuestras bibliotecas. Para este script necesitaremos lo siguiente:
biblioteca (googleAuthR)
biblioteca (googleAnalyticsR)
biblioteca (bigQueryR)
Si no ha utilizado estas bibliotecas antes, ejecute install.packages(<NOMBRE DEL PAQUETE>) en la consola para instalarlas.
Luego necesitaremos ordenar todas nuestras autorizaciones. Para hacer esto, querrás ejecutar el siguiente código y seguir las instrucciones que te den:
googleAuthR::gar_cache_empty()
googleAuthR::gar_set_client(“C:\\Usuarios\\Tom Brown\\Documentos\\R\\APIs\\credentials.json”)
bqr_auth(correo electrónico = “<tu correo electrónico aquí>”)
ga_id <- <TU GA VER ID AQUÍ>
El ga_id se puede encontrar debajo del nombre de la vista cuando la selecciona en UA, como se muestra a continuación:
A continuación, tenemos que decidir qué datos tomar realmente de UA. Recomendamos tirar de lo siguiente:
| Dimensiones con ámbito de sesión | Dimensiones con alcance de evento | Dimensiones con ámbito de vista de página |
| Identificación del cliente | Identificación del cliente | Ruta de la página |
| Marca de tiempo | Marca de tiempo | Marca de tiempo |
| Fuente / Medio | Categoría de evento | Fuente / Medio |
| Categoría de dispositivo | Acción del evento | Categoría de dispositivo |
| Campaña | Etiqueta de evento | Campaña |
| Agrupación de canales | Fuente / Medio | Agrupación de canales |
| Campaña |
Ponerlos en tres tablas en BigQuery debería ser suficiente para todas sus posibles necesidades futuras de datos de UA. Para extraer estos datos de UA, primero deberá especificar un rango de fechas. Ingrese a la plataforma UA y eche un vistazo a uno de sus informes para ver cuándo comenzó la recopilación de datos. Luego, especifique un rango de fechas que se ejecute desde ese momento hasta el día anterior a ejecutar el script, que es el último día para el que tendrá 24 horas completas de datos (y si hace esto después de que UA haya sido sunset, incluirá el 100% de los datos disponibles de todos modos). Nuestra recopilación de datos comenzó en mayo de 2017, así que escribí:

fechas <- c(“2017-05-01”, Sys.Date()-1)
Ahora, debemos especificar qué se debe extraer de UA de acuerdo con la tabla anterior. Para ello necesitaremos ejecutar el método google_analytics() tres veces, ya que no se pueden consultar dimensiones de diferentes ámbitos juntas. Puedes copiar el siguiente código exactamente:
sesionespull <- google_analytics(ga_id,
rango_fechas = fechas,
métricas = c(“sesiones”),
dimensiones = c(“clienteId”, “fechaHoraMinuto”,
“fuenteMedio”, “categoría de dispositivo”, “campaña”, “agrupación de canales”),
anti_muestra = VERDADERO)
eventospull <- google_analytics(ga_id,
rango_fechas = fechas,
métricas = c(“totalEvents”, “eventValue”),
dimensiones = c(“clientId”, “dateHourMinute”, “eventCategory”, “eventAction”, “eventLabel”, “sourceMedium”, “campaña”),
anti_muestra = VERDADERO)
pvpull <- google_analytics(ga_id,
rango_fechas = fechas,
métricas = c(“páginas vistas”),
dimensiones = c(“pagePath”, “dateHourMinute”, “sourceMedium”, “deviceCategory”, “campaign”, “channelGrouping”),
anti_muestra = VERDADERO)
Esto debería colocar claramente todos sus datos en tres marcos de datos titulados sessionpull para las dimensiones con alcance de sesión, eventspull para las dimensiones con alcance de evento y pvpull para las dimensiones con alcance de página vista.
Ahora necesitamos cargar los datos en BigQuery, cuyo código debería verse así, repetido tres veces para cada marco de datos:
bqr_upload_data(“<su proyecto>”, “<su conjunto de datos>”, “<su tabla>”, <su marco de datos>)
En mi caso, esto significa que mi código dice:
bqr_upload_data(“mi-proyecto”, “prueba2”, “bloguploadRSess”, sesionespull)
bqr_upload_data(“mi-proyecto”, “prueba2”, “bloguploadREvent”, eventspull)
bqr_upload_data(“mi-proyecto”, “prueba2”, “bloguploadRpv”, pvpull)
Una vez que todo esto esté escrito, puede configurar su script para que se ejecute, sentarse y relajarse. Una vez hecho esto, podrás dirigirte a BigQuery y deberías ver todos tus datos donde pertenecen ahora.
Con sus datos UA guardados de forma segura para un día lluvioso, puede concentrarse por completo en maximizar el potencial de su configuración GA4, ¡y Semetrical está aquí para ayudarlo con eso! Consulte nuestro blog para obtener más información sobre cómo aprovechar al máximo sus datos. O, para obtener más ayuda en todo lo relacionado con el análisis, consulte nuestros servicios de análisis web para descubrir cómo podemos ayudarlo.
