Most cold email problems that look like copywriting problems are actually deliverability problems. If your reply rate cratered and your open rates fell below 20%, the issue usually is not your subject line. It is that a growing share of your sends never reach the inbox. Here is the full stack we use at LEADOXO to keep messages landing in Primary, in the order that actually matters.
Separate your sending domains from your brand domain
Never send cold email from your primary domain. One spam trap hit or a bad complaint spike can poison the domain your marketing site, billing, and internal email depend on. Buy dedicated sending domains that are close cousins of your brand — if you own acme.com, register getacme.com, acme-hq.com, tryacme.io. Point them all back to your main site with a 301 redirect so they resolve and look legitimate.
Rule of thumb: one domain carries two to three mailboxes, and each mailbox sends 25 to 40 cold emails per day. So one domain supports roughly 75 to 120 sends per day. Work backward from your target volume. Need 1,000 sends a day? That is 9 to 12 domains and 25 to 30 mailboxes. Spread across domains, no single one carries enough load to attract attention.
Register domains at least three weeks before you plan to send. Domain age is a weak but real trust signal, and new domains sent hot are the fastest way to the spam folder.
Authenticate every domain: SPF, DKIM, DMARC
This is non-negotiable, and it is where most self-run campaigns quietly fail. All three records must be present and correct on every sending domain.
- SPF: a single TXT record listing who is allowed to send for the domain. Include your sending platform’s mechanism (for Google Workspace,
include:_spf.google.com) and end with~all. You get exactly one SPF record per domain — multiple records break it entirely. - DKIM: cryptographically signs each message so receivers can verify it was not altered. Generate the key in your mail platform and publish the provided TXT record. Use a 2048-bit key where offered.
- DMARC: tells receivers what to do when SPF or DKIM fails, and gives you reporting. Start with
v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com.p=nonemonitors without blocking so you can confirm alignment before tightening top=quarantine.
Verify with a real test, not a config screen. Send a message to a Gmail address, open “Show original,” and confirm SPF, DKIM, and DMARC all read PASS. If any says fail or neutral, fix it before a single prospect gets mail. Also set up a custom tracking domain — the default shared tracking domains from most sending tools are already blacklisted from overuse.
Warm up before you send a single prospect
A brand-new mailbox that sends 40 cold emails on day one looks exactly like a compromised account. Warm-up builds a positive reputation by simulating real correspondence: automated tools exchange emails between seed accounts, open them, mark them important, and pull them out of spam.
Run warm-up for a minimum of three to four weeks per mailbox before real sends. Ramp gradually — start at 5 to 10 warm-up emails a day and climb to 30 or 40 over the period. When you go live, do not stop warm-up. Keep it running underneath your campaigns at a reduced level so reputation stays topped up. And never ramp real volume faster than roughly five additional emails per mailbox per day.
Clean the list before it touches your sender reputation
Bounces are the single fastest reputation killer. A hard-bounce rate above 3 to 5% tells providers you are not maintaining your list, and mailbox providers watch this closely. Verify every list before loading it. Use a verification service and drop anything flagged as invalid, and treat “catch-all” or “accept-all” addresses as a separate, riskier tier — send to them last and in smaller batches.
Purge role-based addresses (info@, sales@, support@) — they convert poorly and complain often. Remove obvious spam traps: addresses that have not engaged anywhere and free-provider addresses that look scraped. Re-verify any list older than 60 to 90 days, because B2B data decays at roughly 2 to 3% per month as people change jobs.
Keep volume boring and human
Consistency beats volume. A mailbox that sends 30 emails every weekday looks far healthier than one that blasts 200 on Monday and nothing on Tuesday. Cap each mailbox at 25 to 40 sends a day, keep sending inside business hours in the recipient’s time zone, and add randomized delays between messages so the pattern is not machine-perfect. Send Tuesday through Thursday for the bulk of volume. Scale by adding mailboxes, never by pushing existing ones harder.
Monitor inbox placement, not just opens
Open rates lie — Apple Mail Privacy Protection inflates them, and a spam-foldered email can still register an open. What you actually need is placement data. Run seed-list tests through a tool like GlockApps or MailReach: send to a panel of seed inboxes across Gmail, Outlook, and Yahoo, and see the real split between Primary, Promotions, and Spam. Do this weekly per domain.
Watch these signals continuously: bounce rate under 3%, spam-complaint rate under 0.1% (Google’s hard ceiling is 0.3%), and reply rate as a proxy for genuine engagement. Check your domains and IPs against blacklists like Spamhaus. When placement on any domain slips, pull it out of rotation, drop volume, and let warm-up rebuild it rather than pushing through.
Where teams get stuck
Deliverability is not a one-time setup — it is a maintenance discipline that spans DNS, infrastructure, data, and monitoring, and it breaks quietly. If you are managing dozens of domains and mailboxes by hand, the operational load is where campaigns fall over.
If your open rates are sliding and you are not sure whether the problem is placement, list quality, or authentication, we can diagnose it fast. Book a strategy call with LEADOXO and we will audit your sending setup end to end, then build the infrastructure to 10x your leads, meetings, and deals.