← Back to field notes

DTC SKINCARE · EU

Klaviyo bill dropped from $9k/mo to $3k/mo — and they finally got the segments they wanted.

An $11M skincare brand was paying $9k a month for Klaviyo at 280k contacts. Their renewal had just jumped from $5.4k. The CSM had a script for it. Meanwhile they still couldn't build the one segment that actually mattered — buyers of the cleanser who hadn't reordered in 60 days, minus the sample-pack people. We replaced the segment and flow engine with a small Postgres setup. Sending stays on a real provider (SES for email, Twilio for SMS — these still cost real money, ~$1.5k/mo together). Total drops from $9k to ~$3k. They own the system and can build any segment they want — including the ones Klaviyo's smart translate kept mixing languages on.

Brand name withheld under NDA. After-cost is real: SES + Twilio + a managed Postgres instance + the app. Not $400 — that would be a lie. Sample flow definitions and migration diff available on the audit call.

−67%
MONTHLY SAAS BILL
$72k
ANNUAL SAVING
+19%
REPEAT PURCHASE 60D
6 wk
PILOT
DTC SKINCARE · EUDTC SKINCARE · EU · 2026 · DETAILS REDACTED

THE PROBLEM

The segment they wanted most was the one Klaviyo couldn't build.

Their retention hypothesis was simple: target customers who bought the cleanser but hadn't reordered in 60 days. Exclude the sample-pack people. Klaviyo couldn't express this without paid integrations and a daily CSV export hack.

Meanwhile the bill kept climbing. $9k/mo at 280k contacts. The next pricing tier was already on the horizon. They were paying for the platform AND the workarounds.

WHAT WE BUILT

A small system that does what Klaviyo wouldn't.

Step 1: get all their data in one place. Every order, refund, signup, page view — into one Postgres database the marketing lead could query directly. Took an afternoon for her to learn the schema.

Step 2: a flow builder UI that feels like Klaviyo, but reads real columns. The segment they wanted on day one took her 30 seconds to build.

Step 3: migration. We copied every list, flow and suppression from Klaviyo. Sent both side-by-side for two weeks to prove deliverability. Then cancelled Klaviyo.

I stopped fighting the segment builder. Saved real money AND I finally got the flows I'd wanted for two years.

THE OUTCOME

Bill cut, retention up, founder owns the system.

  • Monthly bill (Klaviyo → SES + Twilio + Postgres)$9,000 → ~$3,000−67%
  • Annualized saving$72,000year one
  • Custom segments live0 → 1111
  • Repeat purchase within 60 days+19%+19%

WHAT WAS MESSY

Two things that broke before they worked.

Deliverability dipped in week one. We hadn't warmed the new SES sender domain properly. Took 5 days to recover and it scared everyone. Now we always run 2 weeks of parallel sending first.

Our first flow builder UI was too clever. The marketing lead wanted Klaviyo's mental model — drag, drop, done. We rebuilt the UI to look familiar.

WHAT'S NEXT

The Postgres setup became the foundation for everything else.

Once all their events lived in one place, every other thing got easier. The same data now powers a returns dashboard, a CS triage layer, and a Slack alert when a VIP customer's order ships late.

Net effect: $9k/mo Klaviyo replaced by ~$3k/mo (sending + infra), plus three custom workflows Klaviyo wasn't going to build on any plan.

YOUR LIFECYCLE STACK

Klaviyo eating $3k+/mo and still can't build the segment you actually want?

20-min audit. We look at your current bill, your top 3 wished-for segments, and tell you whether a rebuild pays back in six weeks.

Replies within one working day · EU, UK & US time zones