ConvertKit (now rebranding as Kit) has a strong reputation among indie creators, newsletter writers, and bloggers. For developers running a personal newsletter or project update list, it often comes up as the default choice. It's polished, well-documented, and has a large user base.
But ConvertKit is built for point-and-click users. If you want to manage your email infrastructure through code — version-controlled templates, API-driven sequences, CI/CD workflows — ConvertKit gets in your way.
The Core Problem: You're Paying for Subscribers Who Aren't Reading
ConvertKit's pricing is based on subscriber count, not on emails sent. At 5,000 subscribers you pay $66/month. At 10,000 you pay $100/month. At 50,000 you pay $316/month.
That model makes sense if you're emailing everyone all the time. But most developer newsletters have significant list churn and inactive subscribers. You're paying ConvertKit for addresses that haven't opened an email in six months.
PushMail charges per email sent. If you have 5,000 subscribers but only 3,000 are active and you send twice a month, you pay for 6,000 emails — not for holding 5,000 subscriber records.
Pricing Comparison
The table below assumes you send to your full list four times per month.
| Subscribers | Emails/mo (4x) | ConvertKit | PushMail |
|---|---|---|---|
| 1,000 | 4,000 | $29/mo | $12/mo |
| 5,000 | 20,000 | $66/mo | $50/mo |
| 10,000 | 40,000 | $100/mo | $90/mo |
| 25,000 | 100,000 | $166/mo | $210/mo |
| 50,000 | 200,000 | $316/mo | $310/mo |
To be honest: at high list sizes with high send frequency, ConvertKit is cheaper. If you have 25,000 subscribers and email them every week, ConvertKit wins on price.
PushMail wins when:
- You have a lot of inactive subscribers you're not emailing
- You send infrequently or to segmented subsets of your list
- You need API control, multi-site support, or your own sending provider
The API Problem
ConvertKit has an API, but it's limited to what you'd expect from a creator-focused tool. You can manage subscribers and tags. Sequence management, campaign creation, and template editing are either absent or severely constrained via the API.
If you want to build an automated workflow that creates a new drip sequence when a product ships, ConvertKit can't do that via API. You'd be clicking through a visual builder.
PushMail is API-first by design. Every action you can take in the dashboard you can take via the API: create sequences, enroll contacts, send campaigns, manage templates, configure sending providers. The API is the product — the dashboard is a convenience layer on top of it.
No Bring-Your-Own-Key Support
With ConvertKit, you're locked into their sending infrastructure. There's no way to route mail through your own SendGrid account, your own SES setup, or any other provider.
This matters for a few reasons. First, shared infrastructure means shared reputation — your deliverability is partially dependent on every other ConvertKit sender. Second, you lose portability. If you want to migrate away, you can't take your sending reputation with you. Third, developers building multi-product businesses often have existing provider relationships with preferred pricing.
PushMail supports 10 email providers with bring-your-own-key (BYOK): SendGrid, SES, Mailgun, Postmark, Resend, SparkPost, Mandrill, Mailjet, Brevo, and Elastic Email. You bring your API key, PushMail routes through your account.
Visual-First vs. Code-First
ConvertKit's automation builder is a drag-and-drop canvas. That's the right choice for non-technical users. For developers, it's friction.
There's no way to write a ConvertKit sequence in a text file, commit it to git, review it in a pull request, and deploy it from CI. Every change happens through a browser UI. If you want to roll back a sequence change, you're doing it by hand.
PushMail templates use {{variable}} substitution syntax. Your templates live in your codebase or in the API. Sequences are defined via API calls. You can script your entire email setup, reproduce it across environments, and treat it like any other infrastructure.
Multi-Site Support
ConvertKit is organized around a single account with one subscriber list. If you run multiple projects — a SaaS product, a developer tool, a side project — you're either managing separate ConvertKit accounts or mixing your lists together.
PushMail has first-class multi-site support. Each site gets its own contacts, templates, sequences, campaigns, and sending configuration. You manage everything from one organization account but keep each project's data cleanly separated.
Feature Comparison
| Feature | ConvertKit (Kit) | PushMail |
|---|---|---|
| Pricing model | Per subscriber | Per email |
| API-first | No (visual-first) | Yes |
| Sequences | Yes (visual builder) | Yes (API + triggers) |
| Campaigns | Yes | Yes |
| Contact management | Yes | Yes |
| Tags | Yes | Yes |
| Landing pages | Yes | No |
| Form builder | Yes | No |
| Email validation | No | Yes (free) |
| BYOK providers | No | Yes (10 providers) |
| Multi-site | No | Yes |
| Scheduled transactional | No | Yes |
| Webhook normalization | No | Yes |
What PushMail Does Not Have
Be clear-eyed about this. ConvertKit has landing page builders and form builders built in. If you want to spin up a subscribe form without writing code, ConvertKit handles that out of the box. PushMail does not.
PushMail is for developers who build their own frontend. If you have a Next.js site or a custom marketing page, you're writing your own subscribe form anyway — you're just making a POST request to an API. PushMail is designed for that workflow.
If you need no-code landing pages and forms, ConvertKit is the right choice. PushMail does not compete on that axis.
Migrating From ConvertKit
If you're switching from ConvertKit, PushMail's contact import system accepts a source field on imported contacts. Setting source: "convertkit" on your import lets you track where those contacts came from and segment them accordingly.
The import endpoint accepts CSV files with standard contact fields. Export your ConvertKit subscriber list, map the columns, and import. Existing tags and custom fields can be mapped to PushMail's tag and metadata system.
Who Should Use PushMail
PushMail is the right choice if you:
- Want to manage email infrastructure through code and APIs
- Run multiple projects from a single account
- Have an existing provider relationship (SendGrid, SES, etc.) you want to keep
- Have an active/inactive subscriber split and don't want to pay for the inactive half
- Send transactional and marketing emails and want them in one system
- Want webhook events normalized across providers into a single format
ConvertKit is the right choice if you:
- Want a visual automation builder with no code required
- Need landing pages and subscribe forms without building your own
- Send to your entire list at high frequency and need the subscriber-count pricing to work in your favor
Start Building
PushMail offers a free tier to get started. No credit card required until you're ready to send at volume.