Skip to content

listicles

7 Reasons Cloudflare Email Costs a Fraction of SaaS

May 31, 2026

#cloudflare#email#pricing#self-hosting#cost
7 Reasons Cloudflare Email Costs a Fraction of SaaS
Visual: Secondhand Sam on okslop

The email bill that quietly tripled was never really about email. It was about per-contact tiers, egress fees, and three separate subscriptions that all wanted a cut. On your own Cloudflare account, those line items mostly disappear.

If you came from Mailchimp, Resend, and a webmail host, you were paying three vendors to do what Cloudflare's primitives already do: send, store, and serve. The savings are not a coupon. They come from a different pricing model: metered infrastructure instead of retail SaaS markup. Here are the seven places the difference actually lives, with the honest caveats kept in.

1. There is no per-contact tax

Cloudflare meters storage and compute, never the size of your list. This is the single biggest reason marketing email gets expensive on SaaS: the moment your audience crosses 10,000, 25,000, or 50,000 contacts, you jump a pricing tier whether or not you sent anything that month. On Cloudflare, a contact is a row in D1, and 50,000 rows cost effectively nothing to store. Growing your list changes your reach, not your invoice. This is the core of escaping per-contact pricing for good, and it is structural, not a discount someone can revoke.

2. The free tier covers a real workload

Workers, D1, R2, and Queues each ship a free allowance that comfortably runs a side project or early-stage product. This is not a 14-day trial that expires into a credit card prompt. You can send password resets, run a small newsletter, and store messages without paying anything, then pay metered rates only once you grow past the free limits. For a Mailchimp refugee used to a monthly minimum the second you import a list, a genuinely free on-ramp changes the math. The exact ceilings, and where each free tier stops, are spelled out in the Cloudflare email free tier limits, line by line.

3. R2 charges zero egress

Reading your own stored email back out is free on R2, which is unusual and adds up fast. Attachments, raw MIME archives, and exports get read far more often than they get written, and most object stores meter every one of those reads. On a SaaS platform, that egress is baked invisibly into your plan or billed as overage. R2 flips it: you pay for storage and operations, not for pulling your files back. An email stack that hoards years of attachments turns archival from a nervous line item into one you stop watching. The same principle covers media-heavy newsletters where every open re-fetches hosted images. There are more smart ways to use R2 in an email stack than just attachments.

4. One metered bill replaces three subscriptions

A typical setup pays a transactional sender, a marketing platform, and an inbox host separately, each with its own minimum. Cloudflare collapses send, blast, receive, and store onto the same primitives, so there is no per-tool floor stacking up and no three invoices to reconcile. The savings are not only the headline rates: it is the elimination of redundant minimums and the seat fees each vendor charges just to keep the lights on. The full accounting, including the relay you still pay for the SMTP hop, lives in what running email on Cloudflare actually costs, and the shape of it is that the bill tracks usage rather than the number of tools.

5. No idle servers and no cold-start tax

Workers run on an isolate model, so you pay per request with nothing billed while idle. There is no always-on instance metering you through a quiet weekend and no cold-start penalty that a provisioned-concurrency upgrade would charge you to avoid. A traditional managed sender or a container you keep warm bills you for capacity you are not using; Cloudflare bills you for the verification email that actually fired. For lifecycle email that spikes and lulls, paying only for executed requests is materially cheaper than paying to reserve headroom.

6. You pay infrastructure prices, not retail markup

SaaS email pricing is metered infrastructure plus a margin you cannot see. A provider sends over the same kind of HTTP relay you would, stores in the same kind of object store, and then charges a per-thousand-sends rate that has to fund their margin, support, and sales team. Running the primitives yourself strips that markup down to Cloudflare's metered cost plus your outbound relay. You are not buying a worse product; you are buying the same delivery without the retail layer. When you total it across transactional volume, the gap between wholesale and retail is most of the true total cost of ownership of an email stack.

7. Costs scale with usage, so quiet months are cheap

Because there is no seat fee and no contact tier, a month where you send little costs little. SaaS plans are mostly fixed: you pay the same in December as in your launch month, whether you sent ten emails or ten million. Cloudflare's metered model means your bill breathes with your activity. For seasonal senders, agencies with lumpy client work, or a product still finding traction, that elasticity is real money. It also makes the transactional side honest to forecast, which is why pricing out transactional email gets simpler once it is usage-metered rather than tier-gated.

The honest tradeoff

None of this is free in the truest sense. You take on deliverability, domain reputation, and operating the stack, work a SaaS provider would otherwise absorb, and you still pay an outbound relay for the actual SMTP hop because Workers cannot open outbound port 25 for direct-to-MX SMTP. Those are real costs, mostly in your time. For most application and marketing email they total far less than three stacked subscriptions, and crucially they do not grow with your contact count. If you want to put your own numbers in rather than take ours, walk through the email cost calculator step by step before you switch.

The shorter version

The savings are not a sale. They come from paying for metered infrastructure instead of retail SaaS, with no per-contact tax, no egress fees, a real free tier, and one bill that tracks usage instead of seats. SaaS tools earn their price for teams that want someone else to own deliverability and operations, and that is a fair trade for some. If you would rather own the stack and keep the margin, the math tilts hard toward Cloudflare.

If the bill is what brought you here, two companion lists go deeper: the hidden costs buried in your email SaaS bill and the practical ways to cut your email stack cost without hurting deliverability.

Deploy your own email stack: npx tinbox init <domain>. It scaffolds the sender, newsletter tool, and inbox onto your own Cloudflare account in one command, so you pay Cloudflare directly and your data and mail stay yours.

Frequently asked questions

Why is running email on Cloudflare cheaper than using a SaaS provider?

Because you pay for metered infrastructure instead of retail SaaS pricing layered on top of it. SaaS email tools charge per contact, per seat, or per thousand sends with healthy margin, and most bill egress on every read of your stored data. On Cloudflare you pay Workers, D1, R2, and Queues at usage rates, with no per-contact tax and no egress fees on R2. A generous free tier covers early volume, one bill replaces three subscriptions, and a quiet month costs almost nothing because there is no fixed seat fee.

Does Cloudflare charge per email contact like Mailchimp?

No. Cloudflare prices storage and compute, so your bill tracks how much you send and store, not how many people are on your list. A list that grows from 5,000 to 50,000 contacts barely moves your storage cost, whereas the same growth crosses several paid tiers on a per-contact platform. The per-contact tax is the single biggest reason marketing email gets expensive, and it does not exist on Cloudflare's primitives.

What does it actually cost to run email on Cloudflare?

For a side project or early-stage product, often nothing, because the free tiers on Workers, D1, R2, and Queues cover real usage. As you scale you pay metered rates for requests, database reads and writes, and storage, plus whatever your outbound HTTP relay charges for the actual SMTP hop. The headline is that it scales with usage rather than seat count or list size. See the detailed breakdown linked in the article for real numbers.

Is there a hidden cost to self-hosting email on Cloudflare?

The honest one is your own time: you own deliverability, domain reputation, and operating the stack, which a SaaS provider would otherwise absorb. You also still pay an outbound relay for the SMTP hop, since Workers cannot open outbound port 25 for direct-to-MX SMTP. Those are real, but for most application and marketing email they total far less than stacked SaaS subscriptions, and they do not grow with your contact count.