Skip to content
This site is under construction. Content, screenshots, and workflows may change at any time.

Visitor Tracking

For every visitor chat, FluentBot captures lightweight metadata to help agents understand who they’re talking to and to surface aggregated analytics.

What’s tracked

For widget chats and request logs:

  • IP address — visitor IP.
  • Geolocation — country, region, city, derived from the IP via a lookup service.
  • Timezone — stored when the geo lookup returns it.
  • Browser — parsed browser family, such as Chrome, Firefox, Safari, or Edge.
  • Source — where the chat came from, such as widget, API, Playground, or Fluent Support.
  • Timestamps — chat time, last seen time, and per-request log time.
  • Last browsed pages — up to the latest 10 widget page URLs and titles for that visitor session.

Where it surfaces

  • Conversations — each conversation row shows visitor name (if captured), source, and timestamp; the conversation pane can open an info popover with IP / geo / browser.
  • Analytics — top countries, top endpoints, IP filter on the request log table (see Analytics).
  • Live Chat — visitor info is visible to agents handling the conversation.
Live Chat conversation with the visitor profile panel showing verified visitor identity, custom data, and last browsed pages

What’s not tracked

  • Full click paths or product analytics on the host site — FluentBot doesn’t ship a website analytics SDK.
  • Cookies set on the host site beyond what the chat widget itself uses.
  • Cross-device identity — without identity verification, the same person on phone + laptop looks like two visitors.

For verified cross-device identity, see Identity Verification.

Privacy considerations

  • IP addresses and derived geolocation are stored per-chat. They’re considered personal data in many jurisdictions (e.g. GDPR).
  • Make sure your privacy policy covers chatbot data collection.
  • Visitor email capture is a separate flow; see Email Capture.

If you need to redact tracking for a region or compliance reason, gate the widget behind your own consent banner — the widget mounts only when you call injectWidget(...), so don’t call it until consent is granted.

Multi-session visitors

The same visitor across multiple browser sessions can appear as separate visits unless you use identity verification.

Backfill / lookup gaps

Geolocation lookups can fail (private IPs, very new prefixes, lookup service hiccup). When that happens you’ll see in the country/region/city columns. The chat itself still works.

What’s next