Why Emails Go to Spam: A Practical Diagnosis

Spam placement is rarely caused by one “spam word.” Mailbox providers combine authentication, sender reputation, recipient behavior, sending patterns, and message-level signals. The fastest fix is therefore a diagnosis that narrows the problem before you change the copy.
Start with the symptom
“It went to spam” can mean several different things. A message may be rejected during SMTP, accepted and placed in spam, delivered to a secondary tab, or delivered to the inbox for one provider and spam for another.
| What you observe | First question | Most useful evidence |
|---|---|---|
| A hard rejection | Was the message accepted by the receiving server? | SMTP response and bounce code |
| Spam at Gmail but not Outlook | Is the problem provider-specific? | Seed tests and provider-level delivery data |
| A sudden drop after a volume increase | Did the sending pattern change? | Daily volume, complaint, bounce, and engagement trends |
| Only an old or imported segment is affected | Is list quality the problem? | Segment-level bounces, complaints, and recent activity |
| Authentication fails | Which identity failed, and did it align? | Authentication-Results headers and DNS |
Do not use an open-rate drop by itself as proof of spam placement. Privacy features, tracking changes, and mailbox image caching can all distort opens. Pair it with clicks, replies, conversions, delivery events, and controlled mailbox tests.
Check authentication before editing content
Authentication does not guarantee inbox placement, but a broken setup can make every other diagnosis harder. Gmail’s sender guidance recommends SPF, DKIM, and DMARC for sending domains; bulk senders to personal Gmail accounts need all three, and marketing messages over 5,000 per day need one-click unsubscribe support. See the current Gmail sender guidelines.
| Check | What it proves | What to inspect |
|---|---|---|
| SPF | The envelope sender is authorized to use the sending domain | One SPF record, correct providers, and lookup limits |
| DKIM | The message was signed and the signature survived transit | dkim=pass, the selector, key size, and the d= domain |
| DMARC | SPF or DKIM passed with alignment to the visible From domain | dmarc=pass, aligned header.from, and policy reports |
| Reverse DNS | The sending IP has a coherent hostname identity | PTR and forward A/AAAA records, when you control the IP |
Check the headers on a real message, not only the ESP dashboard. A message can have a DKIM pass for a provider-owned domain while failing DMARC alignment with the brand’s From domain.
Authentication-Results:
spf=pass
dkim=pass header.d=example.com
dmarc=pass header.from=example.comIf you see dmarc=fail, fix alignment before tuning the subject line. If SPF fails but DKIM passes and aligns, DMARC can still pass; the goal is at least one aligned authentication path, not necessarily a perfect result for every mechanism.
Separate reputation from message content
Once authentication is healthy, compare the affected send with a recent send that reached the inbox. Look for changes in:
- recipient source or consent language;
- percentage of inactive recipients;
- sending domain, subdomain, IP pool, or provider;
- daily volume and cadence;
- hard bounces and unknown-user responses;
- spam complaints and unsubscribe activity;
- URL domains, redirectors, attachments, and tracking changes;
- message category and From identity.
Reputation problems usually appear across multiple campaigns or segments. Content problems are more likely to appear on one template, one link domain, or one campaign while the rest of the stream is stable. This is a heuristic, not a mailbox-provider guarantee, but it is a useful first split.
| Pattern | More likely explanation | Safe next move |
|---|---|---|
| Every campaign worsened after a migration | Authentication, IP/domain reputation, or volume shock | Pause the ramp, verify headers, and compare provider results |
| One campaign is affected | Link, attachment, template, or offer issue | Send a stripped-down control to an engaged segment |
| Cold recipients bounce or complain | Stale data or weak consent | Suppress the segment and audit acquisition |
| Gmail worsened while other providers held steady | Provider-specific reputation or filtering | Inspect Gmail Postmaster data if available and reduce risk at Gmail |
Audit the recipient list
The most reliable way to improve placement is to send fewer risky messages. Remove or suppress:
- hard bounces and repeated soft bounces;
- addresses that never confirmed consent;
- purchased, scraped, or role-based addresses that were not intentionally subscribed;
- recipients who have been inactive for a long period;
- contacts who opted out of the specific message category.
Do not “win back” a cold segment by sending it more aggressively. Run a separate re-engagement path with a clear reason to stay subscribed, then suppress non-responders. Keep transactional mail separate from promotional mail so a risky marketing segment does not contaminate password resets or receipts.
A 30-minute diagnosis
Use this order when a campaign is already underperforming:
1. Capture a real message
Send the exact template to test mailboxes at the providers where the problem appears. Save the full headers, SMTP response, and rendered result. Note the sending domain, envelope-from, DKIM selector, link domains, and attachment types.
2. Verify DNS and headers
Query the records that the message actually uses:
dig +short TXT example.com
dig +short TXT selector._domainkey.example.com
dig +short TXT _dmarc.example.comThen compare those results with Authentication-Results. A DNS record that exists is not enough if the provider is signing with a different selector or sending with a different envelope domain.
3. Compare cohorts
Split the send by provider, acquisition source, engagement recency, and message category. A single aggregate delivery number can hide the fact that a newly imported segment generated most of the complaints.
4. Stop the risky change
If volume, audience, provider, or template changed at the same time, roll back the least necessary change. Continue only with a small, consented, engaged audience while collecting evidence.
5. Test one variable
Use a control message with the same sender and audience but a simpler body and no attachment. If the control still lands in spam, content is probably not the primary issue. If only the original fails, inspect links, domains, HTML, and the offer.
Common fixes that do not work
- Removing one word such as “free” while continuing to send to an unengaged list.
- Adding more images or hiding links to make the message “look less promotional.”
- Repeatedly sending test messages to the same mailbox without changing the underlying signal.
- Moving to a new domain to escape a problem without fixing consent and list hygiene.
- Increasing volume because a dashboard says delivery was successful. Accepted mail can still be filtered after SMTP.
How to know the fix worked
Look for improvement across several signals over multiple sends:
- fewer spam complaints and hard bounces;
- stable delivery by provider;
- stronger clicks, replies, or conversions from the same audience;
- consistent authentication results;
- no new spike in unsubscribes or abuse reports;
- stable placement for both promotional and transactional streams.
Keep a change log. Record the date, audience, volume, provider, template, links, authentication result, and observed outcome. Without that history, teams tend to repeat the same “fix” every few weeks.
FAQ
Does a spammy subject line cause spam placement?
It can contribute to filtering, but it is rarely enough to explain a broad, sustained problem by itself. Check authentication, recipient behavior, volume, and list source first.
Does DMARC p=reject make mail land in the inbox?
No. DMARC tells receivers how to handle messages that fail aligned authentication. A message that passes DMARC can still be filtered for reputation, content, or recipient engagement.
Should I use a new domain?
Only when there is a legitimate brand or stream reason. A new domain has no positive history and can create more trust problems if it is used to continue the same sending behavior.
Does an ESP’s “delivered” count prove inbox placement?
No. “Delivered” usually means the receiving server accepted the message. It does not tell you whether the message reached the inbox, a tab, or spam.
For a broader setup review, pair this diagnosis with the email authentication checklist, sender reputation guide, and inbox placement guide.