Spam Folder: The Fixes Worth Doing First
Your tool says 98% delivered. That counts messages a server accepted, and a server accepts a message before deciding where to put it. Junk mail is delivered mail.
A message in the spam folder was delivered, so every sending report counts it as a success. Filing is decided per receiving system using sender history, message structure and recipient engagement. The fixes that move it are authentication, a separate sending domain, list quality and complaint rate, in that order.
Key takeaways
- A sent message ends in one of three states: placed, filed as junk, or refused, and only the refusal comes with an explanation you can read.
- Delivery rate measures server acceptance and is fully consistent with every message being filed as junk.
- Filing is a per-mailbox verdict rather than a global one, so a seed test against mailboxes you chose is a smoke test and not a placement rate.
- At organisations running a security gateway there is no junk folder to check, because filtered mail is held in a quarantine the organisation controls.
Reviewed and updated August 13, 2026
Your sending tool says 98% delivered. That number is true and it is describing something you did not ask about. It counts messages a receiving server accepted, and a server accepts a message before deciding where to put it. Everything sitting in a spam folder right now was delivered.
The gap between delivered and read is where most cold email dies, and closing it starts with being precise about where a message actually went.
Three destinations, not two
A message you send ends in one of three states, and the fixes for them are unrelated.
Accepted and placed in the inbox. The outcome you wanted. Nothing more to do.
Accepted and filed as junk. The receiving system took the message, then decided it was unwanted, and put it in the spam or junk folder. Your tool records a delivery. No error is generated. The recipient is not notified. From your side, this outcome and a successful one are indistinguishable in every report you have.
Refused. The receiving server declined the message with a response code and usually a reason in plain text. This is a bounce, and it is by far the most informative of the three because it comes with an explanation.
Confusing the second and third is the single most common diagnostic error in outbound. They feel similar because neither produces a reply, and they have almost nothing in common underneath: a refusal is a policy or address problem you can read about in the response, while junk filing is a scoring judgement nobody will ever tell you about.
Fully visible. Your platform knows this happened.
Visible, and reported as delivered. Says nothing about placement.
Invisible. No signal is sent back either way.
Invisible. Inferred, at best, from opens and replies.
Only replies prove it.
The spam folder is a per-mailbox verdict
There is no global spam list your message is on. Filing is decided per receiving system and, in many cases, per mailbox, using evidence that differs between recipients.
Two people at the same company can get different outcomes, because one of them has previously marked a similar message as junk and the other has not. Two companies can get different outcomes from the same message because their administrators picked different filtering strictness. A recipient behind a security gateway may not have a spam folder in this sense at all, since the gateway holds mail in an organisational quarantine before the mailbox provider is involved.
This is why a single seed test proves so little. Testing placement against ten mailboxes you control on providers you chose gives you a reading about ten mailboxes. It is worth having and it is not a placement rate for your campaign. Treat it as a smoke test that catches gross failures, and treat replies as the only measurement that is definitely real.
Why "check your spam folder" is not a plan
The instinct on suspecting spam placement is to ask people to look. Two problems with that, and the second one is fatal.
The first is that it only reaches people you are already in contact with. If a message went to junk, the person did not see it, so a request to check the folder has to travel by some other route entirely.
The second is that it does not scale and does not compound. One recipient marking one message as not junk teaches their own filter a small amount about you. It does nothing for the next hundred recipients on other systems. The mechanisms that move placement across a whole list are structural: authentication, domain history, list quality, complaint rate. They are unglamorous and they are the only ones with leverage.
The fixes worth doing first
In descending order of how much they typically move, and ascending order of how much anyone enjoys doing them.
Authentication. SPF, DKIM and DMARC passing, and aligned with the domain a human sees in the From line. This is the cheapest and largest single lever, it is checked by every receiver, and it is binary rather than a matter of degree. Our SPF, DKIM and DMARC guide for cold email covers the records, and why DMARC is failing covers the alignment failures that pass a syntax check and fail in practice.
A separate sending domain. Outbound sent from the domain your company runs its business email on puts your invoices, your support threads and your contracts behind the same reputation as your prospecting. A separate sending domain contains the blast radius, and it is standard practice for a reason.
List quality. Invalid addresses generate bounces, bounces damage reputation, and a spam trap does disproportionate harm because trap addresses exist specifically to identify senders who did not verify. Verification before sending is the control. Our bounce rate benchmarks give you the range a healthy list sits in.
Complaint rate. Every complaint is a recipient telling their provider that mail from you is unwanted, and the spam complaint rate is one of the few sender-side numbers the large providers act on directly. It responds to targeting and to a working unsubscribe path, not to copy.
Then the message. Link count, redirectors, image-only bodies, attachments. This layer is real and it is last, because no amount of it recovers a failure in the layers above.
- Yes: Separate the three outcomes first: placed, junked, refused
- Yes: Read raw bounce text rather than your platform's bounce category
- Yes: Confirm SPF, DKIM and DMARC pass and align on the visible From domain
- Yes: Check the sending domain and addresses against the public blocklists
- Yes: Verify the list before sending, so bounces are not the discovery mechanism
- No: Asking recipients to fish messages out of junk as the primary remedy
- No: Rewriting copy before the authentication and domain layers are clean
What actually gets a message filed as junk
The filing decision is a judgement about the sender first and the message second, which is the reverse of how most senders think about it.
The sender half is history. A domain that has been sending for years to people who reply carries a different standing from one registered last month. An address range that has produced complaints carries a worse one. Those positions are built and repaired slowly, and no single message overcomes them. The concepts are domain reputation and ip reputation, and they are evaluated independently by every receiver you touch.
The message half is a set of resemblances. Filters are pattern matchers trained on enormous volumes of unwanted mail, so a message resembling that corpus scores badly regardless of intent. The resemblances that matter most are structural rather than lexical: many links to unfamiliar domains, links that pass through a redirector or shortener so the destination is hidden, a body that is one large image, an attachment from an unknown sender, HTML that does not parse cleanly, and text that differs from the plain-text alternative.
Word choice matters much less than folklore suggests. Lists of banned spam words circulate endlessly and are largely a relic of the rule-based era. A modern filter weighs authentication, reputation and behaviour far more heavily than vocabulary, and a message can be filed as junk without containing a single word from any of those lists.
The third input, and the one senders account for least, is engagement. Providers watch what recipients do with mail from a sender: what gets opened, replied to, deleted unread, or reported. That is a feedback loop, and it is the reason a poorly targeted list damages placement even when every technical control is correct. Sending relevant mail to people who plausibly want it is a deliverability control, not just a marketing preference.
Reading a delivery report honestly
Three specific things a report will tell you that mean less than they appear to.
Delivery rate. As above: acceptance, not placement. A 99% delivery rate is consistent with every message being filed as junk.
Open rate. Open tracking works by loading a small image, so any security system or client that fetches images automatically records an open that no person performed. A gateway scanning links and images on the recipient's behalf can generate opens for messages nobody saw. That makes open rate a weak proxy for placement and a poor input to any decision.
Placement scores from testing tools. They measure what happened to a test send against seed mailboxes, which is a sample of a space you cannot enumerate. Useful as a check on gross defects, not as a rate.
What is left, and what is worth building reporting around, is replies. A reply is proof that a specific human received and read a specific message. It is a lagging indicator and it is not noisy in the way everything above is noisy.
- Delivery rate: the server accepted the message
- Open rate: something loaded an image, possibly a scanner
- Seed placement score: a sample of mailboxes you chose
- Spam checker score: one rule engine, one local threshold
- Replies: a person received and read it
- Raw bounce text: the receiver explaining its own decision
- Message headers from a real recipient: the verdict in the receiver's own words
- Blocklist listings: a checkable, external state
Where the spam folder does not exist
Worth knowing because it changes the remedy. At organisations running a security gateway in front of their mailboxes, filtered mail is held in a quarantine controlled by the organisation rather than dropped into an individual junk folder. Sometimes the recipient sees a digest of held messages and can release them. Sometimes only an administrator can.
In that case the entire framing of the spam folder is wrong for the recipient in question, and so is the advice. There is no folder for them to check. What exists is a held-mail queue, and a person who wants your message can usually get it released and can often make the exemption permanent.
Which system you are dealing with is knowable in advance from the recipient domain's MX record, and reading MXToolbox like a deliverability engineer covers how. If you would rather work through the whole stack in order, our deliverability audit checklist is the ordered version, and what actually works in email deliverability is the strategic read. The concepts behind all of it live in inbox placement, sender reputation and the spam filter entry.
RevenueFlow runs cold email and LinkedIn outreach for B2B companies, and this layer is our problem rather than the client's. If you would rather not build it yourself, prepay a single qualified meeting, or read what a cold email agency is accountable for.
Frequently asked questions.
Frequently asked questions- Why do my emails go to the spam folder when the report says delivered?
- Delivered means the receiving server accepted the message. Placement is decided after acceptance, and no signal is sent back to you either way. Every message currently sitting in a junk folder was recorded as delivered by whatever sent it, which is why delivery rate cannot answer this question.
- What is the fastest fix for spam folder placement?
- Authentication. SPF, DKIM and DMARC passing and aligned with the domain shown in the From line is checked by every receiver, is binary rather than gradual, and is usually a same-day change. Nothing else in the stack recovers a failure at this layer, and no copy change substitutes for it.
- Does asking people to mark my email as not spam help?
- Marginally, and only for that person's own filter. It teaches one mailbox something small about you and does nothing for the next hundred recipients on other systems. The levers that work across a list are authentication, domain history, list quality and complaint rate.
- Are certain words responsible for spam folder placement?
- Far less than folklore suggests. Banned-word lists are a relic of the rule-based era. Modern filters weigh authentication, sender history and recipient behaviour much more heavily than vocabulary, and a message can be filed as junk without containing a single word from any of those lists.
About the author.
Tim Carden is CMO / CTO at RevenueFlow, which builds and operates outbound revenue engines for B2B companies. Studied at McGill University.
Tim Carden · CMO / CTO
Connect on LinkedIn →Explore more.
Ready to scale your outreach?
We build GTM engines that book real meetings. See the receipts.
Related articles.
Office 365 Spam Filter: What Actually Triggers It
The same message lands in the inbox at one Microsoft tenant and in quarantine at the next. A setting the recipient chose decides which, and the headers say so.
SpamAssassin Score for B2B Teams: What Actually Triggers It
A free checker returns 3.8 and a green tick. The number is accurate and describes a machine in a data centre that has nothing to do with your prospects.
Enterprise Spam Filter: What Actually Triggers It
Bought by IT, configured once, never reviewed, and holding an absolute veto over what arrives. The enterprise filtering layer judges you on evidence Gmail never sees.
Mimecast Spam Filter for B2B Teams: Diagnosing Placement Without Guesswork
You can find out whether a company runs a security gateway before you send anything. The MX record is public, and it answers a question that otherwise costs weeks.
Proofpoint Spam Filter: Diagnosing Placement Without Guesswork
Two different Proofpoint systems can stop a cold email, and the remedies have nothing in common. Telling them apart takes a minute and saves a month.
Avanan Spam Filter: The Fixes Worth Doing First
Avanan is now Check Point Harmony, and it connects by API rather than sitting in the MX record. That one detail makes every bounce-reading diagnostic useless.