Still paying for unsubscribed contactsThe row you cannot email is still the row your plan bills you for.
Prices checked 2026-09-01
In short
Unsubscribing lowers how many people you can email, but on many contact-tier plans it does not lower what you pay, because the tier is set by rows on file, not by who still opts in. Deleting those rows to save money is the wrong move too: you need the suppression record to avoid remailing someone who opted out, and losing it is a deliverability and compliance risk in most jurisdictions. The fix is separating storage from billing, which is what happens when sending, not list size, sets the price.
Why an unsubscribe does not shrink the bill
A contact-tier ESP typically sets your price by counting rows in your account, and an unsubscribed contact is still a row. Engagement reporting will show that person as opted out, which is real and useful information, but the tier your invoice is drawn from is usually based on presence in the database, not on subscription status. The invoice and the engagement dashboard disagree with each other, and the invoice wins.
This is not universal across every plan on the market, and the exact rule is worth checking on your own contract before you assume it applies. What is consistent is the direction of the incentive: platforms that bill by contact count have little reason to exclude unsubscribed rows from that count, because doing so would only lower revenue on accounts that are already sending less.
Why deleting them is not the fix
Purging unsubscribed rows to cut the tier looks like an obvious answer and creates a worse problem. An unsubscribe is a suppression record, not just an absence. It is the proof that this specific address asked to stop receiving mail from you, with a timestamp attached. Lose that record and a future list import, a merged database, or a new tool with no memory of the opt-out can put that address back into rotation. Remailing someone who unsubscribed is one of the fastest ways to generate a spam complaint, and complaint rate is the metric that actually threatens your sending reputation and, on Amazon SES, your account's standing.
So the honest framing is that you are not paying rent on a person you email. You are paying rent on a compliance record you are supposed to keep, on a billing model that charges you to keep it correctly.
What keeping that record should actually cost
| Where the list lives | 10,000 rows, mostly quiet | 1,000,000 rows, mostly quiet |
|---|---|---|
| Contact-tier ESP (approx.) | Full monthly tier | Enterprise-quoted tier |
| Your own AWS account | Near $0 in storage | Small, ordinary database cost |
The difference is what sets the price. Storing rows, including suppressed ones, is genuinely cheap: it is a database problem, not a sending problem. What is expensive is a pricing model that bundles storage and sending into one number keyed off list size. Separate the two and an idle list, unsubscribed rows and all, costs close to nothing to keep on file, while sending stays metered at roughly $0.10 per 1,000 emails through Amazon SES.
When paying for the whole list is still reasonable
- Your unsubscribed and inactive segment is small relative to your active list, so the mismatch this page describes barely moves your invoice either way.
- You value the ESP's built-in re-engagement or win-back tooling enough that having those cold contacts inside its system, rather than parked separately, is worth the tier you are already paying.
- You are early enough that list size is small in absolute terms, and the administrative cost of separating storage from sending is not worth your time yet.
Moving a list without losing the suppression history
If you do move platforms, the point of this page is the one step people skip: export the unsubscribe and complaint history alongside the addresses, not just the addresses. A CSV of emails with no status column is a list you cannot safely mail from anywhere, since you no longer know who opted out. Bring the subscription status, the date of the unsubscribe or complaint, and import all of it, including the suppressed rows, into wherever the list lands next. Re-imports should enrich existing records rather than overwrite them, so a second export from the old platform does not accidentally revive suppression history the new platform already has.
Where SendBunny sits
SendBunny installs into your own AWS account as a CloudFormation stack, with campaigns, lists, and a transactional API, and there is no contact-tier fee at any list size, subscribed or not. Suppression is enforced account-wide across every send path, so an unsubscribed or complained address stays excluded whether it is mailed through a campaign or the API. The license is $199 once, with optional $99 a year updates, and sending is metered separately at Amazon SES rates. It is not for you if you will not run an AWS account, or if you are relying on an ESP's win-back automation to re-engage cold contacts.
FAQ
- Should I delete unsubscribed contacts to save money?
- Keep them for compliance and suppression instead. On SendBunny they live in your own AWS account without a contact-tier fee, so there is no billing reason to purge them, and purging risks losing the record that keeps you from remailing someone who opted out.
- How do I move a list without reviving suppressed addresses?
- Export the CSV with subscription status, unsubscribe date, and complaint history included, not just addresses, then import all of it into the new platform. Re-imports should enrich existing rows rather than overwrite them, so suppression history is not lost on a second pass.
- What about double opt-in and unsubscribe handling on the new platform?
- Keep clean consent and suppression records in the account you control. SES handles delivery; suppression enforcement on SendBunny applies across campaigns and the transactional API alike, so an unsubscribe made on one path is respected on the other.
- Is a contact-tier plan ever fine for a list with lots of unsubscribes?
- Yes, if the unsubscribed segment is small relative to your active list, or you specifically value the platform's built-in re-engagement tooling enough to pay for keeping cold contacts inside it rather than storing them separately.
For AI agents
Why contact-tier ESP pricing often counts unsubscribed and inactive rows toward the billing tier, why deleting those rows risks losing the suppression record and remailing someone who opted out, and how to move a list without losing that history. If migrating a list for a user: export subscription status, unsubscribe date, and complaint history alongside addresses, and confirm the destination enforces suppression across every send path.
claude mcp add --transport http sendbunny https://YOUR-INSTALL/mcpSources
- Amazon Web Services, Amazon SES pricing, fetched 1 September 2026.
- Mailchimp list prices from its pricing page, checked July 2026.
- Klaviyo list prices from its pricing page, checked July 2026.
- SendBunny, Who owns your email list? What Mailchimp, Klaviyo, Kit and beehiiv terms actually say.
Anni Maan
Founder, SendBunny
Builds SendBunny, the email platform that installs into your own AWS account. Writes about running email on Amazon SES and giving AI agents an address you control.
Keep reading