Drift

drift.com

ALMOST

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.

Promptfree, for everyone, and the only version there is
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

Chatwoot

$0

Open-source live chat and shared inbox, self-hostable.

chatwoot/chatwootfree · open source

Cal.com

$0

Open-source scheduling with team routing, embeddable.

calcom/cal.comfree · open source

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

Interest · last 30 days

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

All 29 in Customer support

Not sending yet

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

Esc