Use Case

floors.js for SaaS

Your pricing page has 3 visitors right now. One has a question about your enterprise plan. Without floors.js, they'll leave. With it, you'll see them — and answer before they bounce.

Get started — from $14/mo See how it works

The problem SaaS founders know too well

You spend money driving traffic to your site. Visitors land on your homepage, click through to features, and arrive at pricing. Then they leave — without ever talking to you.

You have no idea who was there, what confused them, or what would have closed the deal. Traditional live chat widgets sit in the corner, ignored. They feel like support tickets, not conversations.

What floors.js does differently

floors.js turns your SaaS website into a living space. Every page becomes a room. Every visitor becomes a 3D avatar walking around. You can see exactly who's on your pricing page and start a conversation — naturally, in real-time.

Where SaaS teams use it

Pricing page
See when prospects are comparing plans. Jump in and help them pick the right tier.
Feature pages
Visitors exploring a specific feature? Answer their questions before they look at a competitor.
Documentation
Developers stuck on integration? Chat with them in real-time, right on the docs page.
Changelog
Just shipped a feature? Engage with users who are reading about it.

What SaaS teams actually see

The building view shows which pages have visitors right now — your pricing page with 3 people, your docs with 1, your homepage with 5. You see the real-time flow. Not as a chart in an analytics dashboard updated once a day, but as actual avatars moving between rooms in a 3D building. It changes how you think about your website traffic.

When a visitor stays on your pricing page for 2+ minutes, that's a buying signal. You can jump into that room and start a conversation. No cold outreach — they came to you. They're already interested. All you have to do is answer their question, clarify the difference between plans, or offer a quick demo. The close rate on these conversations is dramatically higher than any outbound channel.

Discord and Slack notifications mean you don't have to watch all day. Set up alerts for high-intent pages — pricing, enterprise, contact — and get pinged the moment someone arrives. You go from reactive to proactive without sitting in front of a dashboard.

One line to install

<script src="https://floorsjs.com/embed.js" data-key="flr_..."></script>

Paste it before </body> in your layout. Works with any SaaS stack — static HTML, Next.js, Nuxt, Astro, WordPress, or Webflow. Pages become rooms automatically. No config needed.

Frequently asked questions

Does it work with single-page apps?
Yes, floors.js detects client-side navigation (pushState, replaceState, popstate). Works with React, Next.js, Vue, Nuxt, SvelteKit, etc.
Will visitors see my team's names?
Only if your team members are in the room. You choose your display name. Visitors get random names unless they set their own.
Can I use it alongside Intercom or Crisp?
Yes. floors.js doesn't conflict with other chat widgets. It runs in its own DOM layer with prefixed IDs.
Is there a visitor limit?
Each site supports up to 400 concurrent visitors. More than enough for most SaaS websites.
Does it affect page load speed?
No. The script loads asynchronously. Three.js only loads when a visitor opens the widget. Core Web Vitals are unaffected.

Alternatives & Comparisons

Intercom Alternative Crisp Alternative Tidio Alternative tawk.to Alternative vs Gather vs SpatialChat