Talk to visitors, and keep the conversation when they sign up
Visitors on your marketing site start a chat before they have an account. When they sign up the conversation follows them, and your inbox shows them go from visitor to user to customer.
Visitors on your marketing site start a chat before they have an account. When they sign up the conversation follows them, and your inbox shows them go from visitor to user to customer.
Answer questions while the visitor is still deciding, on the page they are reading.
See which conversations became sign-ups, and which became paying customers.
Separate support and marketing consent with the wording kept, and visitors deleted when they never sign up.
One script on your site: launcher, consent, conversations and an unread badge, in English and Danish.
Each new visitor solves a proof of work in the browser, and new visitors are rate limited.
Support and marketing consent are separate records, kept with the wording the visitor saw and the page it came from.
On sign-up their conversations move to the account, by verified email or a one-time code.
A paid plan in Billing makes them a customer. The inbox shows Visitor, User or Customer.
Visitors who never sign up are deleted after 90 days by default. Export and erasure are built in.
When a user signs in, their token carries who they are, their organisation and role, their plan and payment status, and what your flags target. Your API checks it in one guard, offline, and your UI reads the same answers.
sub · amrorg.rolebilling.planflag()The proof of work runs in the browser. The visitor token stays in the tab by default, and stops working once the conversation has moved to the account.
// On your marketing site: a visitor, before they have an account
import { openChat, sessionStorageStore } from '@anchring/auth/chat';
const chat = openChat({ project: 'acme', env: 'prod', visitor: { store: sessionStorageStore() } });
await chat.startVisitor({
email: 'ada@example.com', // optional
consent: { support: true, marketing: true, text: supportText, marketingText },
});
const { conversation } = await chat.start('Do you offer yearly billing?');
// They sign up: the conversation follows them (a verified email links it by itself)
const { code } = await chat.conversionCode(); // on the site, into the sign-up link
await appChat.convert(code); // in your app, signed inPrices in euros, excluding VAT. Test environments include every feature on every plan.
1 chat seat
2 chat seats
More seats €9 a month each
5 chat seats
More seats €9 a month each
15 chat seats
More seats €9 a month each
Unlimited chat seats
Unlimited chat seats
No, it is optional. Without one, replies they miss can't be emailed, and marketing consent needs one.
They are deleted with their conversations and consent records after 90 days without activity by default. You can set anything from 7 to 730 days.
It is the same inbox and widget. Lead gen is the visitor side: turn on visitors in the chat settings and add your site's address.
Add the widget to your site in the test environment and follow a visitor from the first message to an account.
Hosted sign-in, organisations, roles and enterprise SSO.
Teams, invites, custom roles and org switching, with the role in the token.
Plans, checkout, invoices and EU VAT, with the plan in the token.
Targeting and rollouts, evaluated offline from the token.
Talk to your users beside their plan, roles and flags.
Act as a user with a reason, a time limit and an audit trail.