SilentChat

Conversion funnel — from visitor to lead

Last updated: September 9, 2026

Under Analytics → Funnel you see the four most important conversion stages of your chat widget in descending order. Drop-off per stage tells you where visitors leave — and which part of your widget is worth optimizing next.

The four stages

1. Visitors (with widget)

How many unique sessions loaded your website while the widget was active. Source: visitor_pageviews with event_type='pageview'.

2. Chat opened

Sessions that clicked on the widget (widget_open or chat_started event). Open-Rate = Stage 2 / Stage 1. A good value is 5-15% for standard SaaS websites; higher for highly interactive pages (Pricing, Demo).

3. Visitor messages

Conversations with at least one message from the visitor. Engagement-Rate = Stage 3 / Stage 2. If a visitor opens the widget but doesn't write, the greeting text is usually too generic or the bot doesn't seem helpful enough.

4. Leads (email captured)

Unique visitors with a stored email address (pre-chat form, resume token, or collected by the bot). Lead-Rate = Stage 4 / Stage 3. This is the marketing headline — leads per visitor conversation.

Trend badge

Next to the page title, you see +12%, -3%, or stable. The comparison is always the same window length back: for a 30-day view versus the 30 days before; for a 7-day view versus the 7 days before. This way, you compare apples to apples, not Black Friday to May.

If there is little or no data in the previous period, the badge is hidden (instead of showing a meaningless "+∞%").

What counts as a lead?

In v1 only email address stored. This covers 95% of typical conversion definitions. Custom goals (phone number, certain page view, JS event) are planned for a later iteration (Plan #168b).

Performance note

The four stages are direct SQL aggregations over existing tables (visitor_pageviews with index on (tenant_id, event_type, timestamp), conversations with tenant_id+created_at-index). On tenants with six-figure pageviews, each request stays under one second. If your data volume exceeds this: let us know, and we'll add a materialized view with 30-minute refresh.

How to improve conversion

Open-Rate too low?

  • Send greeting bubble proactively (Widget Settings → Greeting)
  • Make widget position more prominent (bottom right instead of hidden icon)
  • A/B test (Plan #167) with two greeting texts

Engagement-Rate too low?

  • Activate Quick-Action-Cards ("Book Demo", "See Prices")
  • Make bot persona friendlier / more personal (Plan #161 Persona Templates)
  • Streamline or remove pre-chat form

Lead-Rate too low?

  • Bot actively asks for email at the end of a conversation
  • Activate resume token email (continuous conversation via email)
  • Improve KB answers so the bot doesn't immediately pivot to a lead capture

GDPR

The pageview data is subject to the same retention as the rest of your visitor data (see Data Retention Settings). The funnel shows only aggregated counts — no personal data.

API Reference

GET /api/v1/analytics/conversion-funnel?from=<iso>&to=<iso>

Response:

{
  "funnel": {
    "from": "2026-04-20T00:00:00Z",
    "to":   "2026-05-20T00:00:00Z",
    "stages": [
      { "name": "pageviews", "count": 10000 },
      { "name": "opens",     "count":  2300 },
      { "name": "messages",  "count":   950 },
      { "name": "leads",     "count":   250 }
    ],
    "change_vs_previous": 0.12
  }
}

Date range is capped at a maximum of 1 year (DoS protection). Default if no query parameters: last 30 days.

Conversion funnel — from visitor to lead — Help Center — SilentChat | SilentChat