Skip to main content
Single-Page-Apps (SPAs) haben einen anderen Seitenlebenszyklus als klassische mehrseitige Websites. Der Browser lädt bei der Navigation nicht vollständig neu, sodass das übliche autoPageview nur einmal auslöst — beim ersten Laden. Dieser Leitfaden zeigt, wie Sie das Tracking in React, Next.js und Vue richtig umsetzen.

Der entscheidende Unterschied bei SPAs

Auf einer klassischen Website löst jede Navigation einen vollständigen Neuaufbau aus, der das SDK erneut ausführt und ein pageview sendet. In einer SPA:
  • Die Seite lädt einmal
  • Alle weiteren Navigationen laufen über JavaScript (die URL ändert sich, die Seite lädt nicht neu)
  • autoPageview löst nur bei diesem ersten Laden aus
  • Sie müssen bei jedem Routenwechsel selbst ein pageview-Ereignis auslösen

Allgemeine Regeln für alle SPAs

  1. Laden Sie das SDK-Snippet einmal — in Ihrer Root-HTML-Datei oder Root-Komponente, nicht in jeder Seiten- oder Routen-Komponente
  2. Rufen Sie scanova('init', ...) einmal auf — im Einstiegspunkt Ihrer Anwendung
  3. Deaktivieren Sie autoPageview — steuern Sie Seitenaufruf-Ereignisse bei Routenwechseln selbst
  4. Lösen Sie bei jedem Routenwechsel scanova('track', 'pageview') aus — über das Navigationsereignis oder den Hook Ihres Routers

React (Create React App / Vite)

public/index.html — SDK laden:
src/main.jsx oder src/App.jsx — einmal initialisieren und Routenwechsel erfassen:

Next.js (App Router)

Verwenden Sie im App Router von Next.js eine Client-Komponente in Ihrem Root-Layout. app/layout.tsx:
components/ScanovaTracker.tsx:

Next.js (Pages Router)

pages/_app.tsx:
Fügen Sie den SDK-Loader in pages/_document.tsx ein:

Vue 3 (Vue Router)

index.html — SDK laden:
src/main.ts:

Häufige Fehler