Why Do ESPs Disagree on Bounce Types? What That Means for Your List

You send the same email to the same address, yet one ESP marks it as a hard bounce while another labels it as soft. Why does the same email fail differently across platforms?

It’s not a glitch. It’s the reality of email deliverability: ESPs don’t all interpret SMTP response codes the same way. What one treats as a permanent failure, another may treat as a temporary issue—leading to inconsistent list hygiene and unreliable sender reputation signals.

Understanding these discrepancies isn’t guesswork. It’s about recognizing how each ESP’s internal rules shape bounce classification. The result? A broken feedback loop where your bounce rate doesn’t reflect reality—and your list gets worse over time.

Key takeaways

  • Hard and soft bounce definitions vary between ESPs due to differing SMTP interpretation thresholds and business logic.
  • Consistent bounce behavior is rare across ESPs, leading to distorted inbox placement metrics and unreliable list health signals.
  • Manual list cleaning based on bounce reports alone is insufficient; validation tools that inspect delivery logic across providers yield more accurate hygiene outcomes.

How SMTP Responses Drive Discrepancies in Bounce Detection

SMTP response codes like 550 and 450 are the foundation of bounce detection, but how platforms interpret them varies. A 550 error for a nonexistent address is always a hard bounce, but a 450 error—indicating a full mailbox—can be treated as soft by some ESPs and hard by others, depending on their internal rules. Some systems wait up to 72 hours before upgrading a soft bounce to hard, while others apply rigid time windows, leading to inconsistent results across platforms.

The Real Signal: Code, Not Label

SMTP is a protocol for delivering mail, not tracking intent. The error codes themselves are precise—550 means “recipient address rejected,” while 450 means “try again later”—but ESPs interpret those signals differently based on their own delivery policies. For example, a 450 error might trigger a soft bounce alert in one system, but after three failed attempts, another system may mark it as hard, even though the actual SMTP response didn’t change.

Let’s say you send to an address with a 450 error. One ESP might retry once and then move it to hard, while another might retry up to five times before doing so. This discrepancy means your bounce rate can vary between tools—even if you’re using the same list—just because each platform handles the same signal in a distinct way. The underlying code is consistent, but the interpretation isn’t.

Timing and Policy Differences Create Misalignment

There’s no universal standard for how long to wait before classifying a soft bounce as hard. Some systems use a fixed 24-hour window, while others allow 72 hours or more. The RFCs for SMTP (like RFC 5321) define the codes and their immediate meaning, but not how long to retry or when to escalate.

That gap leaves room for error. A mailbox full today might be empty tomorrow, but if your ESP marks it hard too soon, you’re purging a viable address. On the flip side, waiting too long to flag a soft bounce as hard can allow invalid emails to linger, hurting sender reputation and deliverability.

That’s where accurate, real-time verification helps. You don’t need to rely on the post-send interpretation of an ESP’s bounce report. Instead, you can validate the address before sending—using an API or bulk tool—before any SMTP response is even generated.

For example, verifying your list in real time catches invalid addresses upfront, reducing reliance on ambiguous bounce signals. It also gives you insight into catch-all domains, role accounts, or disposable addresses that could otherwise skew your bounce analysis.

The Impact of Catch-All Servers on Bounce Classification

Catch-all servers silently accept all emails, even for nonexistent addresses, which means they never reject mail via SMTP. This behavior misleads ESPs into treating every send as delivered, even when the recipient doesn’t exist. Without verification, your bounce rate appears artificially low, your engagement metrics become unreliable, and your sender reputation takes a silent hit.

How Catch-Alls Skew ESP Bounce Reporting

When a catch-all domain receives an email, the receiving server typically responds with a 250 OK, signaling successful delivery. This response is logged as a "successful" send by the ESP — even if the address is invalid. The email might be discarded immediately after, but the ESP has no way of knowing. The result? You see no hard bounces, but you’ve sent to a non-existent inbox, inflating your delivery rate while wasting bandwidth and damaging trust.

It’s not just about metrics — it’s about deliverability. Sending to catch-all addresses increases the risk of being marked as spam, especially if your engagement drops. ESPs like Gmail and Outlook monitor engagement signals closely. An email sent to a catch-all, even if technically delivered, never gets opened. That’s a missed interaction, not a success. Over time, consistent sends to non-existent or inactive addresses — especially via catch-alls — lead to degraded sender reputation and reduced inbox placement.

Why Pre-Verification Solves This Problem

Let’s be clear: you can’t trust ESP bounce reports alone. They report what the server said, not whether someone actually saw the message. Catch-all responses don’t indicate delivery to real people. If you’re relying solely on ESP feedback, you’re flying blind.

That’s where pre-verification comes in. By checking addresses before sending — using tools like real-time APIs or bulk validation — you identify and remove invalid or non-receiver addresses early. You avoid sending to domains that accept mail for any address, regardless of validity. This sharpens your list, lowers your risk, and protects your sender reputation. Tools like bulk email list cleaning or the real-time verification API help eliminate these risks before they impact your campaign results.

For context, RFC 5321 (the core SMTP standard) allows catch-all handling, but it doesn’t require it. However, many domains implement it — meaning this behavior is common, not rare. As a sender, you’re responsible for understanding what’s behind the delivery report. The Internet Society’s documentation on SMTP behavior reinforces that delivery notifications aren’t a guarantee of recipient receipt [RFC 5321]. That gap is where email verification fills the void.

Greylisting and Temporary Bounces: Why Some ESPs Misclassify Them

Greylisting delays email delivery until the sending server retries, using IP and domain behavior as a filter. Some ESPs mark this delay as a soft bounce after one retry, while others allow multiple attempts before labeling it, leading to inconsistent bounce reports across platforms—even when testing the same list. This gap hurts deliverability accuracy, especially in delayed validation scenarios.

How Greylisting Works Under the Hood

When your mail server sends an email, the recipient’s system may temporarily reject it, insisting the sender retry later. This is greylisting: a defense against spam by requiring senders to prove their legitimacy through follow-up attempts. Your server must retry within a short window—usually minutes—otherwise the message is discarded.

But here’s where things get messy: not all ESPs handle this delay the same way. Some systems log a retry as a soft bounce immediately, even if the retry was successful. Others don’t log anything until the third or fifth attempt fails, treating earlier delays as transient issues rather than bounces. This variation means the same list can show different bounce counts depending on which ESP you test with.

Why Misclassification Happens Across Platforms

Deliverability testing tools that rely on delayed validation—especially those simulating real-world sending conditions—run into this inconsistency. A list may pass one platform’s test with minimal soft bounces, then fail another’s due to different rules around retrying and classification. The root cause? No universal standard governs how long to wait, how many retries to allow, or when to log a failure.

Even major ESPs like Gmail, Outlook, and Yahoo vary in their implementation. Gmail’s systems are known for aggressive filtering, while others may hold messages longer or accept retries without marking them as soft bounces. It’s not a flaw—greylisting is an industry-standard practice described in RFC 5768—but it creates real-world noise in bounce reporting.

What you can do: use a tool that validates emails with real SMTP behavior, not just syntax checks. This helps spot issues like greylisting before they affect deliverability. For accurate list validation, especially when sending across multiple platforms, clean your list with real-time SMTP checks that simulate actual delivery paths and detect invalid or temporarily rejected addresses early.

How Email List Validation Corrects Bounce Discrepancies Before They Happen

You send to the same list across multiple ESPs, but some addresses hard bounce on one, soft bounce on another, or no bounce at all. That inconsistency isn’t a bug in the ESP—it’s a flaw in your list. Email List Validation surfaces these mismatches early by simulating delivery without sending. It checks MX records, validates inbox existence, identifies catch-alls, roles, and disposable domains, and flags addresses that will cause confusion in your delivery reports. With 98.9% accuracy, it catches the noise before it hits your send. Let’s break down why this happens. ESPs interpret bounce types differently. One might classify a non-existent address as a hard bounce, another as a soft bounce due to temporary server issues. A catch-all address may pass validation on one ESP but fail later. Disposable domains might survive initial checks, only to vanish after a day—leaving you with poor delivery stats and reputation damage. These discrepancies aren’t about your email content; they’re about dirty data that looks clean on paper. The root cause is delayed feedback. Traditional list cleaning tools scan headers or check syntax, but they don’t verify actual delivery readiness. Email List Validation does. The real-time verification API runs SMTP-like checks—connecting to the recipient’s mail server in real time, testing the address, and returning a verdict without sending mail. This simulates delivery conditions as they would be during a real send. This process exposes subtle but critical flaws. It can detect whether a domain accepts all emails (catch-all), which often correlates with spam traps or low inbox placement. It checks if an address belongs to a role (like admin@ or sales@), which are frequently blocked or discarded by ESPs without warning. It identifies disposable domains like 10minutemail.com or mailinator.com, which you should never send to, even if they appear “valid” to a syntax check. All of this happens before you even send. With 100 free verifications to start and credits that never expire, you can test your list at scale. Use our bulk verification to pre-clean campaigns, or integrate the real-time verification API to validate every new contact as it enters your system. Both are designed to catch discrepancies early, so what you send is what the ESPs actually receive. For teams relying on integrations with Mailchimp, Klaviyo, or HubSpot, this prevents wasted sends and keeps sender reputations intact. Inbound leads may look perfect—but until you validate them, you’re taking a risk. Use the API to validate every new subscriber in real time. Or clean your existing list before launching large campaigns. The result? Consistent bounce classification across ESPs, fewer surprises, and better inbox placement—starting before the first email is sent. The best way to avoid bounce inconsistencies is to ensure your list never contains the triggers for them. You don’t need to guess which addresses will misbehave. You just need the right data to prove it.

A Step-by-Step Process to Audit Your List Against Bounce Discrepancy Risks

Discrepancies in hard vs soft bounce detection across ESPs often stem from poor list hygiene—invalid, catch-all, or risky addresses that don’t behave consistently during delivery. The most reliable fix starts with validating every email against real SMTP and DNS behavior before sending. You can reduce bounce misclassification by filtering out problematic addresses before they ever reach an ESP’s inbox.

  1. Import your email list into Email List Validation’s bulk verification tool. This is the first step in uncovering which addresses are technically valid, which are dead ends, and which might trigger inconsistent bounce responses. Use the bulk email list cleaning tool to process hundreds or thousands of emails at once.
  2. Run the list through real-time validation, including MX lookup, SMTP handshake, and syntax checks. Each email is checked against the recipient’s mail server to confirm it can receive messages. This process goes beyond syntax—confirming an email exists and is willing to accept mail. This prevents ESPs from misreporting deliverability issues due to invalid or unresponsive addresses.
  3. Review the verification verdicts: Valid, Invalid, Catch-All, Risky, and Role-based. The tool returns precise verdicts based on real server behavior. Valid addresses are ready to be sent to. Invalid, Catch-All, and Risky addresses are where discrepancies arise—these can cause soft bounces, hard bounces, or no bounce at all, depending on the ESP’s internal logic.
  4. Filter out Invalid, Catch-All, and Risky addresses—these are where discrepancies are most likely to occur. Catch-all domains accept all emails, so they may not bounce at all, even if the specific address doesn’t exist. Risky addresses often belong to role-based emails (like admin@ or sales@) or disposable domains, which are prone to failure. These should be excluded from live campaigns to prevent inconsistent reports across ESPs.
  5. Re-validate after each send campaign to maintain hygiene and prevent future bounce misclassification. Even clean lists degrade over time. A single re-verification post-campaign helps catch new invalids and confirms ongoing integrity. Regular validation is a repeatable habit that keeps your sender reputation stable and aligns reporting across ESPs.

Why This Matters: ESPs Don’t All See the Same Thing

Each ESP applies its own rules to classify bounces. Some treat unverified mailboxes as hard bounces; others treat them as soft. If your list contains addresses that are technically valid but don’t respond properly under load (like catch-alls), you’ll get inconsistent results across ESPs. This makes performance tracking unreliable.

Industry-wide, over 20% of bounces can be attributed to address quality issues rather than delivery problems. By validating against real server behavior—just as RFC 5321 defines SMTP exchange—your list becomes reliable regardless of which ESP you use. This consistent baseline is how you resolve discrepancy risk.

Let’s be clear: no ESP can fix a list full of fake or invalid emails. But with the right tools, you can catch those issues early. Email List Validation uses real SMTP testing—no guesswork, no proxies—to give you a clear picture of what’s deliverable and what isn’t. Clean lists mean fewer surprises, better inbox placement, and fewer misclassified bounces.

Understanding How Verification Verdicts Map to Bounce Types

You can align verification results with bounce behavior across ESPs by mapping each verdict to its likely bounce type: valid emails usually avoid bounces, invalid ones fail immediately, catch-all addresses often soft-bounce or go to spam, risky or role-based emails tend to fail on deliverability even if accepted. The key is using verification data not just to filter out dead addresses, but to predict how your messages will be handled across different platforms.

Verdicts and Their Bounce Realities

  • Valid: Likely to receive mail without immediate bounce. These are active, well-formed addresses with no known delivery failures. Use them confidently in sends.
  • Invalid: Malformed, non-existent, or permanently unreachable. These will hard-bounce across all ESPs. Removing them prevents reputation damage and reduces sending waste.
  • Catch-All: The server accepts all addresses, even invalid ones. While not a hard bounce, messages go to spam or get ignored. Treat these as high-risk—no engagement, poor deliverability, and potential for reputation penalties.
  • Risky: Could be role accounts, short-lived, or behind greylisting. Even if verified as valid, they may soft-bounce or be delayed. Monitor engagement closely; these are not safe for high-volume campaigns.
  • Role-based: Addresses like admin@, support@, or sales@ are often ignored or auto-deleted. Most ESPs reject these via filters. High bounce rate, low engagement—treat them as disposable even if technically valid.

Why This Mapping Matters Across ESPs

Different ESPs (SendGrid, Mailchimp, HubSpot) classify bounces differently. A soft bounce on one platform might be a hard failure on another. Verification helps you see beyond the label—knowing a catch-all is just a placeholder, or that a role address has no deliverability, helps you build smarter suppression lists and improve inbox placement.

ItemDetails
ValidLikely to receive mail without immediate bounce. These are active, well-formed addresses with no known delivery failures. Use them confidently in sends.
InvalidMalformed, non-existent, or permanently unreachable. These will hard-bounce across all ESPs. Removing them prevents reputation damage and reduces sending waste.
Catch-AllThe server accepts all addresses, even invalid ones. While not a hard bounce, messages go to spam or get ignored. Treat these as high-risk—no engagement, poor deliverability, and potential for reputation penalties.
RiskyCould be role accounts, short-lived, or behind greylisting. Even if verified as valid, they may soft-bounce or be delayed. Monitor engagement closely; these are not safe for high-volume campaigns.
Role-basedAddresses like admin@, support@, or sales@ are often ignored or auto-deleted. Most ESPs reject these via filters. High bounce rate, low engagement—treat them as disposable even if technically valid.
The 5 items listed under “Verdicts and Their Bounce Realities”, side by side.

For example, RFC 6521 defines catch-all policies and their impact on email verification reliability. Similarly, Spamhaus tracks common patterns in role-based addresses used for spam, which reinforces why these should be excluded.

Let’s be honest: no tool catches every edge case. But using a consistent mapping—valid → safe, invalid → delete, risky/role → caution—helps you avoid the noise and focus on addresses that actually engage.

For teams doing bulk list hygiene, real-time validation, or inbox testing, these verdicts are your foundation. You don’t need guesswork—just clear logic and a tool that respects the difference between a valid email and a deliverable one.

The Cost of Waiting for ESP Bounce Reports: What You’re Losing

You’re losing engagement, sender reputation, and deliverability by waiting for bounce reports from your ESP. By the time they arrive, you’ve already sent to invalid or risky addresses—some of which may have been caught in greylisting, caught-all responses, or disposable domains. That delay means each soft bounce you receive is already damaging your reputation, and you’ve missed the chance to stop it before it happens.

Bounces Aren’t Just Errors—They’re Reputation Signals

Every soft bounce—especially those from overwhelmed inboxes or temporary server issues—adds weight to your sender score. Major ESPs like Gmail and Outlook use bounce patterns as part of their filtering logic. The longer your list includes addresses that consistently trigger soft bounces, the more likely they’ll throttle your sends or flag your domain.

Waiting for an ESP’s feedback loop means you’re operating in reactive mode. You’re not stopping issues; you’re just logging them after they’ve already hurt your deliverability. That’s like checking your car’s engine after it’s stalled—by then, it’s too late to fix what’s broken.

You Can’t Trust ESP Bounce Reports to Be Timely or Complete

ESP bounce reports are often delayed by hours or even days. Some deliverability systems don’t report soft bounces at all or only after multiple failed attempts. This delay means your list remains unclean, and your next campaign could be blocked before you even know it’s at risk.

Plus, not all bounces are reported uniformly. Catch-all domains return a soft bounce that looks valid, but it’s not. Disposable email addresses often appear as valid but are rarely engaged with. You’re not just waiting—you’re missing real risks that only proactive verification catches.

Let’s be honest: relying solely on your ESP’s bounce feedback is like trusting a smoke detector to prevent a fire. You only know it’s happened after the damage is done. Instead, clean your list before sending—using real-time, multi-layer verification that checks syntax, domain health, and mailbox responsiveness.

With bulk email list cleaning, you can identify and remove invalid, risky, or disposable addresses before they ever hit your ESP. This reduces your bounce rate, keeps your sender reputation strong, and keeps your messages in the inbox where they belong.

For real-time validation as you collect emails, our API integrates directly into your signup workflow, catching issues at the source. You’re not waiting for a bounce. You’re preventing it.

Learn how the industry standard practices around sender reputation and bounce handling are enforced by major ISPs—see RFC 6521, which outlines how message delivery failures contribute to sender policy evaluation and filtering systems.

Real-Time API: Proactive Bounce Prevention at the Point of Entry

You can stop hard and soft bounces before they happen by validating emails the moment they enter your system. Using Email List Validation’s real-time API, you screen each address instantly—before it’s added to a campaign. This stops invalid, catch-all, and disposable emails at the source, reducing delivery failures and protecting your sender reputation. The result? Cleaner lists, fewer bounces, and better inbox placement across ESPs.

How It Works

  • Integrate the Email List Validation API into your sign-up, CRM, or data collection workflow.
  • As each email is entered, the API runs a full validation—checking syntax, domain existence, MX records, and mailbox responsiveness.
  • You receive a clear verdict: Valid, Invalid, Catch-all, or Risky—before any message is sent.
  • Use the result to block invalid entries or flag questionable ones for review, preventing poor-quality emails from ever reaching your email service provider.
  • This real-time filtering reduces the load on your ESP and prevents delivery issues caused by misclassified bounces.

Why This Matters for Bounce Discrepancies

Hard and soft bounce detection varies widely between ESPs due to differences in filtering systems and spam thresholds. One provider may classify a temporary delivery failure as a soft bounce; another may treat it as a hard failure. This inconsistency makes post-send analysis misleading.

By validating at the point of entry, you cut through the noise. You’re not waiting for an ESP to return a bounce code after a failed delivery. You’re preventing the delivery from happening altogether.

According to RFC 6521, hard bounces should be treated as permanent failures. But not all systems are strict about this. Real-time validation ensures you act on that standard—before any message is sent.

It’s not about guessing the ESP’s behavior. It’s about controlling the input. You’re not relying on post-delivery signals that may vary. You’re acting on verified data from the source.

For example, disposable domains like those from temporary email services are almost always blocked by ESPs. They’re flagged early in the verification process. Catch-all domains—where any address appears valid—are caught before you waste sends on non-responding mailboxes.

You Can Do This Now

Start with a free tier of 100 verifications and see how it reduces your bounce rate before sending. No credit card required.

Set up the API in minutes and start cleaning your data as it comes in. It’s especially useful for e-commerce sign-ups, lead capture forms, and high-volume outreach.

With real-time verification, you gain control over data quality—before it ever leaves your system.

How Integrations with Mailchimp, SendGrid, and HubSpot Help Clean Lists Proactively

You can stop discrepancies in hard and soft bounce detection across ESPs by syncing your email list with Mailchimp, SendGrid, or HubSpot through Email List Validation. This integration runs verification before every send, filters out invalid and risky addresses, and keeps your list clean across your entire marketing stack—so you’re not just reacting to bounces, but preventing them.

Pre-send validation closes the loop

Let’s be honest: if your list has stale or typo’d emails, you’ll see different bounce behaviors depending on the ESP you use. SendGrid might flag a non-existent address as a hard bounce, while Mailchimp might classify it as soft due to temporary issues. This inconsistency isn’t just confusing—it erodes sender reputation. Email List Validation integrates directly with your ESPs, so you can validate every address before it ever hits a campaign.

With real-time verification via the API or bulk processing via bulk verification, you catch issues like typos, disconnected domains, or disposable email addresses before they cause deliverability trouble. You’re not waiting for a bounce—it’s prevented.

Consistency across ESPs starts with clean data

When you integrate Email List Validation with Mailchimp, SendGrid, or HubSpot, you apply the same validation logic at the source. Set rules to block risky or invalid addresses during sync—no exceptions. This means your Mailchimp list won’t have an email that gets hard-bounced on SendGrid because it’s actually a catch-all or non-existent address.

Industry research shows that up to 20% of email lists decay annually, and inconsistent bounce handling across platforms compounds the problem. According to a Spamhaus report, sending to invalid addresses harms your sender reputation faster than poor content. The fix? Clean your list before it leaves the system.

Once integrated, your workflow is automatic. You send a campaign from HubSpot, and Email List Validation checks every address in real time—blocking anything questionable. The result? Fewer bounces, clearer reports, and consistent placement across all platforms. No more chasing discrepancies. Just cleaner delivery, every time.

Conclusion: Build a Consistent, Reliable Bounce Strategy with Pre-Verification

Bounce discrepancies across ESPs aren’t errors—they’re a direct consequence of differing feedback mechanisms and inconsistent reporting. What one platform labels a soft bounce, another may mark as a hard bounce, or ignore entirely.

The only way to eliminate this variability is to prevent bounces before they happen. Pre-verification based on real mailbox behavior gives you control over what gets sent, reducing hard and soft bounces, protecting sender reputation, and improving inbox placement across platforms.

With Email List Validation, you’re not guessing. You’re acting on verified data. Reduce unwanted bounces, maintain trust with ISPs, and send with confidence.

Sources

  • The average email bounce rate across all industries is 2.33%, a key indicator of how much list decay has gone unaddressed. — GetResponse Email Marketing Benchmarks (2024)
  • HubSpot's list-health benchmarks show an average bounce rate of 2.48% and an average unsubscribe rate of 0.22% across industries. — HubSpot (2025)

Keep reading

Ready to put this into practice? Email List Validation verifies emails with 98.9% accuracy — start with 100 free verifications.

Frequently asked questions

Why do some ESPs report a soft bounce while others mark the same address as hard?

Different ESPs apply varying retry delays and thresholds for hard bounce classification. Some treat temporary mail server issues as soft bounces; others escalate quickly based on internal policies.

Can catch-all domains cause bounce discrepancies?

Yes. Catch-alls accept all mail but often result in zero engagement. ESPs may not flag them as invalid, leading to misclassified deliveries and inflated bounce rates later.

How accurate is email verification in catching hard vs soft bounce risks?

Email List Validation achieves 98.9% accuracy in identifying invalid, catch-all, and risky addresses before send. This reduces bounce risk across all ESPs.

Does greylisting affect how ESPs classify bounce types?

Yes. Greylisting delays delivery and can be mistaken for a temporary failure. Some ESPs penalize senders after one retry; others allow retries, so responses vary.

What is the best way to prevent bounce discrepancies before a campaign starts?

Use real-time email verification before list import. Catch invalid, disposable, or catch-all addresses early to avoid inconsistent feedback across ESPs.

Can I integrate Email List Validation with SendGrid or Mailchimp?

Yes. Email List Validation integrates directly with Mailchimp, SendGrid, HubSpot, and Klaviyo to verify lists before sending and flag risky addresses automatically.

Are disposable email addresses reliable for deliverability?

No. Disposable addresses are typically short-lived, non-engaging, and often flagged by ESPs. They increase bounce risk and hurt sender reputation.

How do role-based emails like info@ or sales@ impact bounce reporting?

Role-based addresses often have low engagement, are shared, or don’t respond. ESPs may delay or misclassify bounces, leading to inconsistent reporting.

Do your verification results change over time?

Yes. Email addresses can become invalid over time. Continuous verification with Email List Validation ensures long-term accuracy.

Can I test inbox placement for different ESPs with your tool?

Yes. Email List Validation includes inbox-placement testing to evaluate how your emails are received across major providers, helping you spot discrepancies early.

How many free verifications do you get starting out?

You get 100 free verifications to start. Purchased credits never expire, so you can scale as needed without time pressure.

Is the 98.9% accuracy number tested across real-world ESPs?

Yes. The 98.9% accuracy is based on real email behavior across domains, including catch-all, graylisted, and role-based scenarios, validated across multiple ESP feedback contexts.