Saltar al contenido

Google Analytics 4

Cómo usar la API de Google Analytics 4. Configuración y ejemplo

En este post te mostramos una manera muy sencilla de poder usar la la API de Google Analytics 4 y poder extraer información sin necesidad de usar la…

Por Fernando Lens · Actualizado el

En este post te mostramos una manera muy sencilla de poder** usar la la API de Google Analytics 4 y poder extraer información sin necesidad de usar la interfaz de GA4 u otros métodos.**

Para este tutorial utilizaremos Google Colab ya que es la opción más sencilla, creeme, de gestionar el código python necesario para hacer las llamadas a la API.

No es necesario que sepas programar para poder hacer tus primeras llamadas a la API, te lo aseguro.

Banner con el texto «Obtén una auditoría de analítica gratuita ahora» y el botón «Solicítala ya», junto a una ilustración de gráficos de tarta, de líneas y de barras

Si preferís ver las instrucciones en vídeo lo podéis ver a continuación.

https://www.youtube.com/watch?v=2lDtVt9khyo

Requisitos necesarios para poder usar la Api de Google Analytics 4

Crear una cuenta de servicio de Google Cloud

Lo primero de todo que vas a necesitar es una cuenta de servicio de Google Clo****ud.

Obtenerla es super sencillo, puedes hacerlo desde Google Cloud. O seguir los pasos desde la guía de inicio rápido de la documentación oficial de la API de GA4. Es el paso que te recomiendo.

habilitar la api directamente

Si haces clic en ese botón se te creará la cuenta de servicio directamente desde la cuenta de gmail en al que estés.

Se te generará una cuenta como esta: [email protected]

También se te descargarán los credenciales en formato Json. Este archivo es super importante así que guárdalo en tu google drive

Añadir cuenta de servicio de Google Cloud a la cuenta de Google Analytics 4

Este paso es imprescindible también. Debes añadir la cuenta que se te ha creado desde Google Cloud a la cuenta de GA4 desde la que quieres usar la API.

acceso cuentas ga4

Desde Administrar > Gestión de accesos a la cuenta > añadiremos un nuevo usuario con permiso de editor y la cuenta que hemos generado en el paso anterior. Es una cuenta similar a esta:

[email protected]

añadir roles a usuarios ga4

Configurar Google Colab

Para comenzar a configurar el Google Colab tan sólo debes abrir un nuevo archivo y empezar a pegar los siguientes códigos que te comparto a continuación. El texto que empieza por # es comentario. No ejecuta nada.

instalar libreria

Documentación oficial: https://developers.google.com/analytics/devguides/reporting/data/v1/quickstart-client-libraries#python # Info sobre dimensiones y métricas: https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema

Instalar primero este módulo !pip install google-analytics-data

importar modulos

A continuación importarás estos módulos.

Importar estos módulos

from google.analytics.data_v1beta import BetaAnalyticsDataClient from google.analytics.data_v1beta.types import ( DateRange, Dimension, Metric, RunReportRequest, ) from google.oauth2 import service_account from google.protobuf.json_format import MessageToDict import pandas as pd import os from google.colab import drive

dar permiso

Lo siguiente es dar permiso a Google Colab para acceder a tu Google Drive

Permiso para acceder Crear carpetas en drive.

drive.mount(‘/content/drive’)os.listdir(’./drive/MyDrive’) listar contenido carpeta

Con este código podemos ver lo que hay en la carpeta

Listar contenido de la carpeta

os.listdir(’./drive/MyDrive/nombrecarpeta’)

guardar credenciales y propiedad

Lo siguiente será añadir este código donde se guardan como variables tanto las credenciales en Json como el Id de la propiedad de Google Analytics 4. Recordad que tenéis que sustituir el código que os paso , por vuestros datos

Añadimos credenciales (json que hemos descargado) y el id de la propiedad en GA4

credentials = service_account.Credentials.from_service_account_file(‘.tu ruta de drive donde están las credencias’)client = BetaAnalyticsDataClient(credentials=credentials)property_id=“tu id” request de la api de ga4

El siguiente paso es hacer el request a la api para extraer los datos.

Aquí tendremos que indicar qué dimensiones, métricas , fechas y filtros queremos extraer.

Te recomiendo consultar el enlace oficial para saber el nombre de las dimensiones en la API ya que no es el mismo que en la interfaz.

El código es:

Extraemos datos de la api

request = RunReportRequest( property=f”properties/{property_id}”, dimensions=[Dimension(name=“city”), Dimension(name=“country”)], metrics=[Metric(name=“activeUsers”), Metric(name=“sessions”)], date_ranges=[DateRange(start_date=“2024-03-31”, end_date=“today”)], )

response = client.run_report(request) response

convertir a tablas

Para transformar el código en una tabla usaremos esto;

Convertimos los datos en tablas

def ga4_result_to_df(response):"""Original: print_run_report_response: Prints results of a runReport call. v2.1 changed by Bram to create DataFrame"""result_dict = {}for dimensionHeader in response.dimension_headers:result_dict[dimensionHeader.name] = []for metricHeader in response.metric_headers:result_dict[metricHeader.name] = []for rowIdx, row inenumerate(response.rows):for i, dimension_value inenumerate(row.dimension_values):dimension_name = response.dimension_headers[i].nameresult_dict[dimension_name].append(dimension_value.value)for i, metric_value inenumerate(row.metric_values):metric_name = response.metric_headers[i].nameresult_dict[metric_name].append(metric_value.value)return pd.DataFrame(result_dict)

df = ga4_result_to_df(response)df El resultado que genere tendría que ser una tabla similar a esta pero con tus valores. ejemplo de tabla

Por último, para extraer todos estos datos a una hoja de excel podemos utilizar el siguiente código:

Exportamos los datos a un excel dentro de la misma carpeta que el json de credenciales

df.to_excel(’./drive/MyDrive/GA4-API-PLANTILLA/GA4_Excel.xlsx’)

ejemplo de tabla

Y ya lo tienes. Ahora sólo tienes que practicar e investigar con el resto de dimensiones y métricas.

Cuéntanos qué necesitas. Te respondemos en menos de un día.