Drift
A weekend of work, and real gaps remain.
Conversational marketing: a chat widget aimed at sales rather than support, qualifying visitors and booking meetings with the right representative.
Build the sales chat I actually need instead of Drift. The thing worth copying is narrow: **a visitor who is ready to talk should be able to book a meeting without leaving the conversation.** Everything else in this category is a chat widget with a decision tree. STACK - Node 20+ with Fastify, server-rendered HTML with a little vanilla JS - SQLite through better-sqlite3, WAL mode - Server-sent events for the live half — WebSockets are unnecessary here - Caddy in front THE DATA MODEL - conversations: id, visitor_hash, page, referrer, started_at, assigned_to, status - messages: id, conversation_id, author_kind, author_id, body, at - playbooks: id, name, trigger_json, steps_json, is_active - qualifications: id, conversation_id, field, value, at - bookings: id, conversation_id, rep_id, starts_at_utc, calendar_event_id - reps: id, name, timezone, working_hours_json, territories_json, is_available THE WIDGET - A small script, no framework, loaded after the page and never blocking it - Everything inside a shadow root so your CSS and theirs cannot collide - Under 20KB. **A chat widget that slows the page loses more revenue than it creates**, and most commercial ones are several hundred kilobytes THE PLAYBOOK, KEPT SMALL - Trigger on page, time on page, referrer, or return visit - A few questions with buttons rather than free text — buttons get answered, open questions do not - Store each answer as a qualification row, so the conversation produces structured data and not only a transcript BOOKING INSIDE THE CHAT, WHICH IS THE WHOLE POINT - After qualification, route to a rep, compute their availability, and **show three slots in the chat itself.** Not a link, not an email - Hold the slot while they choose, release after a couple of minutes, re-check inside the transaction on confirm - Everything in UTC, working hours as local times with a named zone, both daylight-saving transitions tested - If nobody is available, offer a wider pool rather than nothing BEING HONEST WITH THE VISITOR - **Say plainly when they are talking to software and when a person joined.** A bot pretending to be a person is the fastest way to lose the trust you opened the chat to build, and in some jurisdictions it is regulated - Show real availability. 'We usually reply in an hour' is better than a fake typing indicator - One proactive message per visit, never repeated, and dismissible for good THE HUMAN SIDE - An agent view with a keyboard-first list, saved replies, and the visitor's page history beside the conversation - Assignment with a claim, so two people do not answer at once - A transcript emailed to the visitor if they ask WHAT NOT TO DO - Do not attempt company identification from IP addresses. It is inaccurate, it is a privacy problem, and the conclusions drawn from it are usually wrong WHAT MATTERS MOST Slots inside the chat, and honesty about the bot. The first is the conversion; the second is why anybody engages at all.
What you lose
- Qualification and booking inside one conversation
- Routing that knows which salesperson owns the account
- Playbooks a marketing team edits without a developer
- Identification of the company behind a visit
If you would rather not build
- A contact form and fast replies, which converts better than most bots
The escape hatch
open source · no votes, no paid placement
Why this verdict
our own opinion · changed only by a person
48/100
Verdict kinda at 48: the widget and scheduler are known work; account routing and enrichment are not. The weight rule matters — most commercial chat widgets are a performance problem.
History
tracked since 14 Aug 2026 · nothing is ever overwritten
Nothing recorded yet. This chart fills in once the page has visitors, votes or prompt copies — it will not draw a flat line to look busy.
Questions about Drift
answered from the record above
Is Drift free?
No — the plan we track is $2,500 a month. Sold as an annual contract, commonly quoted from around $2,500/month for the plans that include routing and bots.
Can you replace Drift by building your own?
ALMOST. A weekend of work, and real gaps remain. Replacement score 48 out of 100, build time a weekend. Read what you lose before you decide.
How much does Drift cost?
$2,500 a month on Premium — $30,000 a year. Recorded 14 Aug 2026.
What do you lose by replacing Drift?
Qualification and booking inside one conversation; Routing that knows which salesperson owns the account; Playbooks a marketing team edits without a developer; Identification of the company behind a visit. If any of those carry weight for you, keep paying.
Is there an open-source alternative to Drift?
Yes: Chatwoot, Cal.com. The prompt on this page is for when you want it your way instead.
Related entries
same category first, most replaced first
Every week, something stops being worth paying for.
New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.
free forever · no tracking pixel · stored here, never passed to anyone

