Folgen Sie dieser Anleitung, um Probleme zu diagnostizieren und zu beheben, wenn Zenovay Ihre Besucher nicht erfasst.
Schnelldiagnose
Browser-Konsole prüfen
- Öffnen Sie Ihre Website
- Drücken Sie
F12oder Rechtsklick → Untersuchen - Gehen Sie zur Registerkarte Konsole
- Geben Sie ein:
window.zenovay
Erwartetes Ergebnis: Eine Funktion (typeof === 'function') Falls undefined: Skript wird nicht geladen
Netzwerk-Registerkarte prüfen
- Gehen Sie zur Registerkarte Netzwerk
- Aktualisieren Sie die Seite
- Filtern Sie nach "zenovay" oder "analytics"
- Suchen Sie nach z.js und API-Aufrufen
Häufige Probleme
Problem: Skript wird nicht geladen
Symptom: window.zenovay ist undefined
Ursachen:
- Skript-Tag fehlt oder ist falsch
- Ad Blocker blockiert das Skript
- Content Security Policy (CSP) blockiert
- Skript-Ladefehler
Lösungen:
Überprüfen Sie Ihren Skript-Tag:
<!-- Korrektes Format -->
<script
defer
data-tracking-code="YOUR_TRACKING_CODE"
src="https://api.zenovay.com/z.js">
</script>
Häufige Fehler:
<!-- Falsch: Website-ID fehlt -->
<script src="https://api.zenovay.com/z.js"></script>
<!-- Falsch: Tippfehler in der URL -->
<script src="https://api.zennovay.com/z.js"></script>
<!-- Falsch: Closing-Tag fehlt -->
<script src="https://api.zenovay.com/z.js">
Problem: Ad Blocker stört
Symptom: Skript wird für Sie geladen, aber nicht für alle Besucher
Test:
- Deaktivieren Sie Ihren Ad Blocker
- Aktualisieren Sie die Seite
- Prüfen Sie, ob Tracking funktioniert
Lösungen:
Selbsthosting des Skripts:
# Skript herunterladen
curl -o zenovay.js https://api.zenovay.com/z.js
# Auf Ihrer Domain hosten
# Dann verwenden Sie:
<script src="/js/zenovay.js" data-tracking-code="YOUR_TRACKING_CODE"></script>
Beim Selbsthosting wird das Skript von Ihrem eigenen Server bereitgestellt, was die meisten Ad Blocker nicht blockieren. Wenn Sie selbsthosten, aktualisieren Sie die Datei regelmäßig, um Korrektionen und neue Funktionen zu erhalten.
Problem: Content Security Policy blockiert
Symptom: Konsole zeigt CSP-Verletzungsfehler
Fehlerbeispiel:
Refused to load the script 'https://api.zenovay.com/z.js'
because it violates the Content-Security-Policy directive
Lösung:
Aktualisieren Sie Ihren CSP-Header:
Content-Security-Policy:
script-src 'self' https://api.zenovay.com;
connect-src 'self' https://api.zenovay.com;
Problem: Falsche Website-ID
Symptom: Keine Daten im Dashboard
Prüfen:
- Öffnen Sie Domains und wählen Sie Ihre Website
- Öffnen Sie Settings → General, um das Installationsausschnitt für diese Website anzuzeigen
- Vergleichen Sie den Wert
data-tracking-codeim Ausschnitt mit dem auf Ihrer Live-Seite
Die Codes sollten genau übereinstimmen:
<script data-tracking-code="abc123-def456-ghi789"></script>
Problem: Skript wird nach Besucherverlassen geladen
Symptom: Niedrige Seitenaufrufe
Ursache: Skript an falscher Position oder zu langsames Laden
Lösung: Platzieren Sie das Skript im <head> mit defer:
<head>
<script
defer
data-tracking-code="YOUR_TRACKING_CODE"
src="https://api.zenovay.com/z.js">
</script>
</head>
Problem: SPA erfasst Seitenänderungen nicht
Symptom: Nur die erste Seitenansicht wird erfasst
Ursache: Single-Page Apps auslösen keine vollständigen Seitenladezeiten
Wie Zenovay damit umgeht: Der Tracker erkennt automatisch client-seitige Route-Änderungen. Er patcht history.pushState / history.replaceState und überwacht popstate und pageshow, sodass Navigationen in React Router, Vue Router, Next.js und ähnlichen Frameworks ohne zusätzlichen Code erfasst werden.
Falls Sie nur die erste Seitenansicht sehen, stellen Sie sicher, dass:
- Das Skript einmal geladen wird, oben in Ihrer App (im
<head>mitdefer) und wird nicht bei Routenänderungen entfernt - Ihr Router das Routing tatsächlich über die History API aktualisiert (die meisten tun das)
Manuelle Seitenaufrufe (optional): Falls Ihre App die sichtbare "Seite" ändert, ohne die URL zu ändern, können Sie manuell einen Seitenaufruf aufzeichnen:
if (window.zenovay) {
window.zenovay('page');
}
Tun Sie dies nur für Navigationen, die der Tracker nicht selbst erkennt – das Aufrufen auf jeder Routenänderung zusätzlich zum automatischen Tracking wird Aufrufe doppelt erfassen.
Problem: Localhost/Entwicklung erfasst nicht
Symptom: Funktioniert in Produktion, aber nicht lokal
Ursache: Der Tracker blockiert localhost, 127.0.0.1 und *.local Hostnamen standardmäßig, damit Ihr Entwicklungs-Traffic die Produktionsdaten nicht verschlechtert.
Um Tracking auf Localhost zuzulassen, fügen Sie data-allow-localhost="true" zum Skript-Tag hinzu:
<script
defer
data-tracking-code="YOUR_TRACKING_CODE"
data-allow-localhost="true"
src="https://api.zenovay.com/z.js">
</script>
Sie können dies auch pro Website im Dashboard aktivieren: öffnen Sie Domains, wählen Sie Ihre Website, dann Settings → General und aktivieren Sie die Localhost- / Debug-Option.
Um zu sehen, was der Tracker tut, aktivieren Sie Debug-Logging mit data-debug="true" (oder hängen Sie ?zenovay_debug=true an die Seiten-URL an):
<script
defer
data-tracking-code="YOUR_TRACKING_CODE"
data-debug="true"
src="https://api.zenovay.com/z.js">
</script>
Problem: HTTPS/HTTP-Mismatch
Symptom: Skript wird auf HTTPS-Sites blockiert
Ursache: HTTP-Skript auf HTTPS-Seite laden
Lösung: Verwenden Sie immer HTTPS:
<!-- Korrekt -->
<script src="https://api.zenovay.com/z.js"></script>
<!-- Falsch auf HTTPS-Sites -->
<script src="http://api.zenovay.com/z.js"></script>
Debug-Modus
Aktivieren Sie detailliertes Logging, indem Sie data-debug="true" zum Skript hinzufügen:
<script
defer
data-tracking-code="YOUR_TRACKING_CODE"
data-debug="true"
src="https://api.zenovay.com/z.js">
</script>
Sie können es auch auf jeder Seite aktivieren, ohne das Snippet zu ändern, indem Sie ?zenovay_debug=true an die URL anhängen.
Suchen Sie in der Konsole nach:
- Skript-Initialisierung
- Seitenaufruf-Events
- API-Antworten
- Fehlermeldungen
Tracking testen
Manueller Test
// In Browser-Konsole
if (window.zenovay) {
window.zenovay('track', 'test_event', { test: true });
console.log('Event sent!');
} else {
console.log('Zenovay not loaded');
}
In Echtzeit überprüfen
- Öffnen Sie Domains, wählen Sie Ihre Website und gehen Sie zur Registerkarte Live View
- Besuchen Sie Ihre Website in einem anderen Tab
- Sie sollten innerhalb von Sekunden erscheinen
Server-Side Rendering-Probleme
Next.js
// Nur auf dem Client laden
import dynamic from 'next/dynamic';
const Analytics = dynamic(() => import('./Analytics'), {
ssr: false
});
Nuxt.js
// nuxt.config.js
export default {
head: {
script: [
{
src: 'https://api.zenovay.com/z.js',
'data-tracking-code': 'YOUR_ID',
defer: true,
body: true // Am Ende des Body laden
}
]
}
}
WordPress-Probleme
Zenovay bietet kein offizielles WordPress-Plugin – Sie fügen das Tracking-Skript manuell hinzu (im header.php Ihres Themes, über eine wp_head Aktion in functions.php, oder mit einem "Header/Footer-Skripts"-Plugin). Siehe Zenovay zu WordPress hinzufügen für den genauen Code.
Skript wird nicht geladen
Prüfen Sie:
- Das Tracking-Snippet ist tatsächlich im Seitenquelltext vorhanden (Quelle anzeigen, nach
z.jssuchen) - Der Wert
data-tracking-codeentspricht dem in Ihrem Dashboard - Der Cache wurde nach dem Bearbeiten des Themes oder Snippets geleert
Cache-Plugin-Konflikte
Schließen Sie Zenovay von der Optimierung aus:
WP Rocket:
Settings → File Optimization → Exclude External:
api.zenovay.com
W3 Total Cache:
Performance → Minify → JS Minify Settings → Never minify:
api.zenovay.com/z.js
Überprüfungs-Checkliste
- Skript-Tag ist im Seitenquelltext vorhanden
- Website-ID ist korrekt
- Keine Konsolenfehler
- Netzwerkanfrage erfolgreich (200-Status)
- Nicht vom Ad Blocker blockiert
- CSP erlaubt Analytics-Domain
- Korrekte Domain in Dashboard-Einstellungen
- Echtzeit-Ansicht zeigt Besuche
Funktioniert immer noch nicht?
Informationen sammeln
Vor der Kontaktaufnahme mit dem Support:
- Ihre Website-URL
- Browser-Konsolenfehler
- Netzwerk-Tab-Screenshots
- Website-ID (teilweise)
- Wann hat es aufgehört zu funktionieren
Support kontaktieren
E-Mail an [email protected] mit:
- Betreff: "Tracking Not Working"
- Oben gesammelte Informationen
- Schritte, die Sie bereits versucht haben