Skip to main content

Webinar-Setup

Webinar-Setup

Lisa live

lisa.expert betreibt einen Evergreen-Webinar-Funnel - ein rund um die Uhr laufendes Online-Webinar mit automatischem Anmelde-, Erinnerungs- und Angebots-Flow. Das Webinar zeigt, wie Lisa funktioniert, und endet mit einem Aktionsangebot. Den kompletten Ablauf findest du auf der Seite "Evergreen-Webinar-Funnel (Ablauf)".

Aufbau

Baustein Funktion
webinar-anmeldung.html "So funktioniert Lisa" + Anmeldeformular mit Slot-Wahl; nach Absenden Zugangslink on-screen + Bestätigungsmail
webinar-raum.html Warteraum mit Countdown - Live-Zustand mit Webinar-Video - Angebotsphase (Trial, Strategiegespräch, MasterClass)
webinar-schedule.js Zeit-Engine mit festen Startzeiten 8, 11, 14, 16, 19, 22 Uhr (Europe/Vienna), DST-sicher
Microservice lisa-webinar PM2-Prozess, Port 127.0.0.1:3055, interner 10-Minuten-Ticker (kein externer Cron nötig)

Der Service ist bewusst isoliert vom geteilten Backend: nginx leitet nur location /api/webinar/ auf Port 3055, der Rest von /api bleibt am Mutter-Backend (Port 3021).

Webinar-Video

  • Selbst gehostetes MP4 (bilder/lisa/webinar-lisa.mp4, Laufzeit 49:07), ausgeliefert mit Range-Requests (HTTP 206) - Seek funktioniert.
  • Video-Tracking hängt am <video>-Element: Fortschritt (25/50/75/100 %) wird an Listmonk gemeldet.
  • Warteraum-Schleife: warteraum.mp4.
  • Kein Zoom-Embed: Zoom-Branding und Kenncodes im Quelltext waren die Gründe; Zoom bleibt als Code-Option (ZOOM_EMBED) erhalten.

Angebots-Trigger im Webinar-Raum

Der Rabatt-Button folgt dem Video-Fortschritt, nicht der Uhr:

  • OFFER_AFTER_SEC = 900 - Button erscheint ab Minute 15 (dort beginnt der Angebotsteil im Video); justierbar.
  • Drei Zustände: hidden (Warteraum + erste zwei Drittel) - cta (pulsierender Button "Rabatt sichern: 2 Monate geschenkt") - open (nach Klick: Angebotsseite scrollt rein, iframe lädt; automatisch auch nach Webinar-Ende).
  • Bewusst kein Fake-Countdown - der Rabatt ist in Stripe unbefristet angelegt.
  • Die 1-Sekunden-Render-Schleife liest vid.currentTime direkt (reines timeupdate feuert bei Pause/Spulen unzuverlässig).

Angebotsseite mit Embedded Checkout

webinar-angebot.html bietet die 3 Pakete mit echtem eingebettetem Bezahlformular (kein Redirect):

  • Endpoints im lisa-webinar-Service: GET /api/webinar/checkout-config (publishableKey + Pläne), POST /api/webinar/checkout (Stripe Checkout Session, ui_mode: 'embedded_page'), GET /api/webinar/checkout-status.
  • Zahlung läuft über das eigene Lisa-Stripe-Konto (AT/EUR, netto).
  • Falle: Stripe hat ui_mode: 'embedded' zu embedded_page umbenannt - Fehler stand im PM2-Error-Log.

Präsentation (Canva)

  • Verkaufspräsentation, 22 Folien, Lisa als durchgehender Star (Cutout-Bilder), echte Preise und Kontaktdaten.
  • Lehre aus dem Projekt: Canva-KI erfindet Inhalte - der erste Lauf enthielt gefälschte Mitarbeiter-Lebensläufe, erfundene Prozent-Statistiken und Platzhalter-Kontaktdaten. Nach jeder Generierung Folie für Folie auf erfundene Zahlen/Namen/Kontaktdaten prüfen!

Tracking & Dashboard

Pro Person werden Subscriber-Attribute in Listmonk gepflegt: webinar_open_<stufe> (Open-Pixel), webinar_click_<stufe> (Klick-Redirect), webinar_offer_trial|call|mc, webinar_watched, webinar_video_pct.

  • Dashboard: https://lisa.expert/api/webinar/dashboard (Funnel & Drop-off, Angebote, Mails pro Stufe, Refresh 60 s) und JSON unter /api/webinar/stats.
  • Zugriffsschutz: Home-IP und private Netze freigeschaltet, sonst ?key= (einstellbar über DASHBOARD_ALLOW_IPS in der Service-.env).

Offene Punkte

  • Finales Lisa-Webinar-Video (aktuell Test-Clip); MP4 nach bilder/lisa/webinar.mp4, dann Tausch.
  • Warteraum-Video (Prompt steht: 10 Sek, nur Lisa, deutsche Sprache).
  • Optional: Report pro Startzeit-Slot aufschlüsseln; Open/Click nur beim selbst gehosteten Video messbar.