Qué está pasando probablemente
No hay recarga real
React/Next/Vue pueden cambiar URL con History API sin disparar page load.
Enhanced Measurement duplica
Si GA4 y GTM miden cambios de historial a la vez, puedes duplicar pageviews.
page_location no se actualiza
El evento puede disparar con URL anterior si no actualizas config.
Consent o GTM bloquea
El tag puede no disparar por consentimiento o triggers mal filtrados.
Cómo comprobarlo sin romper nada
Navega en Preview de GTM y mira History Change.
Comprueba DebugView tras cada ruta.
Revisa si Enhanced Measurement mide page changes.
Valida page_location y page_title enviados.
Evita doble page_view inicial.
Comprueba consentimiento antes/después.
Cómo lo resolvería paso a paso
Define una sola estrategia
O Enhanced Measurement o GTM controlado, pero sin doble medición.
Usa History Change
En GTM, dispara page_view cuando cambia la ruta SPA.
Actualiza parámetros
page_location y page_title deben reflejar la ruta nueva.
Verifica antes de publicar
DebugView y Realtime deben mostrar rutas correctas sin duplicados.
Si se vuelve técnico
Puedes seguir esta ruta por tu cuenta. Si al comprobarlo aparece una discrepancia rara, una configuración de tracking delicada, una decisión de puja con riesgo o un bloqueo que requiere acceso a la cuenta, Lia guarda este contexto y te lleva a CreatikLab para continuar sin empezar desde cero.
Llevar este contexto a LiaQué no haría
Medir SPA como web clásica.
Dejar Enhanced Measurement y GTM duplicados.
No revisar page_referrer.
No probar rutas internas.
Preguntas frecuentes
¿Next.js necesita medición SPA?
Depende del routing y del setup. Si las transiciones no recargan documento, conviene validar pageviews virtuales.
¿History Change siempre basta?
Es la base, pero a veces necesitas lógica adicional para títulos, referrer o rutas excluidas.