Chat Conditions

Control when and where the chat widget appears using visibility conditions. Configure scheduling, geo targeting, timeouts, and dismiss behavior — the same conditions available for floating messages, plus additional timeout controls.

Show Delay

Set a delay (in seconds) before the chat button appears on the page. This gives visitors time to engage with your content before seeing the chat option.

Example: Set to 5 seconds — visitor lands on your page, and the chat bubble fades in after 5 seconds.

Auto-Hide

Automatically hide the chat button after a specified number of seconds if the visitor hasn't opened it. If the visitor has already opened the chat panel, it stays visible.

Example: Show delay of 3s + auto-hide of 15s — chat appears at 3s, disappears at 18s if not clicked.

Dismiss Behavior

Controls what happens after a visitor closes the chat widget:

BehaviorEffect
Always ShowChat button appears on every page load (default)
Hide for SessionHidden until the browser tab closes
Hide for DurationHidden for a configured number of hours or days
Hide ForeverNever shown again on that device

Scheduling

Show the chat widget only during specific times. All schedule checks use the visitor's local time.

  • Days of Week — Select specific days (Sun–Sat). No selection = every day.
  • Time Range — Set start and end times (HH:MM). Supports overnight ranges (e.g., 22:00–06:00).
  • Date Range — Optionally restrict to a date window (YYYY-MM-DD).

Geo Targeting

Restrict the chat widget to visitors from specific countries. Uses Cloudflare's CF-IPCountry header for server-side detection.

  • Empty = show to all visitors worldwide
  • Select countries to restrict — visitors outside those countries won't see the chat
  • Geo check happens server-side before any data reaches the client

URL Targeting

Restrict the chat widget to specific pages on your site. Add URL patterns to control exactly where the chat appears.

  • Empty = show on all pages
  • Exact URL — e.g., https://example.com/pricing
  • Wildcard — Use * to match any characters, e.g., https://example.com/blog/*
  • Path only — e.g., /pricing matches the pathname directly
Example: Add https://example.com/docs/* to show the chat only on documentation pages.

How Conditions Are Evaluated

  1. Geo check (server-side) — API returns enabled: false if country not in allowed list
  2. URL targeting (client-side) — Embed script checks current page URL against configured patterns
  3. Schedule check (client-side) — Embed script checks days, time, and date against visitor's local time
  4. Dismiss check (client-side) — Embed script checks localStorage/sessionStorage for prior dismissal
  5. Show delay (client-side) — If set, waits N seconds before rendering the chat bubble
  6. Auto-hide (client-side) — After rendering, starts a timer to hide the bubble if not opened

All conditions must pass for the chat widget to appear. If any condition fails, the widget is silently hidden.