How we compare email marketing software
We list 13 sold to US businesses, and a published rate card exists for 13 providers. Where a vendor would only quote, we show that rather than inventing a figure, because a number attached to a company that refuses to publish one is a guess dressed up as a fact.
The calculator asks for subscribers and for emails per month, separately, because those are two different meters and this category is split down the middle on which one it bills. There is also an automation toggle, because on a large part of this table automation is the thing the cheap rung does not include. Ranking is arithmetic on the published rate at the numbers you enter. We do not sell position, and commission never moves a row.
Prices are what each vendor publishes to a US buyer. Some are true monthly figures and some are the monthly equivalent of an annual commitment, so the billing basis is worth reading alongside the number.
CAN-SPAM is an opt-out law, and email marketing software cannot make you compliant
US commercial email is governed by CAN-SPAM, and it is an opt-out regime. You are not required to hold prior consent before sending a commercial message to a US recipient. What you are required to do is give them a working way to stop, and honor it promptly. That surprises people who have read guidance written for other markets, where consent comes first.
The obligations that follow are specific, and they land on the sender rather than on the tool:
Headers and subject lines must not be false or misleading. The from name, the reply-to address and the subject all have to represent what the message actually is, and a commercial message has to be identifiable as one.
A valid physical postal address must appear in every commercial message. A registered agent address or a mailbox you own can serve. A footer with no address at all is the most common failure here, and the easiest to catch before you send.
The opt-out has to work and has to be honored. A link that errors, a preference center that quietly re-subscribes people, or a suppression list that a re-import overwrites are all the same failure.
Penalties are assessed per email. That is the arithmetic worth understanding, because a mistake that is trivial on a list of hundreds is not trivial on a list of tens of thousands, and the exposure scales with the send rather than with the campaign.
Every platform here provides the plumbing. The row to look at is the CAN-SPAM one, where ActiveCampaign lists Yes (unsubscribe, sender ID, address footer), Constant Contact lists Yes (unsubscribe, sender ID, address footer) and HubSpot lists Yes (unsubscribe, subscription types, sender ID). Transpond lists Unsubscribe, list cleaning, domain authentication and Spreeflo lists Yes (double opt-in, unsubscribe, SPF/DKIM/DMARC domain auth).
Read those as a list of features, not as a verdict. A platform can hand you an unsubscribe link and an address footer while you break the law with a misleading subject line or a purchased list. Compliance is a property of what you send. If you hold data on California residents, CCPA and CPRA add access and deletion rights on top, and other states have passed their own versions, so the questions to put to a vendor are about data export, deletion and where subscriber data is stored. None of this is legal advice, and a large list or a regulated category is a conversation for counsel rather than a comparison table.
Why two lists the same size get opposite quotes from the same email marketing software
Here is the mechanic that decides this category, and it is the reason the calculator has two number inputs instead of one.
Some vendors charge for the contacts you store. Some charge for the emails you send. A few cap both. The pricing model row is the fastest way to see which you are dealing with: ActiveCampaign is Per contact, Kit is Per subscriber, Klaviyo is Per active profile and Brevo is Per email volume. HubSpot is different again at Per seat, and Spreeflo is Per marketing contact.
The consequence is concrete. Picture two businesses. One holds a big list built over years and mails it once a quarter. The other holds a short list and mails it every morning. On a contact-priced platform the first pays for every dormant name and the second pays almost nothing. On a send-priced platform the positions reverse. Both will read the same table, both will reasonably conclude it is wrong, and both will be looking at a correct table answering the other one's question.
So enter your real subscriber count and your real monthly send volume before reading any ordering. The entry price column is a column of floors, and the ladder above each floor is climbed on a different axis depending on the vendor.
Brevo's contact handling reads Unlimited contacts (billed by sends), which is the mirror image of the trap in the next section: hold as many names as you like, and the meter only runs when you press send.
The contacts you cannot legally email and still pay your email marketing software to store
Every list contains people you are never going to mail again. They unsubscribed, they hard bounced, or a spam complaint pushed them onto a suppression list. On some platforms you carry on paying for them anyway, because the meter counts rows in the database rather than people you are allowed to contact.
The contact billing row is where this is visible. Mailchimp reads All contacts including unsubscribed, Constant Contact reads All contacts including unsubscribed until removed and Omnisend reads All contacts including non-subscribers. ActiveCampaign reads All contacts (active + inactive). Against those, Klaviyo reads Active profiles only (excludes suppressed), AWeber reads Active subscribers (unsubscribes excluded), MailerLite reads Active subscribers and Kit reads Active subscribers.
That difference compounds quietly. An unsubscribe rate that looks negligible on any single campaign becomes a meaningful share of a list over a few years, and on a platform that bills all stored contacts you are paying a subscription on people whose only legal status is that you must not email them.
You also cannot solve it by deleting them. Removing an unsubscribe record is how a later re-import resurrects it and turns a tidy database into a violation, so the suppression list has to stay wherever it is billed.
Worth asking any vendor before you commit: does an unsubscribe reduce my bill, does a hard bounce reduce my bill, and can I export the suppression list if I leave? If the answers are no, price the plan at the list size you expect in two years rather than the one you have today.
What free and entry email marketing software plans cap, and where the send ceiling sits
A free plan here is never uncapped. It is capped on contacts, on sends, on features, or some combination, and the axis decides whether it lasts a month or a year. The free plan row shows how far apart these offers are. Kit publishes Yes (10K subscribers, 1 automation, no A/B), Brevo publishes Yes (300 emails /day, unlimited contacts), MailerLite publishes Yes (250 subscribers, 2,500 emails /mo) and Omnisend publishes Yes (250 contacts, 500 emails, 60 SMS /mo). HubSpot publishes Yes (free marketing tools, up to 2 users). At the other end, ActiveCampaign publishes No (14-day trial), Campaign Monitor publishes No (30-day free trial) and Spreeflo publishes No (forms only).
Notice how many of those free tiers cap the send as well as the list, and that the pattern does not stop at the free rung. Transpond's contact billing carries a send allowance expressed as a multiple of your contact count, shown as Active contacts (fair use: 12x contacts /mo in sends), so a paid plan sized for your list is still sized against how often you mail it. If you run a daily newsletter to a modest list, check the send allowance on the paid plan, not just its contact tier.
Automation is the other common gate, and it is the one that catches people who chose on price. Kit's automation reads Basic (Free), Advanced (Creator+), Transpond's reads Unlimited (Growth+), MailerLite's reads Basic (Comfort), Advanced (Power) and Campaign Monitor's reads Throttled on Lite (limited to its send allowance), unlimited on Essentials. Klaviyo's reads Advanced (flows, triggers, predictive on every paid plan). If a welcome sequence or an abandoned cart flow is the reason you are shopping, the entry price on half this table is not the price you will pay, and the automation toggle in the calculator exists to make that visible.
If none of that applies to you yet, and you are mailing a couple of hundred people occasionally, you probably do not need to pay for anything in this category this year. Several of these free rungs are genuinely usable, and the money is better spent on getting people onto the list in the first place.
Gmail and Yahoo decide what lands, not your email marketing software
CAN-SPAM sets a floor. The mailbox providers set the real bar, and it is considerably higher. Gmail, Yahoo and Microsoft publish their own bulk sender requirements, and failing those gets you filtered regardless of whether you complied with the law. That gap is the most useful thing on this page. In practice it means three things you have to do yourself:
Authenticate your sending domain. SPF, DKIM and DMARC records on the domain you send from. Every platform here will give you the records; putting them in DNS is your job, and sending from a free mailbox address instead of your own domain is the version of this failure that no vendor can fix.
Offer one-click unsubscribe in the header. This is a separate mechanism from the unsubscribe link in your footer, and bulk senders are expected to support both.
Keep spam complaints low. This is a rate measured against your sends, driven by list hygiene and sending frequency rather than by which product you bought. Mailing people who forgot they signed up is how it climbs.
The vendor side is real but secondary. The deliverability row reads Very high (94% in independent tests) for ActiveCampaign, High (89% in independent tests) for Mailchimp and Very high (e-commerce specialist) for Klaviyo. AWeber reads Moderate (strong on Outlook, weaker on Gmail), which is a distinction worth noticing if your audience is mostly on one mailbox provider. Both HubSpot and Transpond read Not stated, and Spreeflo reads No published benchmark, which is what a newer platform honestly looks like rather than a mark against it.
Treat those as a ceiling on your outcome, not a promise. A strong reputation will not save a purchased list, and an average one will do fine for a clean list mailed to people who asked for it.
Stores, creators and CRM-led teams are buying different email marketing software
The last thing to settle is which of these you are actually shopping for, because this table covers several different jobs and comparing across them on price alone produces nonsense.
Online stores need order data flowing in, so the e-commerce integration row is the qualifying one. Klaviyo lists Shopify (deep native), WooCommerce, BigCommerce, Magento and Omnisend lists Shopify, WooCommerce, BigCommerce, Magento, while Spreeflo lists None published (REST API, webhooks and MCP server only) and Transpond lists None native (Stripe, WordPress; stores via Zapier), a deliberate product boundary rather than a gap. If revenue attribution per campaign is the report you need, that row sets your shortlist before price does.
Creators and newsletter publishers are pricing on subscribers, are usually sending broadcasts rather than flows, and care about signup forms and simple growth reporting. Kit's segmentation reads Basic (tags, segments) and its reporting reads Yes, which is the right shape for that job and the wrong shape for a store.
CRM-led teams want the email tool and the contact record in the same system. HubSpot's contact billing reads Contacts cap which plan you can buy; the price is per seat, a genuinely different pricing shape from everything else here, and the reason it can read cheap or expensive depending entirely on team size. ActiveCampaign's segmentation reads Advanced (behavioral, purchase, engagement).
Switching is easier than it looks on paper. Contract terms across this table are consistent, with ActiveCampaign at No and Klaviyo at No, so leaving is a billing decision rather than a legal one. What does not transfer cleanly is engagement history and suppression state. The addresses export easily; the record of who opened what, and who asked you to stop, is the part that decides your deliverability at the new platform. Export the suppression list first and import it before your first send, not after.