← Back to case studies
MarketingJuly 2026

Email deliverability: 8.6% to 0.1% bounce

See how we cleaned a 200,000-address base that was bouncing one email in twelve, and proved it on a full-base send rather than a sample.

0.13%

Bounce rate

Down from 8.62%

99.87%

Delivered

On a full-base send

173,247

Recipients

In a single campaign

62,984

Profiles cleared

Suppressed, not deleted

Executive summary

A French food media brand with a 600,000-subscriber history was bouncing 8.62% of the emails it sent. We audited where the bad addresses came from, stopped the source, cleared the accumulated damage through the platform's bulk API, and proved the result on two full-base sends rather than a sample.

The challenge

A bounce rate of 8.62% is not a reporting problem. Past a few percent, mailbox providers start reading the sending domain as a spam source, and the emails that stop arriving are the ones people actually asked for. The brand was one bad campaign away from losing its main channel to an audience it had spent years building.

The base had been growing the wrong way. Fifteen thousand addresses were being injected every week without verification, so every cleanup was undone within days. Old lists nobody owned any more were still active. Two DNS records were misconfigured. Each of these on its own is minor. Together they produced a base that degraded faster than anyone could clean it.

The obvious move, deleting the bad addresses, was the wrong one. Deletion destroys the history that tells you why an address went bad, and it is irreversible. The base also held a large segment of subscribers who had simply never engaged, which is not the same thing as a bad address and is worth keeping.

What we built

Stopping the intake

The weekly injection of 15,000 unverified addresses was stopped, the reactivation flow that was mailing the oldest part of the base was moved to draft, and the abandoned lists were renamed and archived rather than deleted. Two DNS anomalies on the sending domain were corrected.

Clearing the backlog

62,984 profiles were processed through the platform's bulk-suppression API in 631 jobs. Suppression, not deletion: the profiles keep their history and can be restored. 29,276 were newly suppressed; the rest had already been suppressed automatically over previous months, which is why the bounce rate had already been falling on its own from 24% in April to 2% in June.

Proving it

Two real campaigns were sent to the full base, not to a sample. A sample proves nothing about deliverability, because the bad addresses are not evenly distributed.

The stack

Claude CodeKlaviyo APIPython

Claude Code drove the API work, ran the suppression jobs in batches, and pulled the verification numbers back out of the platform afterwards.

Results

Two full-base campaigns, four days apart. 17 July, 173,247 recipients, 0.35% bounce. 21 July, 171,353 recipients, 0.13% bounce and 99.87% delivered. From 8.62% to 0.13%.

The brand can now mail its entire base without putting the sending domain at risk, which is the whole point. The deliverable base is around 172,000 addresses, and that number is now real rather than a figure on a dashboard.

Nothing was lost. Every suppressed profile is recoverable, the never-engaged segment of 54,619 addresses is intact and still receiving, and the archived lists are still there.

What we learned

  • Cleaning a base without stopping what dirties it is a task you repeat forever. The weekly injection was the actual problem; the purge was the symptom.
  • A suppressed profile is not a deleted profile, and segment counters keep counting them. A cleanup can look like it did nothing when it worked perfectly.
  • Unsubscribes are auto-suspended by the platform and never billed. Blocking them to cut the bill is a non-move: we tested it on 50,311 profiles and every one was ignored because they were already suspended.
  • Measure on the full base or do not claim a result. Bad addresses cluster, so a sample send tells you nothing.
  • Archive, never delete. The history of why an address went bad is what stops you making the same mistake next quarter.

How it works

01

Audit the intake

Find every route by which an unverified address enters the base.

02

Stop the source

Cut the injections, park the flows that mail the oldest segments, fix the sending records.

03

Clear in bulk, reversibly

Suppress through the API in batches, never delete.

04

Prove on the full base

Send two real campaigns and read the bounce rate.

See what your team
can hand to AI

A free 30-minute call. We map one workflow together and you leave with a plan you can use, with or without us. Meeting us at the AI Summit Barcelona on September 22? Grab your slot here.

Book a Free Strategy Call