You spent time writing a campaign, hit send, and then — silence. No opens, no clicks, nothing. You check the spam folder of a few contacts and there it is: your email, buried between a Nigerian prince and a discount Viagra ad.
It happens to almost everyone at some point. The annoying part is that it's usually fixable, and the causes are more predictable than people think.
Here's what's actually going on, and what to do about it.
Spam filters care about three things: whether your domain is authenticated (SPF, DKIM, DMARC), whether your list is clean, and whether recipients actually want your emails. Problems in any of those areas will hurt your inbox placement.
How spam filters work now
Spam filters stopped being simple word-scanners a long time ago. Gmail and Outlook now use machine learning models that weigh dozens of signals at once:
- Does your domain or IP have a history of sending spam?
- Does the email actually come from who it claims?
- Do people who get your emails open them, or immediately delete them?
- Are there patterns in your subject line or body that look like mass spam?
- Are you hitting valid addresses, or bouncing off dead ones?
One bad signal usually isn't enough to kill you. It's when several stack up that emails start going to spam reliably. Here's what those signals look like in practice.
7 reasons emails go to spam
You haven't set up SPF, DKIM, and DMARC
This is the most common issue for new senders and the easiest to miss because it's invisible. SPF, DKIM, and DMARC are DNS records that prove your email is genuinely coming from your domain. Without them, Gmail and Outlook treat your email as suspicious by default. SPF says which servers are allowed to send on your behalf. DKIM adds a cryptographic signature. DMARC tells receiving servers what to do when either check fails. Get all three in place before you send anything.
You're sending from a free email address
Sending bulk email from a @gmail.com or @yahoo.com address is a reliable way to end up in spam. These providers block bulk sending from personal addresses through their own DMARC policies. You need a business domain — yourname@yourbusiness.com — before running campaigns. There's no workaround for this one.
Too many dead addresses on your list
Every time you send to an address that no longer exists, it's a hard bounce, and hard bounces count against your sender reputation. If you haven't used a list in over a year, a meaningful chunk of those addresses are probably dead. Clean it before you send — remove hard bounces immediately after every campaign, and consider sunsetting contacts who haven't opened anything in six months.
Your contacts didn't ask to hear from you
Bought lists, scraped emails, contacts added without consent — this quietly destroys deliverability. When someone doesn't recognise your brand, their first instinct is to mark you as spam rather than unsubscribe. Enough of those reports and your domain reputation takes real damage. Every contact should have opted in, and ideally you have a record of when.
Subject lines and content that trigger filters
Filters have gotten smarter, but some things still reliably backfire: ALL CAPS subject lines, subject lines with "FREE!!!" or "ACT NOW", misleading preview text, and emails packed with links. None of this means you have to write like a terms-and-conditions document. It just means writing like a person sending a real message, not like a late-night infomercial from 2003.
Your engagement numbers are poor
Gmail pays close attention to what recipients do with your emails. If you keep sending to people who never open, never click, and routinely delete without reading — Gmail notices, and it starts routing your emails to spam. Sending to a smaller, engaged segment will do more for your deliverability than sending to a larger unresponsive one.
No unsubscribe link, or a broken one
This is a legal requirement (CAN-SPAM, GDPR, India's IT Act) and a practical one. If people can't easily opt out, they mark you as spam instead — which damages your reputation far more than an unsubscribe would. Every campaign needs a working one-click unsubscribe link. Non-negotiable.
What to fix before your next campaign
Work through this before you send. Some of these are quick; others take a few days for DNS to propagate. Your domain reputation won't recover overnight, but these are the changes that actually matter.
- Set up an SPF record in your domain DNS (a TXT record authorising your email sending service)
- Enable DKIM signing through your email platform — most platforms generate the DNS record for you
- Add a DMARC record — start with
p=noneto monitor first, then tighten once things look clean - Switch from Gmail/Yahoo to a business email address at your own domain
- Remove hard bounces from your list after every send
- Stop sending to contacts who haven't opened anything in six months — or run a re-engagement campaign first
- Go through your subject lines — drop the ALL CAPS, excessive punctuation, and anything that sounds like a scam
- Include a working unsubscribe link in every email
- For new sending domains, warm up gradually — small batches first, then increase over a few weeks
- Check your domain reputation in Google Postmaster Tools and MXToolbox
A lot of people fix the technical setup and still see spam issues because the list is the real problem. Old, unengaged contacts will hurt your deliverability even if your SPF/DKIM/DMARC are perfect. Both sides matter.
How long does it take to recover?
The technical stuff — SPF, DKIM, DMARC — propagates within 24 to 48 hours. Reputation is slower. If your domain has been flagged, expect 4 to 8 weeks of clean sending before things genuinely improve. Good engagement, low bounces, zero spam reports. It's not dramatic, it's just time.
During that window, send smaller batches to your most engaged contacts first. High open rates from those sends help signal to inbox providers that people actually want your emails.
Does the platform you send from matter?
More than most people realise. Your email service provider shares sending infrastructure with every other customer on their platform. If a platform has poor abuse controls, its IP reputation gets dragged down, and that affects your deliverability even when you're doing everything right on your end.
A decent platform will handle DKIM signing automatically, track your bounce rates, give you open and click data so you can clean unengaged segments, and manage unsubscribes for you. If yours doesn't do those things, that's worth fixing too.
Send campaigns that actually reach the inbox
Sendflo handles DKIM signing, bounce tracking, open and click analytics, and one-click unsubscribes automatically.
Try free for 14 days →Google's 2024 bulk sender rules
In February 2024, Google started enforcing new requirements for anyone sending more than 5,000 emails a day to Gmail addresses. These are now the floor, not a nice-to-have:
- SPF, DKIM, and DMARC — all three, mandatory
- Spam rate below 0.3%, monitored via Google Postmaster Tools
- One-click unsubscribe, honoured within 2 days
- Valid forward and reverse DNS records for your sending IP
Even if you're nowhere near 5,000 emails a day right now, treat these as your baseline. The rest of the inbox providers are heading in the same direction.
The short version
Most spam issues come down to the same things: missing authentication, a list that hasn't been cleaned in a while, or sending to people who never wanted to hear from you. Fix those three things and your deliverability will improve. It's not complicated advice, but it's the stuff that actually works.
If you want a platform that handles the technical side automatically, try Sendflo free for 14 days — no credit card needed.