Why cold emails go to spam, and what actually changes it

Cold email usually lands in spam because of authentication gaps, a damaged list, or a sending pattern that looks automated. Fix the domain records first, remove invalid and complaining addresses, reduce volume on new domains, and write like one person writing to another. Content matters, but it is enforced after the transport-level signals are already read.

Start with what the receiver checks first

Before anyone reads your subject line, the receiving server checks whether the message is allowed to exist: SPF, DKIM and DMARC alignment, the reputation of the sending IP and domain, and whether the recipient has interacted with you before. If those signals are poor, the message is filtered regardless of how good the copy is.

This is why rewording a subject line rarely rescues a campaign. It treats a transport problem as a writing problem.

List damage compounds quietly

Every invalid address you keep sending to is a bounce, and bounces teach the receiver that your list is unverified. The same is true of addresses that once complained. One bad import can damage a domain for weeks, and the damage is invisible until you look at where messages land.

The fix is boring: verify before sending, remove hard bounces permanently, stop sequences on reply, and do not re-add addresses that asked to stop.

Content signals are about looking like one person

After transport, filters look at shape: an image-only email, a wall of links, a tracking pixel with no text, a subject line in capitals, an identical body sent hundreds of times. A short plain message with one question looks like a person. A designed brochure with nine links looks like a campaign.

Links are not banned, but each one is a thing a filter can weigh. Keep the first message to the offer and one useful link, and put the rest behind a reply.

The messages that get replies look different

A message that gets a reply usually names something specific about the recipient, says who the sender is in one line, asks a single question, and stops. It does not summarise a service, list features, or attach a deck. The reason is not a filter rule; it is that a person can answer it without opening anything.

That shape also happens to pass filters more comfortably, because it looks like the mail people send each other every day. Short text, no images, one link at most, a real signature. If you find yourself adding a banner to make it look professional, consider that the professionalism a recipient notices is whether the message is relevant to them.

Test the shape before the volume. Send the message to yourself and to two colleagues who will answer honestly, and read it on a phone. If you would delete it, rewrite it before it reaches a stranger.

Symptom, likely cause, first fix

SymptomLikely causeFirst fix
Everything lands in spam from day oneAuthentication not alignedPublish SPF, DKIM, DMARC at p=none and check alignment
Deliverability fell after a new importInvalid addresses on the listVerify the import, drop invalid and role addresses
Replies stopped after volume increaseSending pattern changed too fastReduce volume on that mailbox and space the batches
Only Gmail filters youEngagement and content signalsShorten the message, remove extra links, ask one question

These are correlations, not guarantees. Each receiving provider weighs signals differently and does not publish its model.

In priority order

  • Confirm SPF and DKIM pass and align with the From domain
  • Publish DMARC and read the reports before blaming content
  • Remove hard bounces and duplicate addresses permanently
  • Cut links and images in the first message
  • Send fewer messages per mailbox per day
  • Ask one clear question the recipient can answer in a line
  • Stop the sequence on any reply or opt-out

A worked example, hypothetical numbers

A team sends 300 messages a day from a single new mailbox with a designed template and four links. Replies are near zero and the domain's messages start landing in spam folders even for people who opened earlier ones.

They cut to 40 messages a day, keep one link, drop the template to plain text with a single question, and remove 27 invalid addresses found by verification. Replies are still modest, but messages reach the inbox folder again. The change was not better copy; it was fewer signals that resembled bulk sending.

What this will not do

  • No sending setup can make an unwanted offer welcome.
  • Nobody outside a receiving provider can tell you exactly why one message was filtered.
  • A domain with a long bad history may never recover fully; a new domain is sometimes the honest answer.

Questions people ask about this

Does a cold email need an unsubscribe link?

Rules differ by country, and commercial email usually requires a clear way to stop hearing from you. A one-line instruction that a person can act on is the minimum; check the law where the recipient is.

Will a new domain fix spam placement?

Sometimes, if the old domain has a damaged history, but only if the same mistakes are not repeated. A new domain with an unverified list and a 300-a-day start will land in the same place.

Do plain text emails deliver better?

They avoid some content signals, and they are faster to read. That is not a rule about filters but a practical reason to start plain and add design only when it earns its place.

How do I know where my messages land?

Seed testing to inboxes you control, replies from real recipients, and the bounce and complaint pattern over time. No tool can see inside every provider's filtering.

Should I remove all links from a cold email?

Not necessarily. One relevant link is normal. Several links, a tracked redirect chain and an image-only body together are what start to look like a campaign rather than a message.

Keep reading

Our products

Nine tools built for the same job: finding the right people, reaching them, and keeping the work running. Each one is linked directly, with no affiliate redirect in the way.