mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-15 19:59:39 +02:00
Move inactive projects out of active workspace: - bauntown (community website) - maerchenzauber (AI story generation) - memoro (voice memo app) - news (news aggregation) - nutriphi (nutrition tracking) - reader (reading app) - uload (URL shortener) - wisekeep (AI wisdom extraction) Update CLAUDE.md documentation: - Add presi to active projects - Document archived projects section - Update workspace configuration Archived apps can be re-activated by moving back to apps/ 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
4.5 KiB
4.5 KiB
PostHog A/B Testing Setup
Dieses Dokument beschreibt die PostHog-Integration für A/B-Testing auf der Memoro-Website.
1. Initiale Einrichtung
PostHog-Account erstellen
- Gehe zu PostHog EU
- Erstelle einen Account (EU-Region für GDPR-Compliance)
- Erstelle ein neues Projekt "Memoro Landing"
Environment-Variablen
Erstelle eine .env-Datei basierend auf .env.example:
PUBLIC_POSTHOG_KEY=phc_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Testen der Integration
- Starte den Dev-Server:
npm run dev - Akzeptiere Analytics-Cookies im Cookie-Banner
- Öffne die Browser-Konsole und prüfe:
window.posthogsollte verfügbar sein - Überprüfe im PostHog-Dashboard, ob Events ankommen
2. A/B-Tests erstellen
Im PostHog-Dashboard
- Navigiere zu "Feature Flags" → "New Feature Flag"
- Erstelle ein neues Flag, z.B.
hero-cta-test - Konfiguriere die Varianten:
- Control: Default (kein Wert)
- Variant B:
variant-b
- Setze die Rollout-Percentage (z.B. 50/50)
Im Code implementieren
Option 1: Fertige Experiment-Komponente nutzen
---
import HeroCtaExperiment from '../components/experiments/HeroCtaExperiment.astro';
---
<HeroCtaExperiment />
Option 2: Custom Implementation
<div id="my-experiment" data-experiment="my-test">
<!-- Default content -->
</div>
<script>
import { getExperiment, trackEvent } from '../utils/experiments';
const variant = await getExperiment('my-test');
if (variant === 'variant-b') {
// Apply variant B changes
}
</script>
3. Verfügbare Utilities
getExperiment(key)
Holt die aktuelle Variante für einen Test:
const variant = await getExperiment('hero-cta-test');
// Returns: null | 'control' | 'variant-b' | ...
trackEvent(name, properties)
Trackt ein Custom Event:
trackEvent('button_clicked', {
button_id: 'download-cta',
page: 'home',
});
trackExperimentConversion(experiment, type)
Trackt eine Conversion für einen A/B-Test:
trackExperimentConversion('hero-cta-test', 'download_click');
applyExperimentClasses(elementId, experimentKey, variantClasses)
Wendet CSS-Klassen basierend auf der Variante an:
applyExperimentClasses('hero-section', 'hero-test', {
control: 'bg-blue-500',
'variant-b': 'bg-green-500',
});
4. Best Practices
Performance
- PostHog lädt nur nach Cookie-Consent
- Script ist asynchron und blockiert nicht
- Feature Flags werden gecached
GDPR-Compliance
- Analytics nur mit expliziter Zustimmung
- EU-Server verwenden
person_profiles: 'identified_only'für anonyme Nutzer
Testing-Strategie
- Start klein: Beginne mit unkritischen Elementen
- Messe richtig: Definiere klare Success-Metriken
- Dokumentiere: Halte Tests und Ergebnisse fest
- Iteriere: Nutze Learnings für neue Tests
5. Geplante A/B-Tests
Phase 1 (Sofort möglich)
- Hero CTA: "App herunterladen" vs. "Kostenlos testen"
- Download Button Position: Rechts vs. Links in Navigation
- Testimonial Position: Oben vs. Unten auf Homepage
Phase 2 (Nach ersten Learnings)
- Pricing Layout: Grid vs. Tabelle
- Feature-Reihenfolge: Verschiedene Priorisierungen
- Formulare: Anzahl der Felder reduzieren
6. Monitoring & Analyse
PostHog Dashboard
- Experiments: Übersicht aller laufenden Tests
- Feature Flags: Status und Rollout-Percentage
- Insights: Custom Dashboards für Conversions
Wichtige Metriken
- Conversion Rate (Download-Klicks)
- Bounce Rate pro Variante
- Time on Page
- Scroll-Tiefe
7. Troubleshooting
PostHog lädt nicht
- Prüfe Cookie-Consent Status
- Checke Browser-Konsole für Fehler
- Verifiziere API-Key in
.env
Feature Flag gibt null zurück
- Stelle sicher, dass PostHog geladen ist
- Prüfe Flag-Name (Case-sensitive!)
- Checke Rollout-Settings im Dashboard
Events werden nicht getrackt
- Öffne Network-Tab und suche nach
posthog.com/e/ - Prüfe, ob
autocapture: falsegesetzt ist - Nutze
posthog.debug()für Details
8. Migration von Plausible
Aktuell laufen Plausible und PostHog parallel. Nach 2-4 Wochen:
- Vergleiche Metriken beider Tools
- Stelle sicher, dass PostHog alle benötigten Daten erfasst
- Entferne Plausible-Komponente
- Update Cookie-Consent Beschreibung
- Entferne Plausible DNS-Prefetch
Support
Bei Fragen oder Problemen:
- PostHog Docs: https://posthog.com/docs
- Astro + PostHog: https://posthog.com/tutorials/astro-ab-tests