Demo
Darstellung
Dokumentation
Meetlead-Dokumentation

Dokumentation durchsuchen

API / MCP WordPress

↑↓ navigieren ↵ öffnenEinrichtungshilfe ↗

Web-WidgetBasisinstallation · 10-15 Min.

Meetlead-Widget implementieren

Konfiguriere eine Website, binde das Skript ein und verbinde anonyme Besuche sicher mit angemeldeten Kundenkonten.

Zuletzt aktualisiert: 10. August 2026Website-Einstellungen öffnen

Inhalt der DokumentationEinführung

Schnellstart

Integration in vier Schritten

Der kürzeste Weg von einer leeren Konfiguration zum ersten Testgespräch.

  • Erstelle unter Einstellungen eine Website und kopiere ihre eindeutige öffentliche clientId.
  • Füge jeden erlaubten Hostnamen exakt hinzu. example.com und www.example.com werden getrennt eingetragen; Wildcards werden nicht unterstützt.
  • Binde das Skript einmal im gemeinsamen Seitenlayout ein.
  • Sende eine Testnachricht und prüfe, ob das Gespräch im Meetlead-Posteingang erscheint.
HTML · Basisinstallation
<script
  src="https://widget.meetlead.eu/widget.js"
  data-client-id="DEINE_CLIENT_ID"
  async
></script>

Konfiguration

Website konfigurieren

Eine Website bestimmt Domains, Darstellung, Regeln und den Datenkontext der Besucher.

Nutze für jede unabhängige Website oder jeden Kundendatenkontext eine eigene Website. Verwende niemals die clientId einer anderen Website, da Ereignisse und Gespräche sonst dem falschen Kontext zugeordnet werden.

Füge Staging-Hosts zum Testen hinzu und entferne ungenutzte Domains in Produktion. Konfiguriere Widget-Texte, Arbeitszeiten, Datenschutzerklärung und aktive Anwendungen vor der Veröffentlichung.

Einbettung

Widget installieren

Platziere das asynchrone Skript im Dokumentkopf oder im gemeinsamen Anwendungslayout, sodass es genau einmal lädt.

Nutze für WordPress das offizielle Plugin oder ein vertrauenswürdiges Werkzeug für Header-Code. In React, Vue und anderen SPAs gehört das Skript in die Root-HTML statt in jeden Routenwechsel. In Next.js wird das gemeinsame App-Router-Layout oder die Pages-Router-Anwendung verwendet.

Umgehe nach dem Deployment den Browser-Cache, prüfe widget.js in den Entwicklertools, öffne den Launcher und sende eine Testnachricht. Die öffentliche clientId ist kein Geheimnis.

HTML · Basisinstallation
<script
  src="https://widget.meetlead.eu/widget.js"
  data-client-id="DEINE_CLIENT_ID"
  async
></script>

Kunden

Besuch mit einem Kunden verbinden

Rufe meetlead.identify() nach der Anmeldung mit einer stabilen userId auf. Für die Profilzuordnung innerhalb einer Website sind weder Geheimnis noch HMAC erforderlich.

Lade das Profil über einen authentifizierten Backend-Endpunkt mit Cache-Control: no-store. Übergib die gespeicherte userId und Kontaktdaten; vertraue keiner ID aus dem Request-Body.

onResult liefert accepted, rejected oder timeout sowie requestId, clientId und identityVerified. Speichere die lokale Kontozuordnung erst nach einer passenden accepted-Antwort. accepted bestätigt das Profil, aber keinen Zugriff auf Gespräche. Frühere Gespräche erfordern eine verifizierte Sitzung oder signierte Identität. Wenn die Wiederherstellung per E-Mail-Code für die Website verfügbar ist, erfordert sie eine separate Prüfung und erteilt Zugriff nur auf erlaubte Verläufe. Eine Zusammenführung durch Operatoren erteilt keinen Browserzugriff.

Rufe logout bei Abmeldung, Kontowechsel oder Sitzungsablauf auf. Wiederhole vorübergehende Netzwerkfehler ohne Abmeldung und ignoriere verspätete Ergebnisse früherer Konten. Profile und Berechtigungen gelten jeweils für eine Website. Bestehende signierte Integrationen können weiterhin eine optionale userHash übergeben; das HMAC-Geheimnis bleibt ausschließlich im Backend.

Backend · authentifiziertes Profil
// Der Endpunkt erfordert eine aktive Benutzersitzung.
// Keine Kennung aus dem Request-Body verwenden.
response.setHeader('Cache-Control', 'no-store');
return {
  userId: String(authenticatedUser.id),
  email: authenticatedUser.email,
  name: authenticatedUser.name
};
Browser · Kunde identifizieren
(() => {
  const identity = {
    userId: currentUser.userId,
    email: currentUser.email,
    name: currentUser.name,
    attributes: { plan: currentUser.plan }
  };
  const options = {
    requestId: crypto.randomUUID(),
    onResult(result) {
      // accepted bestätigt die Profilzuordnung, nicht den Historienzugriff.
      if (result.status === 'accepted') console.log('Profil zugeordnet');
    }
  };
  const meetlead = window.meetlead || (window.meetlead = { q: [] });
  if (typeof meetlead.identify === 'function') {
    meetlead.identify(identity, options);
  } else {
    meetlead.q.push(['identify', identity, options]);
  }
})();
Browser · Identität löschen
(() => {
  const meetlead = window.meetlead || (window.meetlead = { q: [] });

  if (typeof meetlead.logout === 'function') {
    meetlead.logout();
  } else {
    meetlead.q.push(['logout']);
  }
})();

Kontexte

Mehrere Websites sicher verwenden

Jede Website besitzt eigene Domains, Widget-Einstellungen und Besucherdaten.

Team und Abonnement können in einem Workspace gemeinsam sein, Anfragen, Sockets und Analysen arbeiten jedoch immer im ausgewählten Website-Kontext. Nutze auf jeder Seite die passende clientId und enge Domainlisten.

Veröffentliche bei einem Umzug zuerst die neue Website-Konfiguration und teste sie, bevor du die alte Domain entfernst. Verwende eine clientId nicht als Abkürzung für unabhängige Marken oder Mandanten.

Messung

Ziele und Kundenfeedback senden

Nutze ausdrückliche Ereignisse für wichtige Ergebnisse, statt sie aus Seitenaufrufen abzuleiten.

Lege Zielschlüssel im Panel an und sende sie erst, nachdem die entsprechende Geschäftsaktion erfolgreich war. Namen und Metadaten dürfen keine sensiblen personenbezogenen Inhalte enthalten.

Nach einem Gespräch kann CSAT eine Bewertung und optionales Feedback entsprechend Widget-Konfiguration und Datenschutzhinweis erfassen.

Browser · Geschäftsziel
// Das Ziel muss zuvor in Meetlead erstellt und aktiviert werden.
(() => {
  const meetlead = window.meetlead || (window.meetlead = { q: [] });
  const goalOptions = { value: 249, currency: 'PLN' };

  if (typeof meetlead.goal === 'function') {
    meetlead.goal('purchase', goalOptions);
  } else {
    meetlead.q.push(['goal', 'purchase', goalOptions]);
  }
})();
Browser · CSAT
function submitMeetleadCsat(score, comment) {
  const meetlead = window.meetlead || (window.meetlead = { q: [] });

  if (typeof meetlead.csat === 'function') {
    meetlead.csat(score, comment);
  } else {
    meetlead.q.push(['csat', score, comment]);
  }
}

// Erst nach der bewussten Abgabe einer Bewertung von 1–5 durch den Kunden aufrufen.
// submitMeetleadCsat(customerScore, customerComment);

Produktion

Sicherheit, Einwilligung und Content Security Policy

Veröffentliche erst nach Prüfung von Domains, Datenschutzregeln, Maskierung und Produktions-CSP.

  • Erlaube die für aktive Funktionen notwendigen Meetlead-API- und Widget-Quellen.
  • Wähle den Einwilligungsmodus passend zu Rechtsgrundlage und CMP-Verhalten.
  • Maskiere oder schließe Eingaben und Inhalte aus, die nicht in Aufzeichnungen gelangen dürfen.
  • Prüfe Launcher-Position, Offline-Formulare und Datei-Uploads auf Desktop und Mobilgeräten.
  • Teste Identifikation nach Anmeldung und Abmeldung auf einem gemeinsam genutzten Gerät.
  • Bestätige das erste Produktionsgespräch in der richtigen Website.

Diagnose

Häufige Installationsprobleme lösen

Die meisten Fehler entstehen durch falsche clientId, fehlende Domain, doppeltes Skript oder blockierende CSP.

Erscheint der Launcher nicht, prüfe Netzwerk und Konsole, den exakten Hostnamen und ob das Widget aktiv ist. Treffen Gespräche in der falschen Website ein, entferne das Skript sofort und ersetze die clientId.

Bei fehlerhafter Identifikation prüfe die stabile userId, clientId und passende requestId in der Bestätigung. Blockiert die Einwilligung Analyse, prüfe Modus und CMP-Signal, bevor du Widget-Code änderst.

Aufzeichnungen und Datenverlauf

Starter speichert keine Aufzeichnungen. Growth umfasst 14 Tage Verlauf für neue Aufzeichnungen. Das Löschen einer Aufzeichnung löscht weder Statistiken noch Besuche innerhalb der Analyse-Aufbewahrungsfrist. Freigabelinks, Nachrichtenverlauf, Heatmaps und Testzeitraum haben eigene Regeln.

Die Live-Vorschau ist in allen Tarifen verfügbar. Das Aufzeichnungskontingent gilt gemeinsam für die Websites eines Arbeitsbereichs, erneuert sich monatlich und wird bei einem Tarifwechsel nicht zurückgesetzt. Eine Freigabe verlängert die Aufbewahrung nicht.

Aktuelle Tarifbedingungen vergleichen