La calculadora ROI de Compara Carreras ahora captura automáticamente todos los datos ingresados por los usuarios y los envía a Google Analytics 4 para análisis posterior. Esto permite entender el comportamiento de los usuarios, identificar carreras faltantes, y tomar decisiones basadas en datos.
Cada vez que un usuario completa un cálculo en la calculadora ROI, se envía un evento a Google Analytics 4 con 12 parámetros personalizados:
| Campo | Descripción | Valores Posibles | Ejemplo |
|---|---|---|---|
education_level |
Nivel educativo | "Licenciatura", "Carrera_técnica" | "Licenciatura" |
university_type |
Tipo de universidad | "Pública", "Privada" | "Pública" |
career_name |
Carrera seleccionada | Nombre de carrera o "Otro (carrera no listada)" | "Administración" |
custom_career_name |
Carrera personalizada | Texto libre o null | "Ingeniería en IA" |
is_custom_career |
¿Seleccionó "Otro"? | true, false | false |
plan_unit |
División del plan | "Semestres", "Cuatrimestres", "Trimestres", "Años" | "Cuatrimestres" |
periods |
Número de períodos | 1-15 | 9 |
| Campo | Descripción | Formato | Ejemplo |
|---|---|---|---|
cost_per_period |
Costo por período | Número entero | 15000 |
total_cost |
Costo total | Número entero | 135000 |
| Campo | Descripción | Formato | Ejemplo |
|---|---|---|---|
months_to_recover |
Meses para recuperar inversión | Decimal (1 decimal) | 12.5 |
rsi_percentage |
RSI en porcentaje | Decimal (1 decimal) | 8.5 |
| Campo | Descripción | Formato | Ejemplo |
|---|---|---|---|
timestamp |
Fecha y hora del cálculo | ISO 8601 | "2025-11-24T17:30:00.000Z" |
Los datos se envían a tu propiedad de Google Analytics 4 configurada en el proyecto:
- Measurement ID:
G-J7CL260VSJ - GTM Container:
GTM-TJM2GX3X
Google Analytics 4
└── Propiedad: Compara Carreras
└── Eventos
└── roi_calculation
├── education_level
├── university_type
├── career_name
├── custom_career_name
├── is_custom_career
├── plan_unit
├── periods
├── cost_per_period
├── total_cost
├── months_to_recover
├── rsi_percentage
└── timestamp
Ruta: Reports → Real-time
Qué verás:
- Eventos
roi_calculationapareciendo en tiempo real - Conteo de eventos activos
- Usuarios activos en la calculadora
Cuándo usarlo:
- Verificar que el tracking funciona después de publicar
- Monitorear actividad en vivo durante campañas
- Debug de problemas de tracking
Limitación: Solo muestra datos de los últimos 30 minutos
Ruta: Reports → Engagement → Events
Qué verás:
- Lista de todos los eventos
roi_calculationcon conteo total- Tendencia temporal de eventos
Cuándo usarlo:
- Ver volumen total de cálculos
- Comparar con otros eventos del sitio
- Identificar picos de uso
Limitación: Sin configurar Custom Dimensions, solo verás el conteo, no los parámetros
Ruta: Explore → Create exploration
Qué verás (después de configurar):
- Carreras más consultadas
- Costos promedio por tipo de universidad
- Distribución de períodos de estudio
- Top de carreras personalizadas
- RSI promedio por carrera
Cuándo usarlo:
- Análisis profundo de datos
- Identificar carreras faltantes
- Tomar decisiones de producto
Requisito: Configurar Custom Dimensions (ver sección siguiente)
Ruta: Admin → BigQuery Links
Qué verás:
- Todos los eventos exportados a BigQuery
- Posibilidad de hacer queries SQL complejas
- Integración con herramientas de BI
Cuándo usarlo:
- Análisis muy complejos
- Machine learning sobre los datos
- Integración con otros sistemas
Costo: Gratis hasta 10GB/mes, luego pago por uso
Para poder ver los parámetros en reportes, debes crear Custom Dimensions:
Ruta: Admin → Data display → Custom definitions → Create custom dimension
Dimensiones a crear (6 en total):
-
Education Level
- Event parameter:
education_level - Scope: Event
- Event parameter:
-
University Type
- Event parameter:
university_type - Scope: Event
- Event parameter:
-
Career Name
- Event parameter:
career_name - Scope: Event
- Event parameter:
-
Custom Career Name
- Event parameter:
custom_career_name - Scope: Event
- Event parameter:
-
Is Custom Career
- Event parameter:
is_custom_career - Scope: Event
- Event parameter:
-
Plan Unit
- Event parameter:
plan_unit - Scope: Event
- Event parameter:
Ruta: Admin → Data display → Custom definitions → Create custom metric
Métricas a crear (5 en total):
-
Periods
- Event parameter:
periods - Unit: Standard
- Event parameter:
-
Cost Per Period
- Event parameter:
cost_per_period - Unit: Currency
- Event parameter:
-
Total Cost
- Event parameter:
total_cost - Unit: Currency
- Event parameter:
-
Months to Recover
- Event parameter:
months_to_recover - Unit: Standard
- Event parameter:
-
RSI Percentage
- Event parameter:
rsi_percentage - Unit: Standard
- Event parameter:
⏱️ Tiempo de activación: 24-48 horas después de crear las dimensiones/métricas
Configuración:
- Dimensión: Career Name
- Métrica: Event count
- Filtro: is_custom_career = false
- Ordenar: Event count DESC
- Límite: 10
Pregunta que responde: ¿Qué carreras consultan más los usuarios?
Configuración:
- Dimensión: Custom Career Name
- Métrica: Event count
- Filtro: is_custom_career = true AND custom_career_name != "No especificado"
- Ordenar: Event count DESC
- Límite: 20
Pregunta que responde: ¿Qué carreras debemos agregar a nuestra lista?
Acción: Agregar las carreras con >10 solicitudes
Configuración:
- Dimensión: University Type
- Métrica: Total Cost (average)
- Filtro: Event name = roi_calculation
Pregunta que responde: ¿Cuánto cuesta estudiar en pública vs privada?
Configuración:
- Dimensión: Career Name
- Métrica: RSI Percentage (average)
- Filtro: is_custom_career = false AND rsi_percentage is not null
- Ordenar: RSI Percentage DESC
Pregunta que responde: ¿Qué carreras tienen mejor retorno de inversión?
Configuración:
- Dimensión: Periods
- Métrica: Event count
- Visualización: Bar chart
Pregunta que responde: ¿Cuántos períodos suelen durar las carreras consultadas?
- Ve a analytics.google.com
- Selecciona la propiedad "Compara Carreras"
- Navega a la sección correspondiente (Real-time, Events, Explore)
// Ejemplo de consulta programática
const { BetaAnalyticsDataClient } = require('@google-analytics/data');
const analyticsDataClient = new BetaAnalyticsDataClient();
const [response] = await analyticsDataClient.runReport({
property: `properties/YOUR_PROPERTY_ID`,
dateRanges: [{ startDate: '30daysAgo', endDate: 'today' }],
dimensions: [{ name: 'customEvent:career_name' }],
metrics: [{ name: 'eventCount' }],
dimensionFilter: {
filter: {
fieldName: 'eventName',
stringFilter: { value: 'roi_calculation' }
}
}
});- En GA4:
Explore → Create exploration - Configura tu reporte
- Click en
Share→Download file→Google Sheets - Se creará una hoja de cálculo con los datos
SELECT
(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'career_name') AS career,
COUNT(*) AS total_calculations,
AVG(CAST((SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'total_cost') AS FLOAT64)) AS avg_cost
FROM `project.dataset.events_*`
WHERE event_name = 'roi_calculation'
AND _TABLE_SUFFIX BETWEEN '20250101' AND '20251231'
GROUP BY career
ORDER BY total_calculations DESC
LIMIT 20- ✅ Selecciones del formulario (nivel, tipo, carrera, etc.)
- ✅ Valores numéricos ingresados (períodos, costos)
- ✅ Resultados calculados (ROI, meses)
- ✅ Timestamp del evento
- ❌ Información personal identificable (nombre, email, teléfono)
- ❌ Dirección IP (anonimizada por GA4)
- ❌ Datos sensibles
- 🌍 Ubicación geográfica (país, ciudad)
- 📱 Dispositivo y navegador
- 🔗 Fuente de tráfico
- ⏱️ Tiempo en página
- ✅ Compatible con GDPR (si se configura correctamente)
- ✅ Sin datos personales identificables
⚠️ Considera agregar aviso de cookies si es requerido en tu jurisdicción
Usuario completa formulario
↓
Click en "Calcular"
↓
handleCalculate() ejecuta cálculos
↓
trackRoiCalculation() envía datos
↓
window.gtag() (Google Tag Manager)
↓
Google Analytics 4 Servers
↓
┌───────────────────────────────┐
│ Almacenamiento en GA4 │
│ - Real-time (30 min) │
│ - Events (permanente) │
│ - BigQuery (opcional) │
└───────────────────────────────┘
↓
Visualización en Reportes
Soluciones:
- Verifica que el código esté publicado en producción
- Abre DevTools (F12) → Console → busca errores
- Verifica que
window.gtagexista en la consola - Usa Google Analytics Debugger
Causa: No has configurado Custom Dimensions
Solución:
- Crea las Custom Dimensions (ver sección "Configuración Requerida")
- Espera 24-48 horas
- Los parámetros aparecerán en reportes
Soluciones:
- Verifica que hayas esperado 24-48 horas
- Verifica que el
Event parameteresté escrito exactamente igual - Verifica que
ScopeseaEvent(noUser) - Recrea la dimensión si es necesario
- Código de tracking implementado
- Build exitoso sin errores
- Código publicado en producción
- Verificado en Real-Time que eventos se capturan
- Custom Dimensions creadas en GA4
- Custom Metrics creadas en GA4
- Esperado 24-48 horas
- Primer reporte de prueba creado
- Dashboard ejecutivo configurado
- Equipo capacitado en uso de reportes
- Publicar código → Los datos empezarán a capturarse inmediatamente
- Configurar Custom Dimensions → 15 minutos de trabajo
- Esperar 24-48 horas → Las dimensiones se activan
- Crear primer reporte → Verificar que todo funciona
- Configurar alertas → Notificaciones de picos de uso
- Exportar datos semanalmente → Análisis de carreras faltantes
- Actualizar lista de carreras → Agregar las más solicitadas
Última actualización: 2025-11-24 Versión: 1.0 Autor: Equipo IMCO - Compara Carreras