Gmail Stopped Filtering Non-Compliant Bulk Mail to Spam - Now It Rejects It Outright
For the first year and a half after Google's bulk sender guidelines took effect in February 2024, non-compliance mostly meant your mail got quietly filtered to spam, or occasionally deferred with a temporary error while Gmail decided what to do with it. Annoying, but recoverable - fix the issue, and the next campaign usually did better.
That changed in November 2025. Gmail scaled up enforcement to permanent 5xx rejections at the SMTP level for messages that fail authentication or push a domain over the spam-rate threshold. A permanent rejection isn't a spam-folder placement - it's Gmail's mail server refusing the message outright, before it goes anywhere. The message never reaches spam. It bounces.
Why this is worse than it sounds
A message sitting in spam is invisible to the recipient but visible to you as a delivered send - your ESP's dashboard shows it as sent, sometimes even as delivered. A 5xx rejection is a hard bounce. If you're not watching bounce rates closely, permanent rejections can quietly erode a list's health while every other metric looks normal, because the messages that bounce were never going to be seen anyway - you just didn't know they were bouncing instead of hiding.
Who this applies to
Google's bulk sender definition hasn't changed: roughly 5,000 or more messages to personal @gmail.com and @googlemail.com addresses within 24 hours. It doesn't apply to Google Workspace recipients, and it's measured on your sending domain or IP, not your account as a whole - a domain well under that threshold isn't held to the bulk sender bar, though the general sender rules (valid SPF or DKIM, no From: impersonation, reasonable spam rate) apply regardless of volume.
What compliance actually requires now
- SPF and DKIM both configured (bulk senders need both; lower-volume senders can get by on either one)
- A DMARC record at _dmarc.yourdomain, minimum p=none, with SPF or DKIM aligned to the visible From domain
- Spam rate kept under 0.3%, with 0.1% as the real target - Google's own guidance treats 0.3% as already a problem, not a ceiling to hover under
- One-click unsubscribe (List-Unsubscribe and List-Unsubscribe-Post headers) plus a visible unsubscribe link in the body, for any marketing or subscribed mail
- TLS on the SMTP connection delivering to Gmail - separate from all of the above, and easy to miss because it isn't a DNS record (more on this below)
How to actually check where you stand
Google Postmaster Tools was rebuilt in October 2025 (the legacy version was retired) and now shows a binary compliance status alongside the reputation graphs it always had. If you haven't looked at it since before October 2025, it's worth a fresh look - the layout and what it reports both changed.
For a single message, the fastest check is the headers themselves: Gmail reports the SPF, DKIM and DMARC result for every message it accepts in the Authentication-Results header, whether that message landed in the inbox, a tab, or Spam.
Paste a message's headers into our Email Header Analyzer
A rejection at the SMTP level won't show up in that header, because the message was never accepted in the first place - that's the part that trips people up. If a segment of a list is bouncing hard against Gmail specifically, authentication or a compliance gap is the first thing to rule out, not list quality.
Not sure if your setup would hold up under more volume?
Get a Free Deliverability Review