10 Email Marketing Mistakes That Kill Deliverability
Open rate has been sliding for three months. Emails land in Promotions or straight in spam. You rewrite the subject, tweak the copy, move the button — nothing moves.
The problem is rarely the content. It is infrastructure, ingrained habits, and small details that seem harmless until they quietly destroy your domain reputation. Here are ten mistakes we see repeatedly, each with a concrete way to fix it.
Mailing an unvalidated list
The list was built over two years and never checked. Inside: dead mailboxes, typos, disposable addresses, and spam traps. Every hard bounce tells Gmail and Yahoo that you are sending to people who do not exist. After a few campaigns like that, filters stop trusting your domain — even active subscribers stop seeing your mail in the inbox.
Fix: run the list through a validator before any large send. Remove invalid, risky, and disposable addresses. For active lists, quarterly is enough; for old ones, check before every use.
Missing SPF, DKIM, or DMARC
Three DNS records that take ten minutes to configure. Without them, receiving providers cannot confirm the mail actually came from your domain rather than someone else's server. Since February 2024, Gmail and Yahoo reject mail from domains without a DMARC record. Mail.ru is moving the same direction.
Fix: set up SPF (the list of servers authorized to send on your behalf), DKIM (a cryptographic signature on each message), and DMARC (instructions to providers on what to do with unsigned mail). Start with p=none, check the reports for two weeks, then switch to p=quarantine.
No double opt-in
Someone fills in a form and lands directly in the list, no confirmation needed. That means typos (gmial.com instead of gmail.com), someone else's address entered for a bonus, and bots filling forms dozens of times a minute.
Double opt-in cuts sign-up conversion by 20-30%. The people who remain are real, they confirmed deliberately, and they remember why they subscribed — so they will not hit "Spam."
Fix: turn on confirmation in your email service. Keep the confirmation message short: one button, one action. Also add inline email validation to the form — it catches obvious garbage before the confirmation is even sent.
Sending without warming up the domain
You register a domain, hook up an ESP, and on day one send 30,000 messages. To receiving providers, that looks the same whether you are a legitimate retailer or a spammer: an unknown domain with zero history suddenly generating a flood of mail. The reaction is predictable — filtering or a block.
Fix: start with 200-500 messages per day, sent to your most engaged subscribers — the ones who will actually open and click. Double the volume every two or three days. Within two to four weeks the domain builds enough reputation to handle the full list.
Ignoring bounces
A message comes back with error 550 (address does not exist) and nothing happens — the address stays in the list. Next campaign, another bounce. Providers track every one. A hard bounce rate above 2% is already a red zone; above 5%, the domain is likely headed for a blacklist.
Fix: configure automatic removal of hard bounces after the first occurrence — not the third, not the fifth, the first. Track soft bounces (full mailbox, server temporarily down): three consecutive soft bounces on a single address means moving it to archive.
One campaign, entire list
One message, whole list, hit Send. This is the most common approach, and it hurts deliverability every time. Part of your list has not opened anything in months. Providers see that a large share of recipients ignore the mail and deprioritize your messages for everyone — including your engaged subscribers.
Fix: split the list into at least three segments. Active (opened or clicked in the last 90 days): they get everything. Semi-active (90-180 days of silence): best content only. Inactive (180+ days): re-engagement or removal. Send to active subscribers first — their opens build positive reputation that helps the rest.
Spam-style subjects and formatting
"FREE!!! FLASH SALE ON EVERYTHING!!!" — a subject line that will never reach the inbox. All caps, excessive exclamation marks, trigger words like "free," "earn money," "no investment" — all are signals for spam filters. The filters have grown smarter, but basic heuristics still work, and messages like that get caught at the first pass.
Fix: write the subject line like a normal message — no caps, no excessive punctuation, no clickbait. Aim for roughly 60% text to 40% images in the body. Always include a plain-text version. Avoid link shorteners like bit.ly — filters do not trust them.
No unsubscribe link, or a hidden one
If someone cannot unsubscribe in one click, they click "Spam" instead. One spam complaint damages domain reputation far more than one unsubscribe. Google has required a List-Unsubscribe header with one-click support since 2024. Without it, senders with more than 5,000 messages per day do not reach the inbox.
Fix: put the unsubscribe link at the top of the email, not in small print at the bottom. Make sure your ESP supports List-Unsubscribe and RFC 8058 (one-click unsubscribe). Add a preference center so people can change frequency instead of opting out entirely. The easier it is to leave, the fewer spam complaints you get.
Sending too often (or too rarely)
Two emails a day and the subscriber is annoyed — spam click. One email every three months and the subscriber has forgotten who you are — spam click. The outcome is the same: complaints pile up, domain reputation suffers. There is no universal frequency; it depends on the niche, the audience, and the type of content.
Fix: for e-commerce, two or three per week is normal. For B2B, once a week or once every two weeks. For digests, weekly. Let subscribers choose via a preference center — someone who picked their own frequency will not complain. Watch your unsubscribe rate: above 0.5% per campaign means you are sending too often.
Keeping inactive subscribers for years
A subscriber has not opened anything in nine months. You keep sending. Every unread message is a negative signal to the provider. Worse: abandoned mailboxes sometimes become spam traps. A provider reclaims an inactive address and uses it to identify senders who are not cleaning their lists. One send to a trap can put a domain on a blacklist.
Fix: implement a sunset policy. Six months of silence triggers a re-engagement sequence of two or three emails: a direct question, an offer to change frequency, one last chance. No response means removal. Ten thousand active subscribers will generate more revenue than one hundred thousand where ninety percent ignore every message.
Where to start
Ten mistakes is a long list. You do not have to fix all of them at once. Here is the order that produces results fastest:
- List validation — the fastest impact. Removing invalid addresses takes minutes and bounce rate drops on the next send.
- SPF, DKIM, DMARC — ten minutes in your DNS panel. After that, providers start trusting your domain.
- Auto-removal of hard bounces — one setting in your ESP that runs itself from then on.
- Segmentation — separate active from dormant subscribers so the latter stop dragging your reputation down.
Add the rest as you go. Every mistake you fix improves deliverability, and the gains compound.
The first step: find out how much junk is in your list. Upload it to uChecker and you will see invalid, risky, and disposable addresses in a couple of minutes.
