Getting put in spam jail can feel like an injustice. What was your crime? Why does it feel like a black box?
The standard fixes are getting a new domain (which doesn't fix the root problem) or paying a "deliverability vendor" (one quoted us about $40K a year). I spent a lot of time going deep and solving it myself.
Deliverability isn't magic. The problem lives in one of seven measurable places. With Claude Code and APIs we already paid for, we found ours and got out of spam jail in six weeks.
Weekly bounce rate on the sales team's 1:1 email.
I identified seven places a deliverability problem can live. Each area can be measured.
| Place | Instrument | What ours said |
|---|---|---|
| Domain auth | dig (SPF, DKIM, DMARC) | No SPF record at all. DMARC reporting to nobody |
| Blocklists | Spamhaus, SURBL, Barracuda | Clean |
| List health | MillionVerifier bulk check | 12.8% of 125,000 emails dead |
| Mailbox health | Per-rep bounce pull from the CRM | A few reps over 20% bounce, others at 2% |
| Sending behavior | Asking the reps | Addresses sourced from ChatGPT, Grok, Gemini |
| Provider verdict | Google Postmaster Tools | Spam rate 0.4-0.7% vs the 0.3% ceiling. Reputation HIGH |
| Email content | Reading the actual sends | Mostly plain text. One mailbox: 190 same-subject sends in a day |
What it is. Three DNS records that prove your email actually comes from you. SPF lists which servers may send for your domain. DKIM signs each message. DMARC tells receivers what to do when a message fails, and where to send reports.
Good vs bad. Good: all three records live, and DMARC reports going to an inbox a human reads. Bad: missing records, or DMARC set to "do nothing and report to nobody."
What we found. One dig command, five minutes. Our domain had no SPF record at all. DKIM was fine. DMARC was reporting to nobody. Wrong for years, because nobody owned it.
The fix. SPF live the same week. DMARC reports now file to a monitored inbox. Once the reports stay clean for a few weeks, the policy tightens to quarantine.
What it is. Public lists of known spam senders (Spamhaus, SURBL, Barracuda) that mail providers check before delivering you.
Good vs bad. Good: not listed. Bad: listed. If you're on one, everything else waits until you work the delisting process.
What we found. Clean on all three. Ten minutes, one suspect ruled out.
The fix. Nothing to fix. But check this first anyway, because being listed changes the whole plan.
What it is. The share of addresses in your CRM that are real, live mailboxes. Every dead one becomes a bounce, and bounces tell Google you don't know who you're emailing.
Good vs bad. Good: every address verified before anyone sends to it, bounce rate under 2%. Bad: a double-digit dead rate. Ours was double digit.
What we found. We ran all 125,000 CRM emails through MillionVerifier. 12.8% were dead. Sixteen thousand addresses that bounce every single time.
The fix. Purged all 16,000, with the original value backed up on each record. Bounce rate fell from 7.4% to about 5% in two weeks. New lists now get verified before a rep ever sees them.
What it is. The same domain looks different sender by sender. Each mailbox has its own bounce rate, volume pattern, and warmup score.
Good vs bad. Good: every mailbox under 2% bounce, human-shaped sending. Bad: one mailbox blasting 190 copies of the same subject line in a day, or bouncing a fifth of its sends.
What we found. The per-rep pull settled the biggest question fast. A few reps were bouncing over 20% of their sends. Others on the same domain ran clean at 2%. The domain wasn't rotting. Specific mailboxes were.
The fix. A per-rep scorecard shared with sales leadership, bounced addresses purged on a schedule, and warmup scores tracked weekly so a sliding mailbox shows up before Google notices it.
What it is. How addresses get into your CRM and how reps actually send. No tool measures this one. You find it by asking.
Good vs bad. Good: addresses come from verified sources. Bad: addresses come from guessing.
What we found. After the purge, bounces kept coming, and the new ones were hitting contacts that didn't exist at purge time. Something was refilling the database. So I asked the high-bounce reps where their addresses come from. All four gave the same answer: when a website doesn't list an email, they ask ChatGPT, Grok, or Gemini and send to whatever comes back. Not a rogue rep. The standard workflow. No DNS record fixes that.
The fix. A verify-before-send tool that keeps their hunting workflow: paste an address, get SAFE TO SEND or DO NOT SEND. Google SSO, so every check is attributed. 49 reps used it in the first two weeks.
What it is. Google Postmaster Tools is Google's own scorecard on your domain: your actual spam-complaint rate and a domain reputation grade. It's the only ground truth for Gmail placement. Free, and most teams never set it up.
Good vs bad. Good: spam rate under Google's 0.3% ceiling, reputation HIGH. Bad: over the ceiling with reputation LOW. That's spam jail with the door closing.
What we found. Spam rate 0.4-0.7%, over the ceiling. But domain reputation still HIGH. Translation: the domain was saveable. No migration needed. That one answer changed the whole plan.
The fix. There's no direct fix. This number moves when everything above it moves. You watch it.
What it is. The emails themselves. Filters read everything: the subject line, the links, the images, the HTML weight, and how many identical copies you send.
Good vs bad. Good: plain text that reads like one person wrote it to another, one link at most. Bad: image-heavy HTML, embedded videos, stacks of links, designed templates. A newsletter-style email from a rep's mailbox reads as mass mail, because it is.
What we found. The sends were mostly plain text, but the CRM's Gmail integration adds an open-tracking pixel and signature images to every message. The bigger content problem was repetition: one mailbox sent 190 copies of the same subject line in one day. Identical content at volume is its own spam signal.
The fix. Blasts stopped. The rule now is simple: plain text, short, one link.
Every check above now lives on one page. It pulls the full email stack: CRM engagement data, mailbox warmup scores, Postmaster, the verifier, the transactional stream, raw DNS on every sending domain. It refreshes itself daily and answers "is the domain getting healthier" in ten seconds.
| primary domain | SPF DKIM DMARC |
| satellite 1 | SPF DKIM DMARC |
| satellite 2 | SPF DKIM DMARC |
A mockup of the dashboard. The real one is password gated and pulls live from seven sources. Want this for your own domain? I made a free DIY version you can fill in yourself.
That visibility is the whole win. Problems show up while they're small: a rep's bounce spike, a broken SPF edit, a warmup score sliding. We see it and fix it the same week, instead of finding out months later when replies dry up.
The receipt is the chart at the top of this page. 7.4% bounce in early July, 2.5% by mid August. The vendor's model projected 3.0% after a year on their platform.
Sender reputation recovers on Google's schedule, not yours. Plan in weeks. And this covers sales-sent 1:1 email. Cold outbound and marketing email are separate streams with their own tooling. No product to install here. The rap sheet above is the whole method.