How a DACH retail group recovered Gmail reputation after three ESP migrations
A 90-day engaged-segment recovery against an 8.4M-subscriber list with three years of accumulated reputation drift across Sendgrid, Mailchimp Transactional and an in-house Postfix relay.
- Gmail Postmaster reputation
- Low → High
- +2 tiers
- Active-segment open rate
- 11.8% → 31.2%
- +19.4 pts
- Spam complaint rate (PMT)
- 0.31% → 0.04%
- −87%
- Recovery completed in
- 90 days
- on schedule
The challenge
The client arrived after three years of compounding reputation drift. They had migrated from an in-house Postfix relay to Sendgrid in 2022, then to Mailchimp Transactional in 2023, then back to a hybrid setup in 2024. Each migration carried over the cumulative engagement signal from the prior platform without any cleanup pass — meaning by Q4 2025, Gmail Postmaster Tools was showing the consolidated brand domain at "Low" reputation across all three brand subdomains they used.
The list itself was the second part of the problem. 8.4M subscribers acquired across nine years of sweepstakes, content downloads and double-opt-in conversions. Roughly 18% of the list had opened a campaign in the trailing 180 days. Roughly 41% had not opened anything since 2022. The remaining 41% sat between those poles. Sending volume was, however, calibrated against the entire list — meaning every weekly campaign was hammering the dormant segment with mail Gmail correctly classified as low-engagement.
The third constraint was business: the marketing team had a Q1 promotional calendar already locked. They could not pause sending to do a "clean room" recovery. Whatever recovery approach we chose had to coexist with continued promotional volume, and the recovery had to be measurable enough that the executive team would extend the engagement past the initial 90-day commitment if the methodology worked.
On the Microsoft side, the picture was less catastrophic but had its own warning signs. SNDS reputation showed Yellow with periodic dips into Red on Wednesdays (the day they sent their largest weekly campaign). JMRP complaint rates were stable but elevated at 0.21%. Microsoft's May 2025 enforcement of the 5,000-emails-per-day threshold for non-compliant senders had not landed for them yet only because their daily-per-domain volume was just below the threshold.
Approach
The engaged-first recovery framework is built on a single observation: receivers measure reputation against signal density, not against absolute send volume. A sender pushing 100k/day to an engaged segment with 30%+ opens looks like a better neighbour than the same sender pushing 100k/day to a 4%-open dormant segment. Recovery, then, is a matter of restructuring the volume so the engaged signal density rises before the absolute volume returns to its baseline.
The 90-day plan we designed had four phases. Phase 1 (days 1-21) reduced sending to the trailing-90-day-engaged 18% segment exclusively. Daily volume dropped from ~480k to ~85k, but signal density rose immediately because every send was hitting subscribers who actually wanted the mail. Phase 2 (days 22-45) added back the trailing-180-day-engaged segment with engagement-weighted reactivation flows — content offers, preference-centre prompts, and explicit "still want to hear from us?" sequences. Phase 3 (days 46-75) reintroduced the trailing-365-day inactive segment with sunset-warning sequences that gave subscribers a clear "click here to stay subscribed" pathway. Phase 4 (days 76-90) returned the surviving population to the standard promotional cadence.
On the infrastructure side, we moved sending from the shared Sendgrid pool to a dedicated /27 in our Netherlands datacentre with explicit per-ISP throttling for the receivers that mattered most for the German market: Gmail (40% of the active list), Web.de (12%), GMX (10%), Outlook.com (9%), Yahoo (4%) and the long tail of Telekom, Vodafone and 1&1 mailboxes. The Wednesday spike that had been triggering Microsoft SNDS dips was smoothed out by spreading the campaign deployment across a 4-hour window instead of the previous 30-minute burst.
On the authentication side, we tightened SPF from 14 lookups (over the 10-lookup limit) to 7, rotated DKIM keys from RSA-1024 to RSA-2048 plus a dual-signed ed25519 selector, and migrated DMARC from p=none to p=quarantine over the recovery window. We did not push to p=reject during the recovery itself — that would have layered an unrelated migration risk on top of the reputation recovery. The reject migration came in month 6, after the reputation work had stabilised.
Outcome data
Per-receiver and per-week breakdowns from the engagement.
Gmail Postmaster reputation progression (90-day recovery)
Daily volume vs active-segment open rate
ISP-by-ISP inbox placement: pre vs post recovery
Spam complaint rate (Gmail Postmaster Tools)
Technical detail
The PowerMTA configuration we deployed used a per-ISP virtual MTA layout with explicit deliveryQuotas tuned against the German receiver landscape. Gmail had its own VMTA pool (4 IPs), Microsoft another (3 IPs), Web.de+GMX+T-Online together as the German freemail tier (3 IPs), and the long tail on a generalist pool (2 IPs). The throttle curves were not the standard "logarithmic ramp" template — they were calibrated against per-ISP feedback signals captured from the prior 90 days of Sendgrid logs that we ingested before cutover.
The DKIM rotation deserves a paragraph on its own. The brand domain had been signing with a single RSA-1024 selector since 2019. RSA-1024 is below current cryptographic best practice (Google has been threatening to deprecate it for years) and the single-selector setup made future rotation operationally fragile. We deployed three new selectors: a primary RSA-2048 (s2026a), a fallback RSA-2048 (s2026b for emergency rotation), and an ed25519 (s2026e) selector signed in parallel for receivers that support it. The legacy RSA-1024 selector stayed published for the first 30 days to handle in-flight mail with mailing-list forwarding, then was retired.
The reputation tracking we instrumented was not just Gmail PMT and Microsoft SNDS — those are useful but lagging. We added Talos reputation polling, Sender Score sampling against a basket of 200 random list addresses, and Cisco IronPort sender reputation classification. Together those four signals gave us a near-realtime view of reputation movement that surfaced two intermediate-stage anomalies (one in week 3, one in week 7) that we caught and fixed before they reached Gmail PMT visibility — by the time PMT showed a dip, we had already corrected the underlying cause.
On the bounce-handling side, the previous setup had been treating all 5xx bounces identically. We split bounces into seven classes (recipient unknown, mailbox full, message rejected on content, sender reputation reject, policy reject, infrastructure/temporary, other) and routed each class through a different remediation pipeline. The "sender reputation reject" class went straight to a sender-reputation review; the "policy reject" class fed into a content-template audit. The "recipient unknown" class triggered a sunset event after 3 occurrences within 30 days. The hygiene effect was visible by week 6.
The MTA-STS deployment was not technically required for recovery, but we included it because it was cheap to do and it cleaned up an existing TLS-RPT report stream that was showing the brand domain getting opportunistic-TLS-only delivery from a noticeable minority of receivers. The MTA-STS policy went out at "testing" mode for 14 days, then was upgraded to "enforce" with a max-age of 86400. The TLS-RPT reports two months later showed 99.97% TLS-required delivery success.
The reporting cadence we set up for the executive team was monthly: a 12-page deck with reputation tier movement, ISP-by-ISP placement deltas, complaint-rate and bounce-rate trends, and a forward-looking "what we expect to see in the next 30 days" section that captured both planned changes and known industry events (Gmail policy shifts, Microsoft enforcement, holiday-period sending pressure). The cadence was deliberate — monthly is frequent enough to stay tactically relevant, infrequent enough that the underlying reputation signals have time to settle.
Results
At day 90, the Gmail Postmaster Tools reputation tier had moved from Low to Medium-High and continued to drift up to High by day 110. Microsoft SNDS settled at consistent Green by day 75. The active-segment open rate, measured against the 18% engaged cohort that we were sending to in Phase 1, rose from 11.8% at engagement start to 31.2% by week 12. The complaint rate on Gmail Postmaster dropped from 0.31% to 0.04% over the same window.
The list-hygiene side effect was significant. Of the 8.4M starting subscriber count, 2.7M (~32%) responded to the sunset-warning sequences during phases 2 and 3. The remaining 5.7M — the genuinely engaged base — became the new sending baseline. Total send volume in month 4 (post-recovery) was 41% lower than month 0, but revenue from the email channel was up 18% because the conversion rate against the engaged base was substantially higher.
The DMARC migration to p=reject completed cleanly in month 6, with zero false-positive rejections of legitimate forwarded mail recorded in the 90 days following the policy change. The internal team has since taken over routine deliverability operations using the runbooks we documented. We retain a quarterly advisory engagement to review reputation health and incident-response readiness.
"Six months later we are back to 31% opens on the active segment, complaint rate is comfortably under 0.05%, and Postmaster Tools shows us at "high" again. The recovery framework is documented well enough that our internal team now runs the BAU work themselves."
Have a similar engagement?
If this case study describes a problem close to yours, we will give you a 30-minute diagnostic call at no cost — honest read on whether the playbook would translate.