How do unsubscribe metrics differ between ESPs?

Still have a question, spotted an error, or have a better explanation or a source we should cite?

You switch ESPs, and suddenly your unsubscribe rate looks completely different. Same list, same emails, wildly different numbers. It's not that one platform is wrong. It's that they're measuring different things and calling them the same name.

There are actually three separate events that could count as an "unsubscribe," and ESPs don't agree on which ones to track.

The link click. Someone clicks the footer unsubscribe link. Some ESPs record this as the unsubscribe event immediately. Others won't count it until the person completes a confirmation step (usually a landing page that says "Yes, unsubscribe me"). If your ESP counts the click, you'll see higher numbers. If it waits for confirmation, you'll see lower ones.

The List-Unsubscribe header. This is a hidden signal in your email's header that lets Gmail, Outlook, and other inbox providers show a native "Unsubscribe" button at the top of the email. When a subscriber clicks that button, the action goes directly to the mailbox provider, not through your ESP's tracking. Some ESPs pick up that signal and add it to your unsubscribe count. Others miss it entirely. So if you have a Gmail-heavy audience, your reported unsubscribes could be meaningfully undercounted depending on your platform.

Spam complaint-triggered removals. When someone marks your email as spam, some ESPs automatically suppress them from future sends and log it quietly alongside unsubscribes. Others keep those two buckets completely separate. If your ESP blends them, your unsubscribe rate will look higher than a platform that separates them.

Naming doesn't help either. One platform calls it "unsubscribes." Another calls it "opt-outs." A third calls it "suppressed contacts." They can mean the same thing, or entirely different things, depending on the platform.

The practical takeaway is this: don't compare your unsubscribe rate across ESPs at face value. When you migrate platforms, check what each one actually counts before drawing any conclusions. And if you want a consistent internal benchmark, track your unsubscribe rate alongside your spam complaint rate together, not separately. The two numbers tell a more complete story than either one alone.

Still if you're unsure how your specific ESP handles this, the best move is to find their documentation on suppression logic or ask support directly. The question to ask is: "Do you count List-Unsubscribe header clicks, and do you separate spam complaints from unsubscribes in reporting?"

Contributors

Who worked on this answer

Every name links to their profile. Every company links to their site. Real people, real accountability.

Ask an AI · tailored to your setup

Paste your ESP name and what changed, and we'll help you figure out what your unsubscribe numbers actually mean.

I read this on the Email Almanac about how ESPs count unsubscribes differently: "There are three separate events that could count as an unsubscribe: the link click, the List-Unsubscribe header action, and spam complaint-triggered suppression. ESPs don't agree on which ones to track, and naming conventions vary too." Based on my setup below, help me figure out: 1. How my specific ESP likely counts unsubscribes (click vs. confirmation vs. header-based) 2. Whether my reported unsubscribe rate is probably over- or under-counted compared to real opt-outs 3. How I should track unsubscribes consistently if I'm comparing across platforms or time periods 4. Whether I should be monitoring spam complaints separately from unsubscribes --- My details (fill in what applies): - Email platform/ESP: e.g. Mailchimp, Klaviyo, SendGrid, HubSpot - Audience inbox mix: e.g. mostly Gmail, mostly Outlook, mixed - Type of email: marketing / transactional / mixed - Current reported unsubscribe rate: e.g. 0.3% - Current spam complaint rate (if known): e.g. 0.05% - Recently migrated from another ESP: yes/no, if yes, which one - List size: e.g. 20,000 subscribers - What changed that made you look at this: migration, sudden spike, benchmark comparison

Edit the yellow boxes, then send to the AI of your choice.