Warteliste-Modul
E-Mail-Sammlung vor dem Launch, Admin-Verwaltung und CSV-Export.
VibeKit bringt eine Warteliste mit, die du vor dem Start deines Produkts einschalten kannst. Besucher hinterlassen ihre E-Mail auf deiner Landingpage; du sammelst, prüfst und exportierst die Liste im Admin-Bereich.
Überblick
Wenn das Warteliste-Modul aktiviert ist, wird die öffentliche Seite zum Launch-Modus-Shop für die Warteliste statt für das Produkt:
- Eigene Seite:
/waitlistsammelt E-Mails; Navigation und Footer ersetzen den Preise-Eintrag durch „Warteliste beitreten" mit Link dorthin. - Hero: Der Kauf-Button wird zum „Warteliste beitreten"-Button Richtung
/waitlist. - Letzter Call-to-Action: Der Kauf-Button wird durch das Anmeldeformular ersetzt.
- Preise-Erlebnis: Auf der Homepage und unter
/pricingersetzen Preise, Plan-Karten und Kauf-CTAs durch die Wartelisten-Karte im gleichen visuellen Gewand.
Beim Deaktivieren wird überall der normale kaufbare Storefront wiederhergestellt. Bestandskunden behalten vollen Zugang zu Konten, Abrechnung, Lizenzen und Downloads — nur öffentliche Einstiegspunkte konvertieren.
Anmeldungen landen in deiner eigenen Datenbank, werden dedupliziert und ratenlimitiert. Du verwaltest die Liste unter /app/admin/waitlist und kannst sie als CSV für jedes E-Mail-Tool exportieren.
Funktionen
- Landingpage-Formular: Wiederverwendbare
<WaitlistForm />-Komponente mit Inline-Validierung, Lade- und Erfolgszuständen, gestylt mit den Design-Tokens für dunklen und hellen Modus. - Deduplizierung: Wiederholte Anmeldungen mit derselben E-Mail liefern Erfolg, ohne einen zweiten Eintrag zu erzeugen.
- Rate Limiting: Serverseitig abgeleitete Konto- oder Netzwerk-Signale begrenzen Anmeldungen; eine browserseitige ID ist nie ein Identitätsnachweis.
- Admin-Verwaltung: Suche nach E-Mail, Filter nach Status, Zähler je Status und Entfernen von Einträgen unter
/app/admin/waitlist. - CSV-Export: Ein-Klick-Export aller Einträge (ID, E-Mail, Status, Quelle, Datum) für den Import in Loops, Resend, Mailchimp, Kit oder jedes andere Tool.
- Optionale E-Mails: Eine Willkommensbestätigung an die angemeldete Person und eine Betreiber-Benachrichtigung bei jeder neuen Anmeldung, beide konfigurierbar.
Konfiguration
Aktiviere oder deaktiviere das Warteliste-Modul in config.ts:
export const config = {
// ...
waitlist: {
enabled: true,
// Benachrichtige den Betreiber per E-Mail über jede neue Anmeldung. Standardmäßig aus.
notifyAdminOnSignup: false,
// Sende der angemeldeten Person eine Bestätigungs-E-Mail. Standardmäßig an.
sendWelcomeEmail: true,
},
};Das Modul lässt sich auch zur Laufzeit unter /app/admin/modules ohne Redeploy umschalten. Beim Deaktivieren verschwindet das Homepage-Formular, und die API-Prozeduren werden sofort blockiert.
Platzierung
Der Launch-Modus verdrahtet alles automatisch: die /waitlist-Seite, der Navigations- und Footer-Eintrag, der Hero-Button und letzte CTA der Homepage sowie das Preise-Erlebnis auf der Homepage und /pricing. Um das Formular woanders zu platzieren (eigener Abschnitt), importiere die Komponente und übergib ein Quellen-Label, damit du erkennst, wo jede Anmeldung herkommt:
import { WaitlistForm } from "@marketing/waitlist";
<WaitlistForm source="hero" />Das Quellen-Label wird pro Eintrag gespeichert und in der Admin-Tabelle sowie im CSV-Export angezeigt. Standard ist homepage.
E-Mails
WaitlistConfirmation dankt der angemeldeten Person und setzt die Erwartung, dass du nachfolgst, sobald das Produkt startet. WaitlistAdminNotification informiert die Betreiber-Adresse über jede neue Anmeldung, wenn notifyAdminOnSignup aktiviert ist. E-Mails nach der Anmeldung sind Best-Effort: Ein Mailprovider-Fehler lässt eine bereits gespeicherte Anmeldung nie fehlschlagen.
In der Entwicklung landen beide E-Mails in der Console-Mail-Sandbox; prüfe .vibekit/mail-trap.json oder führe bun run mail:preview aus, um die Templates zu sehen.
Admin-Bereich
Die Admin-Wartelisten-Oberfläche bleibt unabhängig vom Launch-Modus-Schalter zugänglich — bereits gesammelte Einträge bleiben sichtbar und verwaltbar, auch wenn der öffentliche Sammler deaktiviert ist.
/app/admin/waitlist zeigt Gesamt- und Statuszähler, eine durchsuchbare und filterbare Tabelle sowie den CSV-Export. Das Entfernen eines Eintrags löscht ihn aus der Datenbank; wenn du stattdessen eine dauerhafte Sperrliste brauchst, verwende den CSV-Export und das Abmelden-Handling in deinem E-Mail-Tool.
Datenschutz-Hinweise
Wartelisten-E-Mails werden gesammelt, bevor ein Konto existiert; an einem Eintrag hängt daher kein Benutzerdatensatz. Einträge enthalten nur die E-Mail, den Status, das Quellen-Label, optionale UTM-/Referrer-Metadaten und Zeitstempel. Exportiere die Daten oder lösche Einträge auf Anfrage — die Admin-Löschaktion ist eine harte Löschung.