Gmail and Yahoo Bulk Sender Requirements: The Checklist
A practical checklist of the Gmail and Yahoo bulk sender requirements: authentication, DMARC alignment, one-click unsubscribe, spam rate limits and DNS.
5 min read
How email feedback loops and ARF complaint reports work, how to measure complaint rate correctly, and practical ways to keep it under Gmail's 0.1% target.
Pidgely teamPublished 5 min readMarkdown version

An email feedback loop (FBL) is a service where a mailbox provider notifies the sender each time a recipient marks a message as spam, usually as an Abuse Reporting Format (ARF) report defined in RFC 5965. You use those reports to stop mailing people who complained and to find which campaigns, segments or sources generate complaints. Keeping complaint rates low matters because they are one of the strongest reputation signals: according to Google's sender guidelines, the user-reported spam rate should stay below 0.1% and never reach 0.3%.
When a user clicks "Report spam" or "Junk", the provider records it as a reputation signal. If you are registered for its feedback loop, the provider also sends you a report, typically within minutes.
Registration differs by provider:
Feedback-ID header and shows the overall spam rate in Postmaster Tools.Because Gmail is often the largest share of a list, you cannot rely on ARF reports alone to see your complaint rate. You need Postmaster Tools too.
An ARF report is a multipart/report message with report-type=feedback-report:
From: feedback@fbl.example.net
To: fbl@bounces.example.com
Subject: FW: Weekly digest
Content-Type: multipart/report; report-type=feedback-report; boundary="ARF"
--ARF
Content-Type: text/plain
This is an email abuse report for an email message received from IP 203.0.113.10.
--ARF
Content-Type: message/feedback-report
Feedback-Type: abuse
User-Agent: ExampleFBL/1.0
Version: 1
Original-Mail-From: <b-7f3k9q2xv1@bounces.example.com>
Arrival-Date: Mon, 12 Oct 2026 14:03:20 +0000
Source-IP: 203.0.113.10
Reported-Domain: example.com
--ARF
Content-Type: message/rfc822-headers
From: Example <news@example.com>
To: <redacted>
Message-ID: <01HZX4Q7M2@mail.example.com>
X-Example-Recipient: 01HZX4Q7M2
--ARF--Key fields from RFC 5965:
abuse for spam reports; other values include fraud, virus and not-spam.Many providers redact the recipient address for privacy. RFC 6590 describes this redaction. That is why you must embed your own identifier: a VERP return-path, a custom header with an opaque recipient ID, or both. A message you cannot map back to a recipient is a complaint you cannot act on.
The naive formula is complaints divided by messages sent, but the details matter:
A spike usually points to one cause: a segment that had not been mailed in a long time, an imported list, a change in frequency, or a misleading subject line. Compare complaint rates by segment for the affected send.
Complaints compound quickly. A useful safety net is an automatic guard: if the complaint rate for an account or stream crosses a threshold over a rolling window, pause sending and alert someone before the provider's reputation system reacts. A paused campaign costs hours; a damaged domain reputation can take weeks to recover.
Pidgely processes ARF reports from feedback loops, matches them to recipients through VERP, suppresses complainers automatically and pauses an account through its reputation guard when complaint rates cross safe thresholds.
A feedback loop (FBL) is a service run by a mailbox provider that sends a report back to the sender whenever a recipient clicks Report spam. Reports usually use the Abuse Reporting Format (ARF) defined in RFC 5965.
Gmail does not send per-message complaint reports. It offers an aggregate feedback loop and the spam rate dashboard in Google Postmaster Tools. Yahoo, Microsoft and many other providers send per-message ARF reports to registered senders.
According to Google's sender guidelines, keep the user-reported spam rate below 0.1% and never reach 0.3%. Lower is always better, and rates should be watched per stream and per provider.
Stop sending non-transactional mail to that recipient immediately, record the complaint with its campaign or stream, and watch complaint trends by segment to find the cause.
Pidgely team
Published
We build Pidgely, the email API that gets you to the inbox. We write about what we learn delivering email, citing the standards and mailbox provider guidelines behind every claim.
A practical checklist of the Gmail and Yahoo bulk sender requirements: authentication, DMARC alignment, one-click unsubscribe, spam rate limits and DNS.
5 min read
Implement List-Unsubscribe and List-Unsubscribe-Post per RFC 8058: headers, DKIM signing, the POST endpoint, and how to avoid link scanners unsubscribing users.
5 min read
The difference between hard and soft bounces, how to read SMTP and enhanced status codes, and how to build suppression rules that protect your reputation.
6 min read