Luis Mendoza

Reporte simulado GA4 + BigQuery + Power BI

Reporte simulado GA4 + BigQuery + Power BI
Power BI Report
Report powered by Power BI

Click para visualizar reporte

El objetivo de este proyecto fue construir un dashboard completo en Power BI, basado en datos públicos de GA4, que permita analizar cómo los usuarios interactúan con un sitio web desde múltiples dimensiones: adquisición, comportamiento, engagement y conversión.

Todos los datos utilizados en este proyecto son públicos y sintéticos, provistos por Google como dataset de ejemplo para GA4.

Objetivo del proyecto

Simular un entorno real de análisis de comportamiento digital, desarrollando un reporte completo que permita:

  • Medir volumen de usuarios, sesiones y eventos.
  • Analizar fuentes de adquisición y canales de conversión.
  • Visualizar niveles de engagement, conversiones y revenue.
  • Segmentar audiencias por género, país o canal.
  • Identificar eventos clave del recorrido del usuario.

Estructura del reporte

Diseñé el dashboard en formato multipágina, con navegación tipo app en Power BI Desktop. Cada página responde a una necesidad específica de análisis:

1. Home

La página principal brinda una visión general de KPIs como:

  • Usuarios totales (y su variación frente al periodo anterior)
  • Total de eventos y sesiones
  • Conversiones
  • Distribución de género
  • Actividad por país y eventos más frecuentes

Es ideal para stakeholders que quieren una vista rápida del rendimiento general.


2. Report Snapshot

Aquí se sintetiza:

  • Nuevos usuarios por canal (organic, referral, cpc, etc.)
  • Nivel de engagement promedio
  • Revenue generado
  • Comparativas temporales

Una vista útil para equipos de marketing o adquisición, con foco en crecimiento y monetización.


3. User Acquisition

Analiza en detalle cómo llegan los usuarios al sitio:

  • Nuevos usuarios por canal a lo largo del tiempo
  • Tasa de engagement por canal
  • Conversión y revenue por tipo de tráfico

La estructura permite detectar qué fuentes traen usuarios más comprometidos, no solo mayor volumen.


4. Events

Explora la actividad interna del usuario en el sitio:

  • Eventos clave (page_view, user_engagement, add_to_cart, purchase)
  • Evolución temporal
  • Conteo por usuario y revenue asociado

Pensado para equipos de producto y optimización de conversión (CRO).


5. Demographic

Visualiza la distribución de usuarios por país, incluyendo:

  • Nuevos usuarios
  • Sesiones comprometidas
  • Tiempo promedio de interacción
  • Conversiones y revenue por región

Clave para pensar en expansión geográfica, localización de contenidos o campañas regionales.


Tecnología y enfoque técnico

  • Fuente de datos: Google BigQuery (dataset público de GA4)
  • Transformación: consultas SQL exportadas a Power BI con modelado en Power Query
  • Visualización: Power BI Desktop con navegación por secciones, bookmarks y diseño responsive
  • Diseño: visuales personalizados y convenciones de storytelling visual para facilitar lectura

Modelo de datos

El modelo de datos se construyó con una estructura en estrella, pensada para análisis web multicapas, eficiente y escalable. Las tablas de hechos y dimensiones se organizaron así:

  • FactEvents: tabla central de eventos del usuario (visitas, clics, compras, etc.) con contexto de canal, país, dispositivo, evento y revenue.
  • FactEngagement: mide interacciones agregadas por usuario y fecha.
  • DimUsers: contiene atributos del usuario (como género), conectado por user_pseudo_id.
  • DimFecha: calendario referencial que permite análisis temporal cruzado.

La combinación de estas tablas permite comparaciones entre periodos, segmentación dinámica, y análisis detallado sin comprometer rendimiento.


Medidas DAX utilizadas (algunas destacadas)

A continuación, se listan algunas de las medidas clave implementadas para calcular usuarios únicos, engagement promedio y variaciones entre periodos:

_Users = 
CALCULATE(
    DISTINCTCOUNT(FactEvents[user_pseudo_id]),
    REMOVEFILTERS('DimFecha'),
    FILTER(
        ALLSELECTED('DimFecha'),
        'DimFecha'[Date] >= MIN('DimFecha'[Date]) &&
        'DimFecha'[Date] <= MAX('DimFecha'[Date])
    )
)

_Users_PreviousPeriod_Shifted = 
VAR DiasSeleccionados = 
    CALCULATE(
        COUNTROWS(VALUES('DimFecha'[Date])),
        ALLSELECTED('DimFecha')
    )
VAR FechaMinActual = 
    CALCULATE(
        MIN('DimFecha'[Date]),
        ALLSELECTED('DimFecha')
    )
VAR FechaDisponibleMin = 
    CALCULATE(
        MIN('DimFecha'[Date]),
        ALL('DimFecha')
    )
VAR FechaInicioPrev = FechaMinActual - DiasSeleccionados

RETURN
IF(
    FechaInicioPrev >= FechaDisponibleMin,
    CALCULATE(
        [_Users],
        DATEADD('DimFecha'[Date], -DiasSeleccionados, DAY)
    ),
    BLANK()
)

_users_VariacionPct = 
VAR Actual = [_Users]
VAR Anterior = [_Users_PreviousPeriod_Shifted]
RETURN
    IF(
        NOT ISBLANK(Anterior),
        DIVIDE(Actual - Anterior, Anterior),
        BLANK()
    )

_Average_Engagement_PrevPeriod = 
VAR DiasFiltrados =
    COUNTROWS(VALUES(DimFecha[Date]))
VAR FechaMin = MIN(DimFecha[Date])
VAR FechaDisponibleMin = CALCULATE(MIN(DimFecha[Date]), ALL(DimFecha))
VAR PeriodoInicioAnterior = FechaMin - DiasFiltrados

RETURN
IF(
    PeriodoInicioAnterior >= FechaDisponibleMin,
    CALCULATE(
        [_AVG_Engagement_time],
        FILTER(
            ALL(DimFecha),
            DimFecha[Date] >= PeriodoInicioAnterior &&
            DimFecha[Date] < FechaMin
        )
    ),
    BLANK()
)

_average_engagement_VariacionPct = 
VAR Actual = [_AVG_Engagement_time]
VAR Anterior = [_Average_Engagement_PrevPeriod]
RETURN
    IF(
        NOT ISBLANK(Anterior),
        DIVIDE(Actual - Anterior, Anterior),
        BLANK()
    )

Estas medidas permitieron construir comparaciones dinámicas y automatizadas entre periodos, esenciales para visualizar impacto real de acciones de marketing o cambios de producto.


Aprendizajes clave

  • La estructura multipágina permite desacoplar audiencias: cada stakeholder accede a la parte que necesita sin sobrecarga.
  • Los datos de GA4 tienen gran granularidad; seleccionar las métricas correctas es tan importante como visualizarlas bien.
  • Power BI se integra fluidamente con BigQuery, incluso en escenarios complejos.

Cierre

Este proyecto simula un caso real de monitoreo digital, usando datos sintéticos pero con estructura, lógica y visualización aplicables al mundo real.
Desde la adquisición hasta la conversión, pasando por eventos y engagement, el dashboard permite responder las preguntas que un equipo de producto, marketing o analítica debería estar haciéndose.

About the author

Escríbeme

¿Tienes alguna consulta, propuesta o solo quieres saludar? No dudes en escribirme.

¡Genial! Te has inscrito con éxito.

Bienvenido de nuevo! Has iniciado sesión correctamente.

Te has suscrito correctamente a Luis Mendoza.

¡Éxito! Comprueba en tu correo electrónico el enlace mágico para iniciar sesión.

Éxito! Su información de facturación ha sido actualizada.

Su facturación no se actualizó.