SilentChat

Visitor-Kohorten — welche Quelle konvertiert?

Zuletzt aktualisiert: 21. Mai 2026

Der Funnel aus Plan #168 sagt dir wie viele Besucher konvertieren. Plan #169 sagt dir welche Besucher konvertieren — und damit wo du dein Marketing-Budget am besten einsetzt.

Wie du es findest

Analytics → Funnel — über dem normalen Funnel siehst du eine Zeile "Aufteilen nach:" mit vier Buttons:

  • Aus — der ungefilterte Funnel aus #168 (Default)
  • UTM-Quelle — Kohorten nach utm_source aus der Landing-URL (google, facebook, newsletter, …)
  • Referrer-Domain — Kohorten nach der Domain die den Visitor geschickt hat (linkedin.com, hubspot.com, …)
  • Gerät — Desktop / Mobile / Tablet

Was zählt als Kohorte?

Die Kohorten-Attribute werden einmalig beim ersten Widget-Load gesetzt — beim Anlegen der Visitor-Session.

  • UTM: aus den Query-Parametern der Landing-URL extrahiert (?utm_source=google&utm_medium=cpc). Lowercase + auf 64 Zeichen gekappt, damit Google und google in derselben Kohorte landen.
  • Referrer-Domain: aus dem Referer-Header, ohne www.-Präfix und ohne Port, lowercase. google.com und www.google.com aggregieren zusammen.
  • Gerät: aus der User-Agent-Erkennung, normalisiert auf die geschlossene Menge {desktop, mobile, tablet, other}.

Sessions ohne Attribut (direkt eingegeben, kein UTM-Tag) landen in der Kohorte "(ohne)" — die wird in der Tabelle angezeigt, aber bei den Top-Insights ignoriert.

Erste-Touch-Attribution

Ein Visitor kann über die Zeit mehrere Sessions haben — heute über Google, morgen direkt. Für Konversationen + Leads attribuieren wir auf die jüngste Session ≤ Conversion-Zeitpunkt. So bekommt jede Marketing-Quelle Credit für den Touch, der zum Lead geführt hat — nicht die letzte direkte Session davor.

Top-Insights

Über der Tabelle erscheinen bis zu zwei Karten:

  • Beste Conversion-Rate: welche Kohorte aktuell am besten konvertiert (Leads ÷ Pageviews).
  • Größter Gap: die Best/Worst-Differenz mit Multiplikator. Beispiel: "google konvertiert 12.3× besser als organic — vielleicht Zeit, dein Budget umzuschichten?"

Sample-Gate: Insights erscheinen erst wenn mindestens zwei Kohorten je 50 Pageviews und mindestens einen Lead haben. Unter dieser Schwelle bleibt die Karte leer — wir zeigen lieber gar nichts als die ersten drei Sessions zu einem Headline-Claim aufzublasen.

Multiplikator gekappt bei 100×. Wenn worst exakt 0 Leads hat, blenden wir den Multiplikator aus und schreiben qualitativ ("deutlich besser") statt unsinnig ("∞×").

DSGVO

UTM, Referrer-Domain und Device sind nicht personenbezogen — sie beschreiben die Quelle und das Endgerät, keine Identität. Die Daten werden mit den normalen Visitor-Session-Retention-Regeln gelöscht (siehe Data-Retention-Settings). Keine separate Einwilligung nötig, kein neuer Cookie.

Praktische Beispiele

Newsletter funktioniert besser als Ads?

  • Filter: UTM-Quelle → Vergleiche newsletter mit google
  • Wenn Newsletter 5× besser konvertiert: Newsletter-Frequenz erhöhen, Ad-Budget umschichten

Mobile-Besucher konvertieren schlechter?

  • Filter: Gerät → Vergleiche mobile mit desktop
  • Wenn Mobile 50% schlechter: Widget-Mobile-Layout prüfen, Pre-Chat-Form vereinfachen

LinkedIn-Traffic ist Gold?

  • Filter: Referrer-Domain → Schau dir linkedin.com an
  • Hohe Conversion + niedriges Volumen → LinkedIn-Ads-Test einplanen

API-Referenz

GET /api/v1/analytics/cohort/dims
GET /api/v1/analytics/cohort/funnel?cohort=utm_source&from=<iso>&to=<iso>

Response:

{
  "funnel": {
    "dimension": "utm_source",
    "from": "2026-04-21T00:00:00Z",
    "to":   "2026-05-21T00:00:00Z",
    "cohorts": [
      { "label": "google",   "pageviews": 1200, "opens": 280, "messages": 80, "leads": 12, "conversion_rate": 0.01 },
      { "label": "facebook", "pageviews":  900, "opens": 110, "messages": 35, "leads":  3, "conversion_rate": 0.0033 },
      { "label": "(none)",   "pageviews": 6300, "opens": 720, "messages":190, "leads": 18, "conversion_rate": 0.0029 }
    ],
    "highlights": [
      { "kind": "best_performer", "label": "google" },
      { "kind": "biggest_gap",    "label": "google", "compare_to": "facebook", "multiplier": 3.1 }
    ]
  }
}

Date-Range gleich wie der Basis-Funnel: maximal 1 Jahr, Default 30 Tage. Unbekannte cohort=-Werte werden mit ERR_INVALID_COHORT abgelehnt.