← all postsStories

How Keelhaul cut their email spend 82% in a single weekend

Migration story: 4.2M emails / month, three diverging suppression lists, one cutover sprint.

PR

Priya Ranganathan

Staff Engineer · Keelhaul · Apr 4, 2026 · 8 min read

Keelhaul ships shipment-status emails to 1.4M shippers a month. We were paying $14k/month to a legacy vendor, with a renewal that kept stepping up the per-thousand price. Our suppression list was per-server, our DKIM rotation was a Google Doc, and our on-call paged on bounce-rate spikes that we couldn't explain.

In a single Saturday-afternoon sprint we migrated 4.2M monthly sends to VoltMail Pro Max, consolidated three suppression lists into one, rotated DKIM with zero downtime, and cut the bill by 82%. Here is exactly what we did.

The starting point

  • Three sending IPs, each with its own diverging suppression list — 240k total rows.
  • DKIM keys rotated annually via a runbook that began with "ssh into mail-1".
  • No webhook replay — outages meant manual SQL to backfill state.

The cutover plan

We picked a Saturday because our send volume drops 40% on weekends and our on-call rotation overlapped two engineers. Total person-hours: 6.

Step 1 — Export + import suppression

Postmark exports suppression as one CSV per server. We concatenated, deduped, and ran the result through VoltMail's CSV importer. 240k rows landed in the global blocklist in 87 seconds.

bashcat suppress-{1,2,3}.csv | sort -u > merged.csv
voltmail suppression import merged.csv --reason BOUNCE_HARD

Step 2 — Domain verification + dual DKIM

Pasted our domain. VoltMail generated SPF, two DKIM selectors, MX, DMARC. We dropped the records into Cloudflare. Verification was green in 84 seconds.

Dual selectors mean the next rotation is zero-downtime. We promote the new selector once it propagates; the old one keeps signing until propagation completes globally.

Step 3 — Idempotent dual-send for 60 minutes

For one hour we sent every receipt through both providers, using the same Idempotency-Key (the order ID). VoltMail deduped the retries; we read both deliverability streams and confirmed parity. Then we flipped DNS and turned off Postmark.

The result, six months in

  • Total spend: $14,000 / mo → $2,500 / mo. 82% saved.
  • Gmail inbox placement: 96.1% → 99.4% (unified suppression caught retries earlier).
  • On-call escalations from email incidents: 4 in the prior 90 days → 0 in the last 90.

My CFO sends me thank-you GIFs. My on-call rotation sends me silence. Both are wins.

Priya Ranganathan, Staff Engineer · Keelhaul