<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Sabo Nagy</title>
    <description>The latest articles on Forem by Sabo Nagy (@sabo_nagy).</description>
    <link>https://forem.com/sabo_nagy</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3867685%2F72eea16d-a961-4e41-bde9-cdd7a61e5281.png</url>
      <title>Forem: Sabo Nagy</title>
      <link>https://forem.com/sabo_nagy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/sabo_nagy"/>
    <language>en</language>
    <item>
      <title>The 5 Metrics That Predict Cold Email Domain Death (With Exact Thresholds)</title>
      <dc:creator>Sabo Nagy</dc:creator>
      <pubDate>Wed, 08 Apr 2026 11:52:49 +0000</pubDate>
      <link>https://forem.com/sabo_nagy/the-5-metrics-that-predict-cold-email-domain-death-with-exact-thresholds-1dh0</link>
      <guid>https://forem.com/sabo_nagy/the-5-metrics-that-predict-cold-email-domain-death-with-exact-thresholds-1dh0</guid>
      <description>&lt;p&gt;At enterprise cold email scale (100K+ emails per month), 10 to 20% of your active domains will burn every month. That's normal. The question is whether you detect it in time or find out two weeks later when your entire pipeline has dried up.&lt;/p&gt;

&lt;p&gt;We manage 650K+ inboxes across Microsoft 365, Google Workspace, and SMTP for 1,500+ clients at MailDeck. Here are the five metrics we track per domain and the exact thresholds that trigger action.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Spam Complaint Rate
&lt;/h2&gt;

&lt;p&gt;Where to check: &lt;a href="https://postmaster.google.com" rel="noopener noreferrer"&gt;Google Postmaster Tools&lt;/a&gt;, &lt;a href="https://sendersupport.olc.protection.outlook.com/snds/" rel="noopener noreferrer"&gt;Microsoft SNDS&lt;/a&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Zone&lt;/th&gt;
&lt;th&gt;Threshold&lt;/th&gt;
&lt;th&gt;Action&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Safe&lt;/td&gt;
&lt;td&gt;&amp;lt; 0.1%&lt;/td&gt;
&lt;td&gt;Continue sending&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Warning&lt;/td&gt;
&lt;td&gt;0.1 - 0.3%&lt;/td&gt;
&lt;td&gt;Reduce volume, review targeting&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pull domain&lt;/td&gt;
&lt;td&gt;&amp;gt; 0.3%&lt;/td&gt;
&lt;td&gt;Stop sending immediately&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Google's sender guidelines explicitly flag senders above 0.3%. At that point, the domain's reputation is damaged and recovery takes weeks of zero sending. Pull it at 0.3%. Waiting for 0.5% or 1% means you've already wasted hundreds of emails landing in spam.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Bounce Rate
&lt;/h2&gt;

&lt;p&gt;Where to check: Your sequencer dashboard (Instantly, Smartlead, etc.)&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Zone&lt;/th&gt;
&lt;th&gt;Threshold&lt;/th&gt;
&lt;th&gt;Action&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Safe&lt;/td&gt;
&lt;td&gt;&amp;lt; 3%&lt;/td&gt;
&lt;td&gt;Continue sending&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Warning&lt;/td&gt;
&lt;td&gt;3 - 7%&lt;/td&gt;
&lt;td&gt;Audit your list verification&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pull domain&lt;/td&gt;
&lt;td&gt;&amp;gt; 7%&lt;/td&gt;
&lt;td&gt;Stop sending, verify all remaining leads&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Prevention is the only real fix here. Verify every address through MillionVerifier or OmniVerifier before sending. At scale, even a 2% bad address rate compounds fast across thousands of emails per day.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Open Rate
&lt;/h2&gt;

&lt;p&gt;Where to check: Your sequencer dashboard.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Zone&lt;/th&gt;
&lt;th&gt;Threshold&lt;/th&gt;
&lt;th&gt;Action&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Safe&lt;/td&gt;
&lt;td&gt;&amp;gt; 30%&lt;/td&gt;
&lt;td&gt;Continue sending&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Warning&lt;/td&gt;
&lt;td&gt;10 - 30%&lt;/td&gt;
&lt;td&gt;Investigate deliverability&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pull domain&lt;/td&gt;
&lt;td&gt;&amp;lt; 10% for 7+ days&lt;/td&gt;
&lt;td&gt;Domain reputation likely damaged&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;One bad day is not a signal. A full week below 10% is. Note that Apple Mail Privacy Protection inflates open rates by preloading images, so treat this as a directional signal. A sudden drop from 45% to 8% is meaningful regardless.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Reply Rate
&lt;/h2&gt;

&lt;p&gt;Where to check: Your sequencer dashboard.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Zone&lt;/th&gt;
&lt;th&gt;Threshold&lt;/th&gt;
&lt;th&gt;Action&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Healthy&lt;/td&gt;
&lt;td&gt;&amp;gt; 4%&lt;/td&gt;
&lt;td&gt;Copy and targeting are working&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Investigate&lt;/td&gt;
&lt;td&gt;2 - 4%&lt;/td&gt;
&lt;td&gt;Could be copy, targeting, or deliverability&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Domain issue&lt;/td&gt;
&lt;td&gt;&amp;lt; 2% on one domain while others are fine&lt;/td&gt;
&lt;td&gt;Likely a deliverability problem with that specific domain&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;4 to 5% is our baseline across clients. Reply rate is the hardest metric to act on because it blends multiple factors. Isolate by comparing the underperforming domain against your other domains running the same campaign.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Reputation Score
&lt;/h2&gt;

&lt;p&gt;Where to check: &lt;a href="https://postmaster.google.com" rel="noopener noreferrer"&gt;Google Postmaster Tools&lt;/a&gt;, &lt;a href="https://sendersupport.olc.protection.outlook.com/snds/" rel="noopener noreferrer"&gt;Microsoft SNDS&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Google Postmaster rates reputation as High, Medium, Low, or Bad. Any domain hitting "Bad" should be pulled from sending immediately. Recovery from "Bad" is theoretically possible but takes weeks of zero sending, and some domains never fully recover.&lt;/p&gt;

&lt;h2&gt;
  
  
  Domain Rotation Math
&lt;/h2&gt;

&lt;p&gt;Under active sending (3 to 5 cold emails per inbox per day), domains typically last 45 days to 2 months. Here's the reserve capacity you need:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Active Domains&lt;/th&gt;
&lt;th&gt;Monthly Burns (10-20%)&lt;/th&gt;
&lt;th&gt;Reserve Needed&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;1 - 2&lt;/td&gt;
&lt;td&gt;2 - 3 ready&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;30&lt;/td&gt;
&lt;td&gt;3 - 6&lt;/td&gt;
&lt;td&gt;5 - 8 ready&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;td&gt;5 - 10&lt;/td&gt;
&lt;td&gt;8 - 12 ready&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;td&gt;10 - 20&lt;/td&gt;
&lt;td&gt;15 - 25 ready&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Without warmed reserves, every burned domain means 7 to 10 days of lost capacity (purchase + DNS setup + 3 to 7 days warm-up). At 50+ active domains, you should be warming 5 to 12 new domains every month just to maintain capacity.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Mistake That Cascades
&lt;/h2&gt;

&lt;p&gt;Running identical templates across all domains. Same copy, same subject lines, same structure from 30 domains creates a fingerprint that email providers detect. When one domain gets flagged, the identical content fingerprint triggers flags on the others.&lt;/p&gt;

&lt;p&gt;Fix: segment domains into independent groups. Each group gets its own template set, its own target audience segment, and its own sending schedule. Think of domain groups as independent businesses that share nothing detectable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick Monitoring Setup
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Check domain reputation via command line&lt;/span&gt;
&lt;span class="c"&gt;# SPF status&lt;/span&gt;
dig TXT yourdomain.com +short | &lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="s2"&gt;"v=spf1"&lt;/span&gt;

&lt;span class="c"&gt;# DMARC status&lt;/span&gt;
dig TXT _dmarc.yourdomain.com +short

&lt;span class="c"&gt;# MX records exist&lt;/span&gt;
dig MX yourdomain.com +short
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For automated daily monitoring across 50+ domains, set up alerts for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spam rate crossing 0.1% (warning) or 0.3% (action)&lt;/li&gt;
&lt;li&gt;Bounce rate crossing 5% (warning) or 7% (action)&lt;/li&gt;
&lt;li&gt;Open rate dropping below 20% (warning) or 10% (action)&lt;/li&gt;
&lt;li&gt;Reputation change to Medium/Low (warning) or Bad (action)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All data based on Q1 2026 MailDeck platform metrics across 650K+ managed inboxes and 1,200+ domains.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Full operational guide with infrastructure planning calculator, all 6 mistakes that kill domain networks, and the complete monitoring stack:&lt;/strong&gt; &lt;a href="https://maildeck.co/blog/cold-email-at-scale" rel="noopener noreferrer"&gt;Read on maildeck.co&lt;/a&gt;&lt;/p&gt;

</description>
      <category>saas</category>
      <category>email</category>
      <category>devops</category>
      <category>startup</category>
    </item>
    <item>
      <title>We Audited 1,000+ Cold Email Domains. 67% Had Broken DNS Authentication.</title>
      <dc:creator>Sabo Nagy</dc:creator>
      <pubDate>Wed, 08 Apr 2026 11:50:49 +0000</pubDate>
      <link>https://forem.com/sabo_nagy/we-audited-1000-cold-email-domains-67-had-broken-dns-authentication-1baj</link>
      <guid>https://forem.com/sabo_nagy/we-audited-1000-cold-email-domains-67-had-broken-dns-authentication-1baj</guid>
      <description>&lt;p&gt;If you manage domains for cold email, there is a good chance your DNS authentication is silently broken.&lt;/p&gt;

&lt;p&gt;We audited DNS configurations across 1,000+ domains onboarded to MailDeck (we provide cold email infrastructure across Microsoft 365, Google Workspace, and SMTP for 1,500+ clients). Two thirds of those domains had at least one critical SPF, DKIM, or DMARC error before we fixed it.&lt;/p&gt;

&lt;p&gt;The errors are silent. You won't see a bounce. You won't get an alert. Your emails just quietly move to spam and you have no idea why.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here are the top 5 errors by frequency:&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Multiple SPF records (23% of domains)
&lt;/h2&gt;

&lt;p&gt;Someone adds an SPF record for Microsoft 365. Later, someone else adds a separate SPF record for a marketing tool. Now there are two &lt;code&gt;v=spf1&lt;/code&gt; records. Per RFC 7208, only one is allowed. Result: &lt;code&gt;permerror&lt;/code&gt;, SPF fails.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight conf"&gt;&lt;code&gt;&lt;span class="c"&gt;# Wrong: two separate records
&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;=&lt;span class="n"&gt;spf1&lt;/span&gt; &lt;span class="n"&gt;include&lt;/span&gt;:&lt;span class="n"&gt;spf&lt;/span&gt;.&lt;span class="n"&gt;protection&lt;/span&gt;.&lt;span class="n"&gt;outlook&lt;/span&gt;.&lt;span class="n"&gt;com&lt;/span&gt; -&lt;span class="n"&gt;all&lt;/span&gt;
&lt;span class="n"&gt;v&lt;/span&gt;=&lt;span class="n"&gt;spf1&lt;/span&gt; &lt;span class="n"&gt;include&lt;/span&gt;:&lt;span class="n"&gt;sendgrid&lt;/span&gt;.&lt;span class="n"&gt;net&lt;/span&gt; -&lt;span class="n"&gt;all&lt;/span&gt;

&lt;span class="c"&gt;# Correct: merged into one
&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;=&lt;span class="n"&gt;spf1&lt;/span&gt; &lt;span class="n"&gt;include&lt;/span&gt;:&lt;span class="n"&gt;spf&lt;/span&gt;.&lt;span class="n"&gt;protection&lt;/span&gt;.&lt;span class="n"&gt;outlook&lt;/span&gt;.&lt;span class="n"&gt;com&lt;/span&gt; &lt;span class="n"&gt;include&lt;/span&gt;:&lt;span class="n"&gt;sendgrid&lt;/span&gt;.&lt;span class="n"&gt;net&lt;/span&gt; -&lt;span class="n"&gt;all&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Check yours: &lt;code&gt;dig TXT yourdomain.com +short | grep "v=spf1"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If you see more than one line, fix it now.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. No DMARC record (19%)
&lt;/h2&gt;

&lt;p&gt;SPF and DKIM configured. DMARC missing entirely. Without DMARC, receiving servers have no policy guidance for failed authentication. Add this immediately:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight conf"&gt;&lt;code&gt;&lt;span class="n"&gt;v&lt;/span&gt;=&lt;span class="n"&gt;DMARC1&lt;/span&gt;; &lt;span class="n"&gt;p&lt;/span&gt;=&lt;span class="n"&gt;none&lt;/span&gt;; &lt;span class="n"&gt;rua&lt;/span&gt;=&lt;span class="n"&gt;mailto&lt;/span&gt;:&lt;span class="n"&gt;dmarc&lt;/span&gt;-&lt;span class="n"&gt;reports&lt;/span&gt;@&lt;span class="n"&gt;yourdomain&lt;/span&gt;.&lt;span class="n"&gt;com&lt;/span&gt;;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then progress to &lt;code&gt;p=quarantine&lt;/code&gt; after 2-4 weeks, then &lt;code&gt;p=reject&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. SPF ending with +all (14%)
&lt;/h2&gt;

&lt;p&gt;This literally tells every server in the world "anyone can send email as my domain." There is no legitimate reason to use &lt;code&gt;+all&lt;/code&gt;. Replace with &lt;code&gt;-all&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Exceeding 10 DNS lookups (12%)
&lt;/h2&gt;

&lt;p&gt;Each &lt;code&gt;include:&lt;/code&gt; in your SPF record counts as a lookup. Nested includes count too. Over 10 total and SPF fails silently. Check with &lt;a href="https://mxtoolbox.com/spf.aspx" rel="noopener noreferrer"&gt;MXToolbox SPF Lookup&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. DKIM never turned on (11%)
&lt;/h2&gt;

&lt;p&gt;Both Microsoft 365 and Google Workspace require manual DKIM activation. It is not on by default. Verify by sending a test email to &lt;a href="https://mail-tester.com" rel="noopener noreferrer"&gt;mail-tester.com&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick verification commands
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Check SPF&lt;/span&gt;
dig TXT yourdomain.com +short | &lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="s2"&gt;"v=spf1"&lt;/span&gt;

&lt;span class="c"&gt;# Check DMARC&lt;/span&gt;
dig TXT _dmarc.yourdomain.com +short

&lt;span class="c"&gt;# Check DKIM (Microsoft 365)&lt;/span&gt;
dig CNAME selector1._domainkey.yourdomain.com +short
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;All three should return results. If any is empty, you have a problem.&lt;/p&gt;

&lt;p&gt;At MailDeck we automate SPF, DKIM, and DMARC for every domain during our 48 hour onboarding, specifically because manual setup fails so often. But whether you use MailDeck or manage DNS yourself, these five errors account for 79% of all authentication failures we see.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Full guide with all 10 errors, setup checklists for Microsoft 365 and Google Workspace, and free verification tools:&lt;/strong&gt; &lt;a href="https://maildeck.co/blog/spf-dkim-dmarc-cold-email-guide" rel="noopener noreferrer"&gt;Read on maildeck.co&lt;/a&gt;&lt;/p&gt;

</description>
      <category>email</category>
      <category>dns</category>
      <category>devops</category>
      <category>security</category>
    </item>
  </channel>
</rss>
