Case Study: How a B2B SaaS Cut Spam Folder Placement From 60% to 4% in 90 Days

A real recovery playbook from a 50-person SaaS company that watched trial conversions collapse when their lifecycle emails started landing in spam. The exact diagnosis, fixes, and timeline.

In Q2 2025, a B2B SaaS company, Northwind Digital, noticed something strange: their free-to-paid trial conversion rate had dropped from 11.2 percent to 6.8 percent over six weeks. Marketing blamed product. Product blamed onboarding. Engineering blamed marketing. Nobody was looking at email.

When they finally ran a seed list test, the answer was obvious. Sixty percent of their lifecycle automation emails were landing in the spam folder at Gmail, with similar results at Yahoo and a slightly better picture at Outlook. The trial flow depended on five automated emails sent over fourteen days. When more than half of those emails never reached the inbox, conversion collapsed.

This is the complete diagnosis and 90-day recovery playbook that took spam folder placement from 60 percent down to 4 percent and lifted trial conversion back above baseline.

Key Takeaways
  • The crisis was caused by three compounding issues: an SPF record that had silently broken six months earlier, no DMARC enforcement, and a single high-complaint campaign that poisoned domain reputation.
  • The recovery sequenced authentication fixes first (weeks 1-2), list hygiene second (weeks 3-4), and engagement-focused rebuilding third (weeks 5-12). Skipping the ordering would have wasted the early sends.
  • Reputation recovery is not linear. Inbox placement bounced between 40 percent and 70 percent for the first four weeks before stabilizing as Gmail and Yahoo updated their internal sender models.
  • The single highest-leverage fix was suppressing roughly 38 percent of the list (long-dormant subscribers and recent complainers) before resuming sends. This was politically difficult internally but mechanically essential.
  • Final state: 96 percent inbox placement across Gmail, Yahoo, and Outlook; trial conversion recovered to 12.4 percent (above pre-crisis baseline).

The Background

Northwind sells project management software to mid-market manufacturing firms. At the time of the crisis they had roughly 50,000 active users and a marketing list of 280,000 contacts. Monthly send volume across all categories ran around 1.1 million emails, split roughly 60 percent transactional, 25 percent lifecycle automation, and 15 percent broadcast newsletter.

They sent through SendGrid on a shared IP pool with a custom return-path domain. Their authentication setup, in theory, was complete: SPF, DKIM, and a DMARC record with p=none. They had been sending without major issues for three years.

The Diagnosis

The first action was a full audit using our standard diagnostic stack: seed list placement test across 40 mailboxes covering Gmail, Yahoo, Outlook, Apple iCloud, AOL, and Comcast; live header inspection of recent campaigns; DMARC record analysis; SPF lookup audit; reputation pull from Google Postmaster Tools and Microsoft SNDS; and a complaint history review going back six months.

Three findings explained the crisis.

Finding 1: Broken SPF record

Northwind had added a marketing automation tool (Customer.io) six months earlier and updated their SPF record to include it. The update pushed the record past the 10-lookup limit, triggering a SPF PermError on every authentication check. Because their DMARC was at p=none, no mail was rejected, but every recipient that evaluated SPF saw a failure.

The SPF record looked like this:

v=spf1 include:_spf.google.com include:sendgrid.net include:_spf.customer.io include:mail.zendesk.com include:_spf.salesforce.com include:_spf.intercom.com include:mailgun.org include:spf.protection.outlook.com ~all

Counted out, the record required 12 DNS lookups to fully resolve. Anything above 10 triggers PermError under the RFC. The DMARC reports they had been receiving (but not reading) showed this clearly for six straight months.

Finding 2: DKIM signing not aligned for lifecycle automation

The transactional and newsletter mail was DKIM signed correctly with d=northwind.com (their root sending domain). The lifecycle automation, configured through a different SendGrid subuser, was signing with d=u123456.wl.sendgrid.net. DKIM technically passed, but it did not align with the From domain under DMARC alignment rules. Combined with the broken SPF, lifecycle emails failed DMARC alignment on both mechanisms.

Finding 3: A single bad campaign poisoned domain reputation

Eight weeks before we were brought in, Northwind had sent a re-engagement campaign to 95,000 contacts who had not opened email in over a year. The campaign produced a 1.4 percent complaint rate (the healthy threshold is below 0.1 percent) and a 14 percent hard bounce rate. Google Postmaster Tools showed their domain reputation falling from "High" to "Medium" within 24 hours of that campaign, then to "Low" over the following two weeks as continued lifecycle sends compounded the problem.

$185,000
Estimated annual revenue impact from the deliverability crisis before recovery, based on the gap between actual and historical trial conversion rates at Northwind ARPU.

The 90-Day Recovery Plan

The recovery sequenced fixes deliberately. Authentication first, because any sends made before fixing SPF and DKIM alignment would continue to fail DMARC and reinforce the bad reputation. List hygiene second, because rebuilding reputation by sending to known bad addresses would be self-defeating. Engagement-focused rebuilding third, because only real engagement signals from real subscribers move the needle at Gmail and Yahoo.

Weeks 1-2: Authentication overhaul

The SPF record was flattened to consolidate includes and reduce lookups:

v=spf1 ip4:192.0.2.0/24 ip4:198.51.100.0/24 include:_spf.google.com include:sendgrid.net include:_spf.customer.io ~all

By statically including the IP ranges for the lower-traffic senders (Zendesk, Intercom, Salesforce notifications) instead of nested includes, the lookup count dropped to 7. We documented the static IPs with a quarterly review cadence to catch any provider IP changes.

DKIM signing for the lifecycle automation subuser was reconfigured to use d=mail.northwind.com instead of the SendGrid default. The required two CNAMEs were added to DNS, and we ran header inspections on test sends to confirm alignment.

DMARC was advanced from p=none to p=quarantine with a 25 percent pct value, allowing gradual rollout. Aggregate reports were configured to flow into a parsing tool so the team would actually read them going forward. The full rationale for this rollout sequence is covered in the existing email authentication guide.

Weeks 3-4: List surgery

The 280,000-contact list was segmented by last engagement (open, click, or login) date:

SegmentLast EngagementContactsAction
ActiveWithin 90 days118,400Continue all sends
Recent91-180 days34,500Reduce frequency 50 percent
Lapsing181-365 days21,800Win-back attempt at end of recovery only
DormantOver 365 days89,200Suppress entirely
ComplainersAny spam complaint3,100Permanent suppression
Hard bouncesBounced once13,000Permanent suppression

The dormant segment (89,200 contacts, 32 percent of the file) was the politically hard cut. Marketing leadership initially resisted, arguing those were paid acquisitions. The case for suppression was that those contacts were already not generating revenue but were actively damaging the deliverability of the contacts that were. The data won the argument.

The remaining list was run through real-time email verification to catch syntax-valid but undeliverable addresses. The verification flagged an additional 7,400 risky addresses (catch-all domains, role accounts, and freshly created mailboxes that had not yet received delivered mail). Those were moved to a quarantine list for manual review.

Watch out: Verification services that only check syntax and MX records will miss spam traps and recently disabled mailboxes. Northwind used a verifier with actual SMTP probing and recent-activity scoring, which is what caught the additional 7,400 risky addresses that basic checks would have passed.

Weeks 5-8: Engagement-focused rebuilding

With clean authentication and a hygienic list, the rebuild phase began. The strategy was to manufacture genuine positive engagement signals by sending only to the most-engaged segment first, then expanding.

Week 5: Active segment only (118,400 contacts), only the highest-performing lifecycle emails. Send volume dropped to roughly 40 percent of pre-crisis levels.

Week 6: Active segment plus a small portion of the Recent segment, monitoring complaint and bounce rates daily. Sender reputation in Google Postmaster Tools shifted from "Low" back to "Medium" by end of week 6.

Weeks 7-8: Full Active and Recent segments. Newsletter resumed at half normal frequency. Google domain reputation reached "High" by the end of week 8.

Weeks 9-12: Stabilization and monitoring

Full send volume resumed by week 10, excluding the Dormant and Complainer segments which remained suppressed. DMARC was advanced from pct=25 to pct=100 at p=quarantine. Seed list testing was run weekly to confirm inbox placement was stable.

By day 90, the seed list showed 96 percent inbox placement (4 percent spam, 0 percent missing) across the major mailbox providers. Trial conversion had recovered to 12.4 percent, slightly above the pre-crisis baseline of 11.2 percent.

Pro Tip

When rebuilding reputation, resist the urge to "catch up" on missed sends. Sending suppressed cadence emails after a recovery resumes creates volume spikes that the reputation models read as suspicious. Treat the suppressed window as gone and resume normal cadence from the recovery date forward.

What Did Not Work

Three approaches were considered and rejected during the recovery, but are worth documenting because they are common suggestions that would have made things worse.

Switching ESPs

Migrating to a new ESP was suggested as a way to "start fresh." This would have been pointless. Domain reputation follows the domain, not the IP. A new ESP with the same domain would have inherited the existing reputation. Worse, the migration itself would have introduced authentication churn at the worst possible time. The full case against this approach is in the existing deliverability improvement guide.

Buying a dedicated IP

Moving to a dedicated IP was suggested as another reset. At Northwind volume (1.1M/month) a dedicated IP could be sustained, but the timing was wrong. Cold-warming a new IP while sender reputation was already low would have produced extremely poor week-one results. The cost of a dedicated IP was justifiable, but only after reputation had stabilized. They added one in month four, post-recovery.

Email warmup services

An external consultant suggested running their main domain through an email warmup network for two weeks. This was rejected hard. Synthetic engagement signals from warmup networks are detectable by Gmail and Outlook and treated as policy violations, making bad domain reputation worse rather than better.

Final Results

MetricPre-Crisis (Baseline)Crisis PeakDay 90 (Recovery)
Inbox placement (seed test)94%38%96%
Google domain reputationHighLowHigh
Complaint rate0.04%1.4% (peak)0.03%
Hard bounce rate0.6%14% (peak)0.2%
Open rate22.1%9.4%26.8%
Trial conversion rate11.2%6.8%12.4%

Lessons

The Northwind recovery surfaces patterns we see in nearly every B2B SaaS deliverability crisis:

  1. The crisis was preventable. The broken SPF record had been visible in DMARC aggregate reports for six straight months. Nobody was reading them. Setting up DMARC report parsing into Slack or a dashboard catches this category of failure long before it becomes a revenue problem.
  2. The triggering event was a single bad campaign. Re-engagement campaigns to year-plus dormant lists are the most common cause of acute reputation damage. The math is simple: 95,000 sends with 14 percent bounce rate puts you 13,300 over the cliff.
  3. The hardest part was internal. Suppressing 89,000 paid acquisitions felt wrong to marketing leadership until the conversion math made it inevitable. Pre-establishing the engagement segmentation policy makes this decision easier in the moment.
  4. Authentication fixes alone do not recover reputation. Fixing SPF and DKIM stopped the bleeding. Only weeks of engagement-positive sending rebuilt the relationship with mailbox providers.
  5. Reputation lags behavior by 2 to 4 weeks. Northwind made all the right fixes by day 14, but inbox placement did not stabilize until week 8. Expect a tail.

Frequently Asked Questions

A complete recovery typically takes 60 to 120 days depending on the severity of the original damage and the size of the affected list. Authentication fixes can be deployed in days, but rebuilding the engagement signals that mailbox providers use to score domain reputation requires weeks of consistent positive sending behavior.

Yes. A single high-bounce or high-complaint campaign to a stale list can drop domain reputation from "High" to "Low" within 24 to 48 hours at Gmail. Re-engagement campaigns to dormant subscribers are the most common single-cause trigger for this kind of acute reputation damage.

Usually not. Domain reputation follows your sending domain, not your ESP. Switching providers does not reset reputation at the mailbox provider level, and the migration itself introduces authentication risk at the worst possible time. Fix the underlying causes before considering a migration.

Suppress anyone who has not engaged in 12 months or longer, plus anyone who has ever complained or hard bounced. In typical B2B SaaS recoveries this works out to 25 to 40 percent of the list. The contacts you remove were not generating revenue but were actively damaging the deliverability of the contacts that were.

Yes. Domain reputation in Google Postmaster Tools is the single best leading indicator of recovery progress at Gmail. Expect movement from Low to Medium within 2 to 3 weeks of starting clean sends, and Medium to High within 6 to 10 weeks. IP reputation lags domain reputation by 1 to 2 weeks.

Share this article:
← Back to Blog