Widget

JavaScript-Ereignisse

Öffne und schließe das Widget per JavaScript und melde eigene Ereignisse, Ziele und Käufe an die Auswertung.

Überblick

Das Script stellt zwei Objekte im Fenster bereit:

ObjektZweck
window.LymbeWidgetDas Chatfenster steuern: öffnen, schließen, umschalten
window.lymbeEreignisse, Ziele und Käufe für die Auswertung melden
Ehrlich gesagtDas Widget meldet keine Ereignisse an deine Seite zurück, z. B. keine neue Nachricht oder keinen erfassten Lead. Dafür nutzt du die Benachrichtigungen auf dem Server.

Widget steuern

MethodeWirkung
LymbeWidget.open()Öffnet das Chatfenster
LymbeWidget.close()Schließt es
LymbeWidget.toggle()Öffnet oder schließt, je nach Zustand
Eigener Knopfhtml
<button type="button" id="hilfe">Fragen? Schreib uns</button>
<script>
  document.getElementById('hilfe').addEventListener('click', function () {
    if (window.LymbeWidget) window.LymbeWidget.open();
  });
</script>

LymbeWidget gibt es erst, wenn widget.js geladen ist. Ein Ereignis „bereit“ gibt es nicht. Prüfe daher wie oben, ob das Objekt da ist, oder ruf es erst nach einem Klick auf.

Ereignisse messen

AufrufWirkung
lymbe.track(name, props)Eigenes Ereignis, z. B. "newsletter_angemeldet"
lymbe.goal(name, props)Ein Ziel; erscheint als goal:name
lymbe.purchase(props)Ein Kauf, z. B. mit Betrag und Bestellnummer
lymbe.page()Seitenaufruf von Hand melden (meist unnötig, siehe unten)
Beispielejavascript
lymbe.track('pdf_heruntergeladen', { datei: 'preisliste-2026' });
lymbe.goal('kontaktformular', { seite: 'beratung' });
lymbe.purchase({ betrag: 89.9, waehrung: 'EUR', bestellung: 'B-10023' });

Aufrufe, bevor das Script geladen ist

Lädt widget.js später als dein Code, legst du vorher eine kleine Warteschlange an. Das Widget arbeitet sie nach dem Laden ab.

Warteschlangehtml
<script>
  window.lymbe = window.lymbe || function () {
    (window.lymbe.q = window.lymbe.q || []).push(arguments);
  };
  lymbe('track', 'seite_mit_angebot');
</script>

Regeln für Namen und Angaben

  • Ereignisname höchstens 64 Zeichen.
  • Höchstens 9 Angaben (props) je Ereignis.
  • Nur einfache Werte: Text, Zahl, wahr/falsch. Keine Objekte oder Listen.
  • Texte höchstens 500 Zeichen.
  • Keine Personendaten wie E-Mail-Adressen oder Namen in props.

Was automatisch gemessen wird

EreignisWann
session_startBeginn eines Besuchs
page_viewJeder Seitenaufruf, auch Seitenwechsel in Single-Page-Apps
ScrolltiefeBei 25, 50, 75 und 100 Prozent
bot_viewedDas Widget wurde angezeigt
session_endEnde des Besuchs

Ereignisse werden gesammelt verschickt (bis zu 20 auf einmal, spätestens alle 5 Sekunden). Die Messung kommt ohne Cookies aus.

Wann nichts gemessen wird

  • Die Messung ist am Assistenten ausgeschaltet (siehe Anpassen).
  • Der Browser sendet Do-Not-Track oder Global Privacy Control und du hast eingestellt, das zu respektieren.
  • Der Browser wurde mit ?lymbe_track=off ausgeschlossen.
  • Die Seite wird von einem automatisierten Browser gesteuert.

Was es nicht gibt

Methoden wie sendMessage, setUser, reset, destroy oder Rückrufe wie onMessage stellt das Widget nicht bereit. lymbe.identify() ist vorhanden, tut aber bewusst nichts und schreibt nur eine Warnung in die Konsole.

Fehlerbehebung

ProblemLösung
LymbeWidget is undefinedDas Script ist noch nicht geladen oder fehlt. Aufruf in einen Klick verlegen oder vorher prüfen.
Eigene Ereignisse fehlen in der AuswertungMessung eingeschaltet? Browser mit lymbe_track=off ausgeschlossen? Werte flach und kurz genug?
Ziel taucht nicht unter seinem Namen aufZiele erscheinen mit dem Vorsatz goal:.