Per-contact pricing: what you're actually paying for
Most email platforms bill on the size of your list rather than what you send. Here is what that costs at real list sizes, why unsubscribed contacts often still count, and when the model is and isn't defensible.
There are two ways to charge for email software. You can bill for what gets sent, or you can bill for how many people are on the list.
Almost every marketing platform picked the second one. It is worth understanding what that means, because the two models diverge enormously as you grow, and the divergence is not related to what the software costs to run.
The numbers
Twenty-five thousand contacts, emailed four times a month. One hundred thousand emails.
| Platform | Model | Monthly |
|---|---|---|
| HubSpot Starter | Per contact, in blocks | ~$1,215 |
| ActiveCampaign Plus | Per contact | ~$400 |
| Mailchimp Standard | Per contact | ~$270 |
| Klaviyo | Per profile | ~$300+ |
| Brevo | Per email sent | ~$65 |
| Amazon SES | Per email sent | ~$10 |
Same list. Same messages. Same number of emails leaving the building. The range is more than a hundredfold, and it is almost entirely explained by which unit the vendor decided to count.
Note Brevo in that table. It is a full marketing platform that bills on sends rather than contacts, which is useful evidence: per-contact pricing is a choice, not a technical necessity. Someone offering the same category of product decided differently.
Why the model exists
The generous reading is that list size is a rough proxy for how much value a customer gets, and pricing on value rather than cost is normal and defensible. A business with 100,000 subscribers probably does get more out of an email platform than one with 500.
The less generous reading is that it is a metric that only goes up, is difficult to reduce, and is not connected to the vendor’s costs in any meaningful way.
Both are partly true. What makes it worth examining is the specific behaviour it produces.
The costs are not tracking anything
Storing an email address costs approximately nothing. A contact record with a name, a few tags and some custom fields is maybe a kilobyte. A hundred thousand of them is a hundred megabytes — less than a phone photo.
Sending an email costs about a hundredth of a cent through SES at list price, and less than that at the volumes these platforms operate.
So when your bill goes from $100 to $270 because your list grew, the vendor’s costs went up by an amount too small to measure. That gap is the product of the pricing model, not of anything happening in a data centre.
To be clear: that is allowed. Software is not priced at cost, and nobody should expect it to be. But it is worth knowing which one you are buying, because the two behave very differently when you succeed.
The bit that surprises people
On several platforms, contacts who unsubscribed still count toward your tier.
They opted out. You cannot email them. The platform is still billing you for their existence until you go and delete them.
This is documented behaviour rather than a rumour. When a customer complains about the bill, the official support advice is to check for inactive contacts and remove them to reduce the total. That advice is correct and it works. It also means the default state of the product is that you pay for people you are not allowed to contact, and reducing that requires knowing to look.
One reaction from a customer thread, which sums it up better than we could:
Requiring people to find out about and manually do this, and counting unsubscribed contacts towards your bill as if they are active subscribers, is such a deceptive and anti-consumer policy.
The incentive it creates
The clearest sign that a pricing model is doing something odd is when it pushes you toward decisions you would not otherwise make.
Per-contact pricing pushes you to delete contacts. Not to unsubscribe them, not to re-engage them — to delete the record entirely, because the record is what you are being charged for.
Deleting an unsubscribed contact record is actively bad practice. That record is how you remember not to email them. Delete it, import an old list six months later, and you email someone who explicitly opted out. That is a complaint, and complaints are the number that damages your sending reputation.
So the pricing model creates pressure toward the thing that hurts deliverability. Not deliberately, but reliably.
When per-contact is the right deal
It is not always the wrong model, and it would be dishonest to pretend otherwise.
If your list is small and stable, per-contact pricing on a low tier is often cheaper than anything else, and free tiers at that size are genuinely free. Below a few thousand contacts, this whole discussion is academic.
If you send very frequently, per-contact can work in your favour — most of these platforms include generous or unlimited sends, so a daily newsletter to 5,000 people costs the same as a monthly one. Under a per-email model, it costs thirty times more.
If you need the whole platform, you are not really buying email. HubSpot’s price makes sense if you use the CRM, the forms, the reporting and the sales tools together. Judging it as an email tool is judging the wrong product.
The model turns bad in a specific place: a large list you email occasionally. That is the worst case, and it is extremely common — newsletters, seasonal businesses, communities, anyone with years of accumulated subscribers and a monthly send. You pay for the whole list, all the time, to use it twelve times a year.
The other way
Bill for what gets sent. Then a list that doubles costs nothing extra until you actually email it, and dormant contacts cost nothing to keep — which means you can keep your unsubscribe records forever, which is what you should be doing anyway.
That is how SES works, and it is the reason Selva Mail is built on it. AWS bills you per email at about $0.12 per thousand all in, and we charge once for the software. Your bill tracks your sending, because your sending is what has a cost.
The thing we would actually like you to take from this, though, is smaller than a product pitch: know which unit you are being charged for. It is usually not on the pricing page in plain words, and it determines what happens to your bill for as long as you use the product.
Put your own numbers in the cost calculator — contact count, send frequency, current provider. If the difference is small, it will tell you.