Domain Workspaces
Domain workspaces let one FloatMessage account power multiple separate websites. Each domain has its own messages, chat conversations, submissions, and tickets — so an agency or multi-brand team can manage everything from one dashboard without mixing data.
Adding a domain
- Open Dashboard → Domains.
- Click + Add domain.
- Enter a friendly name (e.g. “Acme Marketing”) and the actual domain (
acme.com— no protocol, no trailing slash). - Save. The domain is immediately available in the workspace switcher.
You can add as many domains as you need. There's no DNS or TXT verification — the domain just acts as a logical workspace key.
The workspace switcher
Once you have at least one domain, a workspace switcher dropdown appears in the dashboard sidebar. Pick a domain to scope the entire dashboard to that workspace:
- Messages — only shows messages assigned to the current domain.
- Chat — only shows conversations from visitors on that domain.
- Submissions — only shows form submissions from that domain.
- Surveys — only shows responses from that domain.
- Tickets — only shows tickets created from that domain's data.
New messages you create while a domain is selected are automatically tagged with that domain. To create a message that's available across all domains, switch to All domains in the switcher first.
Embed script
On the website itself, the embed script needs to know which domain to load messages for. There are two ways to set it:
Auto-detect (recommended)
If you don't set data-domain, FloatMessage uses the visitor's current window.location.hostname. This is the simplest setup — just paste the same script tag on every site you own:
<script
src="https://floatmessage.com/embed/floatmessage.js"
data-user="YOUR_USER_ID"
></script>Explicit override
Set data-domain when you want to scope to a specific domain regardless of where the script runs (useful for staging environments or preview deployments):
<script
src="https://floatmessage.com/embed/floatmessage.js"
data-user="YOUR_USER_ID"
data-domain="acme.com"
></script>How matching works
When the embed script calls /api/embed/user?userId=…&domain=acme.com, the server:
- Looks up the domain
acme.comin your account. - If found, returns messages where
domainIdmatches the domain's ID or is unset (cross-domain messages). - If not found, returns messages where
domainIdis unset only.
This means a brand-new domain that hasn't been added to FloatMessage yet still gets your cross-domain messages — it just won't see anything domain-specific until you add it.
Use cases
- Agencies — manage many client websites from one dashboard. Combine with team management to give each client a viewer-role login on their own workspace.
- Multi-brand companies — keep separate chat, popups, and surveys per brand without spinning up multiple FloatMessage accounts.
- Geographic sites — run different campaigns on
acme.comandacme.fr. - Staging vs production — point staging at a separate domain workspace so test traffic and conversations stay out of your live data.