> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scanova.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Browser-SDK prüfen und debuggen

> Prüfen, ob das Scanova-Browser-SDK korrekt installiert ist, Ereignisse gesendet werden und die Zuordnung greift — mit einer Schritt-für-Schritt-Prüfliste.

## Prüfliste

Nutzen Sie diese Prüfliste nach der Installation des Snippets, um sicherzustellen, dass alles funktioniert:

### 1. Netzwerkanfrage prüfen

1. Öffnen Sie Ihre Website in Chrome oder Firefox
2. Öffnen Sie die **DevTools** (F12 oder Rechtsklick → Untersuchen)
3. Wechseln Sie zum Tab **Network**
4. Filtern Sie nach `/ct`
5. Laden Sie die Seite hart neu (Strg+Umschalt+R / Cmd+Umschalt+R)

Sie sollten eine `POST`-Anfrage an `https://t.scanova.io/ct` mit Status `200` sehen.

### 2. Payload der Anfrage prüfen

Klicken Sie auf die `/ct`-Anfrage → Tab **Payload**. Prüfen Sie:

* `site_id` stimmt mit der ID Ihrer Tracking-Website im Dashboard überein
* `event_type` ist `pageview` (bei `autoPageview: true`)
* `scan_session_id` ist vorhanden (wenn Sie die Seite mit einem `?scnv=`-Parameter aufgerufen haben)

**Beispiel für ein gesundes Payload:**

```json theme={null}
{
  "event_id": "f9ac7db6-f900-4d8e-8918-c846834195a8",
  "site_id": "YOUR_SITE_ID",
  "event_type": "pageview",
  "scan_session_id": "7ad26d4f-3181-4ef8-b6ca-b8f59499dd43",
  "page_url": "https://yoursite.com/?scnv=7ad26d4f-3181-4ef8-b6ca-b8f59499dd43",
  "timestamp": "2026-05-13T10:00:00.000Z"
}
```

### 3. QR-Zuordnung testen

Rufen Sie Ihre Seite mit einem `?scnv=`-Parameter auf (einen Scan simulieren):

```
https://yoursite.com/?scnv=00000000-0000-0000-0000-000000000001
```

Prüfen Sie das Payload — `scan_session_id` sollte dem verwendeten Wert entsprechen.

### 4. Debug-Modus vorübergehend aktivieren

Fügen Sie Ihrem init-Aufruf `debug: true` hinzu und laden Sie neu. Das SDK gibt alle Aktivitäten in der Browser-Konsole aus:

```javascript theme={null}
scanova('init', 'YOUR_SITE_ID', { debug: true, autoPageview: true });
```

Die Konsolenausgabe sollte Folgendes zeigen:

```
[QCG SDK] Initialized with Site ID: YOUR_SITE_ID
[QCG SDK] Loaded version 1.x.x
```

Entfernen Sie `debug: true`, bevor Sie in den Produktivbetrieb gehen.

***

## Häufige Fehler und ihre Behebung

### Es erscheint keine `/ct`-Anfrage

| Ursache                                                  | Behebung                                                                                          |
| -------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| Snippet nicht im `<head>`                                | Snippet vor `</head>` einfügen, nicht in `<body>`                                                 |
| Skript durch CSP blockiert                               | `https://cdn.scanova.io` und `https://t.scanova.io` zu Ihrer `Content-Security-Policy` hinzufügen |
| Adblocker oder Browser-Erweiterung blockiert die Anfrage | In einem privaten Fenster ohne Erweiterungen testen                                               |
| `autoPageview: false` und kein manueller `track`-Aufruf  | Entweder `autoPageview` aktivieren oder ein manuelles Ereignis ergänzen                           |
| `init` aufgerufen, aber das SDK ist noch nicht geladen   | Das SDK reiht Aufrufe vor dem Laden ein — das sollte sich von selbst erledigen                    |

### `400` — Ungültige Anfrage

Die `site_id` ist ungültig, leer oder gehört zu einer inaktiven Website. Prüfen Sie:

* Sie verwenden die `site_id` der richtigen Tracking-Website im Dashboard
* Die Website ist aktiv (Status im Dashboard prüfen)

### `403` — Domain nicht erlaubt

Die Domain Ihrer Website steht nicht in der Liste **Allowed Domains** dieser Tracking-Website.

1. Öffnen Sie **Analysen → Konversionsverfolgung**
2. Wählen Sie Ihre Website → klicken Sie auf **Edit**
3. Fügen Sie den exakten Hostnamen hinzu (z. B. `yoursite.com`, `www.yoursite.com`, `staging.yoursite.com`)
4. Speichern

<Note>
  Die Domainprüfung nutzt den `Origin`- oder `Referer`-Header der Anfrage. Tragen Sie genau den Hostnamen ein, der in der Adressleiste steht — ob mit oder ohne `www` macht einen Unterschied.
</Note>

### `422` — Validierungsfehler

Das Ereignis-Payload hat die Validierung nicht bestanden. Häufige Ursachen:

* `event_type` fehlt oder ist leer
* Ein Feld überschreitet die zulässige Länge
* `metadata` enthält eine unverschlüsselte E-Mail-Adresse — verwenden Sie stattdessen `user_identifiers` mit einem Hashwert
* `metadata` überschreitet 10 KB

### `429` — Ratenlimit überschritten

Ihre Website sendet Ereignisse schneller als erlaubt (100 Ereignisse/Minute pro IP für Browser-Ereignisse). Im Normalbetrieb kommt das selten vor. Tritt es beim Testen auf, verteilen Sie Ihre Testereignisse zeitlich.

### Ereignisse erscheinen im Netzwerk, aber nicht im Dashboard

* Warten Sie bis zu 60 Sekunden — es gibt eine kurze Verarbeitungsverzögerung
* Prüfen Sie, ob Sie die richtige Tracking-Website im Dashboard ansehen
* Prüfen Sie, ob die `site_id` im Ereignis-Payload zur Website im Dashboard passt

### Bei einem bestimmten Besuch erscheint keine `/ct`-Anfrage

Erzeugt ein Besuch keine Netzwerkanfrage, ist die Person höchstwahrscheinlich ohne QR-Code-Scan gekommen — der Parameter `?scnv=` fehlt. Ohne `scan_session_id` sendet das SDK gar kein Ereignis. Das ist erwartetes Verhalten: Das SDK erfasst ausschließlich Traffic, der aus einem QR-Code-Scan stammt.

### Zwei Ereignisse pro Seitenaufruf

Sie haben sowohl `autoPageview: true` als auch einen manuellen Aufruf `scanova('track', 'page_view', ...)` im Code. Entfernen Sie eines davon. Details unter [Automatisch erfasste Ereignisse](/de/conversion-tracking/browser/auto-tracking#page-view).
