Email Feedback Loops: Only Two of the Big Four Send You One

A feedback loop tells you which recipient marked your message as spam, so you can suppress that address before you mail it again. Two of the four large mailbox providers send you that report: Yahoo and Microsoft. Gmail runs something it also calls a Feedback Loop, and it is a different thing, an aggregate spam rate per campaign with no addresses in it. Apple offers none and says so in writing.

That split is the whole subject. Advice that treats "sign up for the feedback loops" as one task sends you looking for a Gmail complaint feed that has never existed.

A feedback loop is a complaint report, and RFC 5965 defines its format

The report format is the Abuse Reporting Format, defined by RFC 5965 in August 2010 and refined by RFC 6650 in June 2012. An ARF message is a multipart report carrying a machine-readable block plus the original message, or the parts of it the provider is willing to hand back.

RFC 6449, published November 2011 by the Messaging Anti-Abuse Working Group, is the operational document, and it is candid about the limits. Providers redact information deemed private, and some redact the recipient's address itself, which turns a suppression feed into a volume counter. Read what a provider actually sends before you build a pipeline that assumes an address will be in it.

The economics are worth stating once. A complaint is a recipient telling their provider that your mail is unwanted. The provider is under no obligation to tell you, and every feedback loop is a voluntary program with an application, terms of use, and the right to say no.

Yahoo keys its Complaint Feedback Loop on your DKIM domain

Yahoo's program is domain based, and it is explicit about the requirement: the Complaint Feedback Loop program only supports DKIM-signed email. Senders must sign outbound mail with DKIM so that Yahoo can determine the actual sender.

When a message signed with an enrolled DKIM key is marked as spam, Yahoo sends the enrolled address a report in ARF so the sender can suppress that recipient from further campaigns. Enrollment is three steps: create a sender profile, add and verify your domain, then enroll the domain.

Keying on the DKIM domain has a consequence worth planning for. If your platform signs every customer's mail with one shared d= domain, enrolling that domain pools every customer's complaints into one feed, and separating them again is your problem. Signing each customer on their own domain is what makes the feed actionable.

Microsoft keys JMRP on an IP you prove you control, and moved the portal in 2026

Microsoft's Junk Email Reporting Program is part of Smart Network Data Services, and the pairing is the point: SNDS gives senders data about individual IPs, and JMRP lets you receive reports when users junk your messages. Both are keyed on IP address, and access begins by requesting the IPs you are responsible for and passing an authorization check.

Three changes landed in 2026 and the announcements are dated 6 July 2026. SNDS moved to a new portal, replacing the long-standing address under sendersupport.olc.protection.outlook.com. Automated access URLs on that old host were marked for deprecation by 22 June 2026, so a script pointed at the old endpoint stops working rather than degrading. And trap hit counts were removed from the Data Report from 22 July 2026, with a warning that values reported during the transition may differ from previous reports and should not be read as exact.

Keying on IP decides who can use it. If you send through a shared pool at an email service provider, the IPs are not yours to claim, and the enrollment belongs to that provider. Ask them whether they are enrolled and what they do with the reports, because the answer determines whether a complaint at Outlook.com ever reaches your suppression list.

Gmail's Feedback Loop is aggregate, and never names a recipient

Gmail's FBL reports which of your campaigns are drawing complaints, not who complained. It is built on a header you add yourself, and the rules are specific.

The header is Feedback-ID and its value is four colon-separated fields. The last field, the SenderId, is mandatory, 5 to 15 characters, and must stay consistent across your mail stream. The first three are optional identifiers you choose, typically campaign, customer and mail type. Aggregate data is generated for the first four fields counting from the right, and if the SenderId is empty no data is generated at all.

Four conditions gate the data, and missing any one produces silence rather than an error:

  • The traffic must be DKIM signed by a domain you own or control, after the header is added. Signing before the header leaves it unprotected, and the anti-spoofing check is the reason the requirement exists.
  • That signing domain must be added and verified in Google Postmaster Tools, which is where the FBL dashboard appears. Only one such verified header should be present.
  • The signing domain's SPF record must list the IPs you send from, and those IPs need PTR records resolving to a valid hostname.
  • An identifier only gets a report once a day's traffic carries it in sufficient volume and in distinct user spam reports.

Two authoring mistakes are worth naming. Do not use a value that is unique per message, such as a Message-ID, because an identifier that never repeats can never aggregate. And do not repeat the same identifier across different fields, or unrelated traffic is summed together.

The data covers @gmail.com recipients only. What you get back is a rate against a campaign, which is a diagnostic. It is not a suppression feed, and no configuration produces one.

Apple does not offer a feedback loop, and says so

Apple's postmaster page for iCloud Mail answers it directly: iCloud Mail does not offer a feedback loop. There is no application to file and no queue to join.

What Apple asks instead is a list of sending hygiene requirements, and it treats them as conditions of bulk delivery rather than suggestions: mail only to recipients who explicitly subscribed, an unsubscribe link that works immediately, ARC headers on forwarded mail, compliance with RFC 5321 and RFC 5322, reverse DNS published for your sending IPs, and consistent sending IPs and domains.

What each provider actually gives you

ProviderKeyed onWhat arrivesNames the recipient
Yahoo CFLYour DKIM d= domainOne ARF report per complaintYes
Microsoft JMRPAn IP you prove you controlOne ARF report per complaintYes
Gmail FBLFeedback-ID plus a verified Postmaster Tools domainAn aggregate rate per identifierNo
Apple iCloudNothingNothingNot applicable

A complaint report is only useful if it suppresses the address that day

RFC 6449 is blunt about the first job: the address in a complaint comes off your list. Counting complaints and acting on them are different projects, and only the second one changes anything.

Three habits separate a working feedback loop from a folder of unread mail:

  1. Suppress on receipt, globally, not per campaign. A recipient who complained about a newsletter did not consent to the next product announcement.
  2. Keep the report, not just the address. The ARF block carries the arrival date and often the original headers, which is what lets you trace a complaint spike back to a specific send rather than to a bad week.
  3. Watch the rate per stream, not the total. One transactional stream and one marketing stream averaged together hide the one that is failing.

The complaint-rate thresholds the large providers publish, and what happens when you cross them, are covered in our guide to the Gmail and Yahoo bulk sender requirements.

What to check before you apply for any of them

Every program above rests on authentication you either have or do not, and an application that fails these checks is rejected without much explanation.

  1. DKIM on a domain you control. Yahoo keys its entire program on it and Gmail requires it to trust your header. Our DKIM checker reads the published key and its length. Across the domains we test for the Unspam 2026 Email Deliverability Benchmark, 90% of the domains we test sign with a working DKIM.
  2. SPF listing every IP you actually send from, on the signing domain rather than only on the visible From domain. Our SPF checker walks the includes and counts the lookups against the limit that voids a record.
  3. Reverse DNS on your sending IPs, resolving to a real hostname. 99% of the domains we test already have valid reverse DNS, which makes the 1% that do not an easy application to lose.
  4. Exactly one Feedback-ID header. Our email header analyzer shows what a real message carries, which is where a duplicate added by a middlebox becomes visible.

To see the authentication and headers on a message as a receiver sees them, run a free spam test.

Frequently asked questions

What is an email feedback loop?

A feedback loop is a program in which a mailbox provider tells a sender that a recipient marked their message as spam, so the sender can suppress that address. The report format is the Abuse Reporting Format, defined by RFC 5965 in August 2010 and refined by RFC 6650 in June 2012, and RFC 6449 from November 2011 holds the operational recommendations. Every feedback loop is voluntary: the provider is under no obligation to tell you, and each one has an application and terms of use.

Does Gmail have a feedback loop?

Gmail has a program called the Feedback Loop, but it does not send you complaint reports and it never names a recipient. It reports an aggregate spam rate for campaign identifiers you embed yourself in a Feedback-ID header, and the data appears in a dashboard in Google Postmaster Tools rather than arriving as mail. The data covers gmail.com recipients only. If you are looking for a list of Gmail users who complained so you can suppress them, no configuration produces one.

How do I set up the Gmail Feedback-ID header?

The header value is four colon-separated fields, ending with a mandatory SenderId of 5 to 15 characters that stays consistent across your mail stream. The first three fields are optional identifiers you choose, typically campaign, customer and mail type. The traffic must be DKIM signed by a domain you own after the header is added, that domain must be verified in Google Postmaster Tools, its SPF record must list your sending IPs, and those IPs need PTR records. Never use a value that is unique per message, because an identifier that never repeats cannot aggregate.

How do I join the Yahoo Complaint Feedback Loop?

Create a sender profile, add and verify your domain, then enroll the domain. Yahoo's Complaint Feedback Loop supports DKIM-signed email only and is a domain based service, so you must sign outbound mail with DKIM for Yahoo to identify you. Once enrolled, a message signed with that key that a recipient marks as spam produces an ARF report to the enrolled address, naming the recipient so you can suppress them.

Does Apple iCloud Mail offer a feedback loop?

No. Apple's postmaster page for iCloud Mail states that it does not offer a feedback loop. Apple instead publishes bulk sending requirements it treats as conditions of delivery: mail only to recipients who explicitly subscribed, an unsubscribe link that works immediately, ARC headers on forwarded mail, compliance with RFC 5321 and RFC 5322, reverse DNS on sending IPs, and consistent sending IPs and domains.

Can I use a feedback loop if I send through an ESP on shared IPs?

Not for Microsoft's Junk Email Reporting Program, which is keyed on IP addresses you prove you are responsible for. On shared sending infrastructure those IPs belong to your provider, so the enrollment is theirs and the complaints arrive at their address. Ask your provider whether they are enrolled and what they do with the reports. Yahoo's program is keyed on the DKIM domain instead, so signing with your own domain rather than a shared platform domain is what makes that feed yours.

See where your campaign actually lands.

Start a free spam test Inbox placement test