ActiveCampaign
A weekend of work, and real gaps remain.
Marketing automation with a CRM attached: multi-step visual automations, lead scoring, segmentation, and sales pipelines in the same system.
Build the marketing automation I actually need instead of ActiveCampaign. Be realistic about what people actually use: **most accounts run four automations and a monthly newsletter.** Build those, well, and you have replaced the product for a fraction of the effort — and the pricing here escalates hard with list size, which is why people leave. STACK - Node 20+ with Fastify, server-rendered HTML with a little vanilla JS - SQLite through better-sqlite3, WAL mode - A worker process - MJML for templates, a relay for delivery - Caddy in front THE DATA MODEL - contacts: id, email, attrs_json, score, consent_at, source, unsubscribed_at - events: id, contact_id, name, props_json, at — one table for every behaviour - automations: id, name, trigger_json, steps_json, is_active, version - enrolments: id, contact_id, automation_id, version, position, next_at, entered_at, exited_at, exit_reason - sends, deals, stage_changes as in any CRM, all append-only where they record history THE AUTOMATION ENGINE - Steps: wait, send, condition, tag, score, webhook, add to a pipeline. Seven step kinds cover everything anybody builds - **The enrolment stores the automation version.** Editing an automation while people are inside it otherwise moves them to a step that no longer means the same thing — this is the subtle bug that produces messages nobody can explain - A lease on the queue, idempotency per contact per step, exit conditions evaluated before every step - A hard cap on total sends per contact per day across everything - **A visual run history per contact**: which steps they hit and when. Without it, 'why did she get this email' is unanswerable, and that question is asked weekly SCORING, WITH A WARNING - Points for behaviours, decayed over time. Decay matters: a score that only rises makes everybody hot eventually - **Sales will ignore the score unless they can see what produced it.** Show the contributing events on the contact, or the whole mechanism is decoration - Validate the score against outcomes: do high scorers actually convert more? If not, the weights are guesses and should be changed or abandoned THE CRM HALF - Deals with an append-only stage history, a required lost reason, and a next action on every open deal - Automations that can create and move deals, and deal changes that can enrol contacts. That two-way link is the reason to have both in one system COMPLIANCE AND DELIVERABILITY - Confirmed opt-in recorded, permanent suppression, one-click unsubscribe, plain text alternative - Stop mailing six months of silence, which is the cheapest deliverability lever there is - Rent the sending through one small adapter so the provider stays swappable WHAT MATTERS MOST Versioned enrolments and a per-contact run history. One keeps the automations correct as they change; the other is the only way anybody can debug them.
What you lose
- A visual automation builder marketers use unaided
- A very large library of integrations
- Lead scoring wired into the sales pipeline
- Deliverability at scale
If you would rather not build
- Customer.io, if the automations are genuinely complex
- A newsletter and one welcome sequence, which is what most accounts use
The escape hatch
open source · no votes, no paid placement
Listmonk
$0Self-hosted campaigns and lists with an API to drive from a worker.
knadh/listmonkfree · open source
Why this verdict
our own opinion · changed only by a person
54/100
Verdict kinda at 54: the engine is buildable and the integrations are not. Versioning enrolments is the detail that prevents the weirdest class of bug in this category.
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 ActiveCampaign
answered from the record above
Is ActiveCampaign free?
No — the plan we track is $29 a month. Starter at $29/month for 1,000 contacts billed annually, rising steeply with list size.
Can you replace ActiveCampaign by building your own?
ALMOST. A weekend of work, and real gaps remain. Replacement score 54 out of 100, build time a weekend. Read what you lose before you decide.
How much does ActiveCampaign cost?
$29 a month on Starter — $348 a year. Recorded 14 Aug 2026.
What do you lose by replacing ActiveCampaign?
A visual automation builder marketers use unaided; A very large library of integrations; Lead scoring wired into the sales pipeline; Deliverability at scale. If any of those carry weight for you, keep paying.
Is there an open-source alternative to ActiveCampaign?
Yes: Listmonk, Twenty. 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

