Skip to main content
Las aplicaciones de una sola página (SPA) tienen un ciclo de vida distinto al de los sitios multipágina. El navegador no recarga del todo al navegar, así que el 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 un pageview. 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)
  • autoPageview solo se dispara en esa primera carga
  • Debes disparar manualmente un evento pageview en cada cambio de ruta

Reglas generales para cualquier SPA

  1. 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
  2. Llama a scanova('init', ...) una sola vez, en el punto de entrada de tu aplicación
  3. Desactiva autoPageview y gestiona tú los eventos de vista de página al cambiar de ruta
  4. 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:
Añade el cargador del SDK a pages/_document.tsx:

Vue 3 (Vue Router)

index.html: carga el SDK:
src/main.ts:

Errores habituales