The frustrating part about spam placement is that your sending tool won't tell you. The dashboard shows 100% delivered, 42% opened, and zero replies. "Delivered" only means the receiving server accepted the message — it says nothing about which folder it landed in. Opens are worse than useless because security scanners fire the pixel on messages nobody ever saw.
So before you rewrite your subject lines again, confirm what's actually happening and then work through the causes in order. Almost nobody has one problem. A typical broken campaign has a slightly cold domain, a 6% bounce rate, a shortened link, and a 900-word HTML template — none of which would sink you alone.
{ }
First, prove you have a placement problem
Three checks, in this order:
Run a seed test. Send the exact campaign email to a set of seed mailboxes you control across Gmail, Outlook/Microsoft 365, and at least one corporate gateway. If it lands in Promotions on Gmail and Junk on Outlook, you have your answer in ten minutes.
Look at reply rate, not open rate. A well-targeted B2B campaign that reaches the inbox usually pulls 3-8% replies including negatives. Under 1% with "good" opens is the classic inbox-placement signature.
Check bounce and complaint numbers. Hard bounces above 2-3% or complaints above 0.1% will move you to spam on their own, regardless of copy.
{ }
{ }
| Symptom | Most likely cause | First thing to check |
|---|---|---|
| High opens, near-zero replies | Spam or Promotions placement | Seed inbox test across Gmail + M365 |
| Gmail fine, Microsoft 365 junk | Domain reputation / SPF or DMARC gaps | DMARC record and Microsoft SNDS |
| Fine for two weeks, then collapses | Volume ramped too fast per mailbox | Daily send count per mailbox |
| Bounces above 3% | List quality | Verification and list source |
| Only some mailboxes fail | One burned domain or blacklisted IP | RBL lookup on sending IP and domain |
1. SPF, DKIM, or DMARC isn't set up correctly
Gmail and Yahoo require authentication from anyone sending volume, and business gateways have required it for longer. Missing DKIM alone is enough to route you to junk. Publish an SPF record that includes every service that sends as your domain, enable DKIM signing in your mailbox provider, and add a DMARC record — start at p=none, read the reports for two weeks, then move to p=quarantine. Check alignment, not just existence: SPF can pass while failing alignment if the envelope sender domain doesn't match the From domain.
2. You're sending cold email from your primary domain
If yourcompany.com carries your invoices, password resets, and customer support, do not run outbound from it. One bad list can damage a domain reputation for months. Buy lookalike domains (getyourcompany.com, yourcompany.io), set up redirects to the main site, authenticate them properly, and send from there. Two to three mailboxes per sending domain is a sane ceiling.
3. The domain is brand new
A domain registered last week has no reputation, and "no reputation" is treated as suspicious by Microsoft in particular. Let a new domain age at least 2-3 weeks before it sends anything to strangers, and 4-6 weeks before it carries a real campaign. If you needed the domain live yesterday, that's a planning problem, not a deliverability problem you can tool your way out of.
4. You skipped warm-up, or your warm-up is fake
A mailbox that jumps from zero to 50 sends a day is a textbook spam pattern. Warm up gradually over 3-4 weeks with real, labeled messages inside the workspace so the provider sees genuine positive engagement. Be skeptical of large warm-up pools where thousands of strangers' bots open each other's mail — providers have gotten good at recognizing those networks. The mechanics are covered in detail in how to warm up an email mailbox for cold outreach.
5. Too much volume per mailbox
The common failure is treating a mailbox limit (Google's 2,000/day) as a target. For cold outreach, 20-40 sends per mailbox per day is the working range; 50 is aggressive. Need 1,000 sends a day? That's 25-40 mailboxes, not two mailboxes working overtime. Scale horizontally, and add new mailboxes at their own ramp, not at your existing pace.
6. Your list has invalid addresses
Bounces are the fastest way to burn a fresh domain. Verify every list before import, re-verify anything older than 60 days, and remove catch-all domains or route them to a separate low-volume campaign. If a campaign crosses 3% bounces in the first 200 sends, pause it and fix the list — don't push through to see if it improves.
7. You're hitting spam traps
Scraped lists, purchased lists, and old exported databases contain recycled addresses that mailbox providers turned into traps. One hit can land your domain on a blocklist. This is why buying leads by the hundred thousand is a false economy. Build lists from sources where you can see how the record was obtained, and drop anything you can't attribute.
8. Role accounts and gateways are dragging you down
info@, sales@, support@, and legal@ have low reply rates and high complaint rates. Corporate gateways like Proofpoint and Mimecast also scan links aggressively, which inflates your click data and can trip your own logic. Suppress role accounts by default and treat clicks from scanner IPs as noise, not interest.
9. Link shorteners and shared tracking domains
bit.ly and other public shorteners are heavily abused and heavily filtered. So are shared tracking domains used by hundreds of other senders. Use a custom tracking domain on your own sending domain, or turn click tracking off entirely. As a rule, one plain link in the first email of a sequence, and no link at all in the very first touch if you can manage it.
10. Heavy HTML, images, and signature graphics
Cold email that looks like a newsletter gets filed like a newsletter. Send plain text or the lightest possible HTML: no logos, no banners, no tracking-pixel-plus-image combos, no colored buttons. A text signature with your name, title, company, and a link outperforms a designed one and never trips an image-to-text ratio filter.
11. The copy itself scores as spam
Run drafts through SpamAssassin before sending. Anything over 5 is likely to be filtered; aim under 2. Common offenders: ALL CAPS in the subject, exclamation marks, "free," "guarantee," "act now," long spammy URLs, mismatched From name and domain, and HTML with broken tags. Fixing copy alone won't rescue a bad domain, but bad copy will sink a good one.
12. No unsubscribe and no suppression list
Making it hard to opt out doesn't keep prospects — it converts them into spam complaints, which are the single most damaging signal you can generate. Include one-click unsubscribe, honor it instantly, and maintain a global suppression list that spans every campaign and mailbox in the workspace. Also suppress existing customers and open opportunities so sales doesn't get an angry forward from their own account.
13. Your sending pattern looks automated
Identical body text to 800 people, sent at exactly 60-second intervals, from 9:00 to 11:00 sharp, every weekday. Add randomized delays, cap daily volume per mailbox, skip weekends unless your audience works them, and use real variable personalization — a genuinely different opening line per prospect, not just {{first_name}}.
14. Nobody engages, so filters downgrade you
Gmail and Microsoft weigh recipient behavior heavily. Replies, moving your mail out of spam, and adding you to contacts all help; deletes without opening and "report spam" hurt. This is why a tightly targeted list of 300 people beats a loose list of 3,000: the reply rate itself is a deliverability input. If a segment consistently produces under 1% replies, stop mailing it.
15. Your domain or IP is already blocklisted
Check your sending domain and IP against the major RBLs (Spamhaus, SURBL, Barracuda) and Microsoft's SNDS. If you're listed, delisting requires fixing the cause first — otherwise you'll be relisted in days. If you inherited a burned domain, the honest answer is usually to retire it and start a new sending domain with a proper ramp. Also confirm you're not sending through a shared IP pool where somebody else's behavior determines your reputation.
What to fix first
If you're staring at all fifteen, work in this order: authentication (1-3), then volume and warm-up (4-5), then list quality (6-8), then content (9-11), then hygiene and targeting (12-15). Authentication and volume account for the majority of the spam placement I've seen in audits. Copy is the last 10% — it matters, but only after the plumbing is right.
Then re-test with seeds. Placement changes take 1-3 weeks to show up after a fix, so make one category of change at a time and give it a full sending cycle before you judge it.
Where Sendvanta fits
Most of this list is work you can do manually — but it's easier when the tooling watches it for you. Sendvanta sends through your own Gmail, Microsoft 365, or SMTP mailboxes (never a shared IP pool), warms them up with real labeled messages inside the workspace, and scores deliverability health across mailbox, domain, DKIM, and IP — automatically slowing or pausing a mailbox when risk thresholds are crossed. It SpamAssassin-scores drafts before send, runs seed-mailbox inbox-placement tests, classifies bot opens and scanner clicks out of your engagement data, and enforces suppression and one-click unsubscribe by default. You can see the full breakdown on the features page.
The free plan is $0 forever with 1,000 active leads, 3,000 emails a month, and up to 10 of your own SMTP mailboxes — enough to fix your setup and test it properly before paying anyone. Paid plans start at $29/mo.
How do I know if my cold emails are going to spam?
Send the campaign to seed mailboxes you control across Gmail, Microsoft 365, and a corporate gateway, and check the folder directly. Reply rate is the other tell: high opens with under 1% replies usually means spam or Promotions placement, since open tracking fires on security scanners too.
How long does it take to recover domain reputation?
Typically 2-6 weeks of clean sending at reduced volume, assuming you fixed the underlying cause. If the domain hit spam traps or is blocklisted, recovery can take longer and is sometimes not worth it — retiring the domain and warming a new one is often faster.
Does warming up a mailbox actually help?
Gradual ramping with genuine engagement does. Large artificial warm-up networks where bots open each other's mail are increasingly detected and discounted by providers, and can themselves become a negative signal.
How many cold emails per day per mailbox is safe?
20-40 is the working range for cold outreach on an established, authenticated domain. Scale by adding mailboxes and domains, not by raising the per-mailbox number.
Ready to send outbound that lands?
Create your free Sendvanta workspace — no credit card required.
Start free