Diagnostic Flowchart
Start here and work through each step in order. Most spam placement issues are resolved within the first three steps.Check authentication (DKIM, DMARC)
Send a test email to an account you control. Open the full email headers and look for these results:If either
dkim or dmarc shows fail, jump to Authentication Checks below.Check domain reputation
Use external tools to evaluate your sending domain:
- Google Postmaster Tools — shows domain reputation, spam rate, and authentication status for Gmail traffic.
- Blocklist check — search your domain and sending IPs on MXToolbox or MultiRBL.
Review email content
Spam filters analyze your message content. Check for:
- Spam trigger words in the subject line or body (e.g., “FREE”, “ACT NOW”, “LIMITED TIME”)
- Image-heavy emails with little or no text
- URL shorteners (bit.ly, tinyurl) — these are heavily associated with phishing
- Misleading subject lines that don’t match the body content
Check sending practices
Review your sending patterns in the Lettr dashboard under Analytics:
- Volume spikes — sudden increases in send volume trigger spam filters, especially for newer domains.
- Bounce rate — should stay below 2%. High bounce rates signal a dirty list.
- Complaint rate — must stay below 0.3%. Check this in the dashboard and in Google Postmaster Tools.
Verify compliance elements
Every marketing or bulk email must include:
- A visible, functioning unsubscribe link (one-click unsubscribe is required for bulk senders to Gmail and Yahoo since February 2024)
- A physical mailing address
- A valid From address that recipients can reply to
Authentication Checks
Authentication failures are the most common cause of spam placement. If DKIM or DMARC is failing, your emails lack the trust signals that mailbox providers require.Reading Email Headers
Look for theAuthentication-Results header in your email source. Here is what passing authentication looks like:
Verify Your DKIM Record
Usedig to confirm the DKIM TXT record is published and correct:
selector with the DKIM selector shown on your Lettr domain settings page. You should see a TXT record containing your public key. If the query returns nothing, the record is missing or misconfigured.
Common Authentication Failures and Fixes
| Failure | Cause | Fix |
|---|---|---|
dkim=fail (body hash) | Email content was modified after signing | Check for email forwarding services or security gateways that alter message bodies |
dkim=fail (no key) | DKIM TXT record is missing or has a typo | Re-check the DNS record against the value shown in Lettr’s domain settings |
dmarc=fail | The From domain doesn’t align with the DKIM signing domain | Ensure your sending domain in Lettr matches your From address domain |
| CNAME not resolving | Domain verification CNAME not pointing to sparkpostmail.com | Add or correct the CNAME record with your DNS provider |
DNS changes can take up to 48 hours to propagate, though most update within a few hours. After making changes, re-verify on the Domains page.
Gmail-Specific Issues
DKIM and DMARC are required for bulk senders
DKIM and DMARC are required for bulk senders
Since February 2024, Google requires all senders who send more than 5,000 messages per day to a Gmail domain to have both DKIM and DMARC properly configured. Messages without valid authentication are increasingly rejected or sent to spam.Confirm both pass by checking email headers as described above.
Spam complaint rate must stay below 0.3%
Spam complaint rate must stay below 0.3%
Google enforces a strict spam complaint rate threshold. If your complaint rate exceeds 0.1%, you should take action immediately. If it exceeds 0.3%, expect significant spam placement.Check your complaint rate in Google Postmaster Tools. Lettr also surfaces complaint webhook events — use these to identify problematic campaigns.To reduce complaints:
- Make your unsubscribe link prominent and easy to find
- Only send to recipients who explicitly opted in
- Match send frequency to subscriber expectations
One-click unsubscribe is required
One-click unsubscribe is required
Since February 2024, Gmail and Yahoo require a working
List-Unsubscribe header with one-click unsubscribe support for bulk senders. Lettr automatically adds the correct headers when you include an unsubscribe link in your email.Check Google Postmaster Tools for domain reputation
Check Google Postmaster Tools for domain reputation
Google Postmaster Tools provides a reputation rating for your domain: High, Medium, Low, or Bad. A reputation of Low or Bad will cause most of your emails to land in spam.Set up Google Postmaster Tools at postmaster.google.com by verifying your sending domain. Data typically appears within 24–48 hours of sending.
Outlook / Microsoft-Specific Issues
Use Microsoft SNDS for IP reputation
Use Microsoft SNDS for IP reputation
Microsoft’s Smart Network Data Services (SNDS) lets you monitor the reputation of sending IPs. Since Lettr sends on your behalf through shared or dedicated IPs, check with Lettr support if you need IP-level reputation data.Sign up at sendersupport.olc.protection.outlook.com/snds.
Outlook junk filter quirks
Outlook junk filter quirks
Outlook’s junk filter is more aggressive than Gmail’s in some areas:
- Emails with large images and minimal text are filtered more aggressively
- New sending domains without history are treated with extra suspicion
- Outlook weights user engagement heavily — if recipients consistently ignore your emails, future messages are more likely to land in junk
Request delisting from Outlook
Request delisting from Outlook
If your emails are being blocked or junked by Outlook, you can submit a delisting request:
- Go to sender.office.com.
- Enter the sending IP address or your sending domain.
- Fill out the form with details about your sending practices.
- Microsoft typically responds within 24–48 hours.
Delisting only helps if you have fixed the underlying issue. If your sending practices haven’t changed, you will end up blocked again.
Content Issues That Trigger Spam Filters
Spam filters analyze your email content in addition to authentication and reputation. Avoid these common triggers:| Trigger | Why It’s a Problem | What to Do Instead |
|---|---|---|
| ALL CAPS in subject or body | Associated with spam and shouting | Use normal sentence case |
Excessive punctuation (!!!, ???) | Classic spam pattern | Use a single punctuation mark |
| Spam trigger words (“FREE”, “ACT NOW”, “WINNER”) | Matches known spam vocabulary | Use natural, conversational language |
| Image-only emails with no text | Filters can’t read images, and spammers use this to evade text-based filters | Maintain at least a 60/40 text-to-image ratio |
| URL shorteners (bit.ly, tinyurl) | Heavily used in phishing, automatically flagged | Use full URLs or your custom tracking domain |
| Misleading subject lines | Violates CAN-SPAM and triggers filters | Make subject lines accurately reflect the email content |
| Missing plain text version | Legitimate senders include both HTML and plain text | Lettr automatically generates a plain text version from your HTML |
| Too many links | Excessive links signal promotional or spam content | Keep links relevant and limit them to what’s necessary |
Reputation Issues
Domain reputation is built over time based on your sending behavior. These are the most common reputation problems that cause spam placement:- New domain without warm-up — Mailbox providers have no history for your domain. Sending large volumes immediately signals spam. Gradually increase volume over 2–4 weeks.
- High bounce rate — A bounce rate above 2% tells providers your list is outdated or purchased. Clean your list and remove invalid addresses.
- High complaint rate — Complaints above 0.1% are a warning sign. Above 0.3% causes active spam filtering. Use Lettr’s complaint webhook events to identify and remove recipients who mark your emails as spam.
- Sending to purchased or scraped lists — These lists contain spam traps, invalid addresses, and uninterested recipients. Never use them.
- Inconsistent sending patterns — Long periods of silence followed by large blasts trigger filters. Maintain a consistent sending schedule.
Quick Fixes Checklist
Verify all DNS records are correct
Verify all DNS records are correct
Open the Domains page and confirm your CNAME, DKIM, and DMARC records all show as valid. Run a manual check:
Set up a custom tracking domain
Set up a custom tracking domain
If you are using the default shared tracking domain, set up a custom one under Tracking Domains. This immediately improves link reputation.
Add a visible unsubscribe link
Add a visible unsubscribe link
Make sure every marketing email has a clear, easy-to-find unsubscribe link. Lettr adds the required
List-Unsubscribe header automatically, but the visible link in the email body matters too.Include a physical mailing address
Include a physical mailing address
CAN-SPAM and GDPR both require a physical mailing address in marketing emails. Add it to your email footer.
Check your complaint rate
Check your complaint rate
Review complaint data in the Lettr dashboard under Analytics and in Google Postmaster Tools. If the rate is above 0.1%, take immediate steps to reduce it.
Remove invalid addresses from your list
Remove invalid addresses from your list
Go to Suppressions in the Lettr dashboard and review bounce entries. Set up a bounce webhook to automatically handle hard bounces going forward.
Send a test email and check headers
Send a test email and check headers
Send a test to your own Gmail and Outlook accounts. Check that
dkim=pass and dmarc=pass appear in the headers before sending to your full list.Related Topics
Deliverability Best Practices
Foundational practices for maximizing inbox placement.
Sending Reputation
How to build and maintain a strong sender reputation.
Google & Yahoo Requirements
Authentication and unsubscribe requirements for bulk senders.
Sending Domains
Set up and verify your sending domain with DNS records.