autoPageview estándar solo se dispara una vez, en la carga inicial. Esta guía explica cómo hacerlo bien en React, Next.js y Vue.
La diferencia clave en una SPA
En un sitio tradicional, cada navegación provoca una recarga completa que vuelve a ejecutar el SDK y dispara unpageview. En una SPA:
- La página se carga una vez
- Las navegaciones posteriores las gestiona JavaScript (la URL cambia, pero la página no se recarga)
autoPageviewsolo se dispara en esa primera carga- Debes disparar manualmente un evento
pageviewen cada cambio de ruta
Reglas generales para cualquier SPA
- Carga el snippet del SDK una sola vez, en tu HTML raíz o componente raíz, no en cada componente de página o ruta
- Llama a
scanova('init', ...)una sola vez, en el punto de entrada de tu aplicación - Desactiva
autoPageviewy gestiona tú los eventos de vista de página al cambiar de ruta - Dispara
scanova('track', 'pageview')en cada cambio de ruta, con el evento o hook de navegación de tu router
React (Create React App / Vite)
public/index.html: carga el SDK:
src/main.jsx o src/App.jsx: inicializa una vez y registra los cambios de ruta:
Next.js (App Router)
En el App Router de Next.js, usa un componente de cliente en tu layout raíz.app/layout.tsx:
components/ScanovaTracker.tsx:
Next.js (Pages Router)
pages/_app.tsx:
pages/_document.tsx:
Vue 3 (Vue Router)
index.html: carga el SDK:
src/main.ts: