← Back to blog

Multi-Site Email: One Account, Unlimited Domains, Zero Reputation Bleed

PushMail Team··4 min read

If you run more than one project, you've already felt this pain. You have a SaaS product, a blog with a newsletter, and a side project. Each one needs email — transactional, marketing, or both. With most ESPs, that means three accounts, three sets of API keys, three billing relationships. Or you throw everything onto one account and cross your fingers that a spam complaint on your side project doesn't tank deliverability for your SaaS.

Neither option is good. PushMail was designed for multi-site from day one.

How other ESPs handle this

Mailgun requires separate domains per project, and strongly encourages separate accounts for true isolation. Managing API keys, billing, and DNS verification across multiple Mailgun accounts is operational overhead that scales linearly with each new project.

ConvertKit is built for single-brand creators. There's no multi-site concept. If you want to run separate projects, you need separate accounts with separate billing. There's no way to view everything in one place.

Postmark uses a "server" model — each server is essentially a separate project with its own API token, message streams, and stats. This gets you some isolation, but contacts don't carry across servers. You can't share templates between projects. And each server is still another token to manage, another set of webhook URLs to configure.

SendGrid technically supports subusers, but it's an enterprise feature that requires manual provisioning and a sales conversation. For most developers, the practical answer is separate accounts.

The common thread: isolation requires duplication. Separate accounts, separate credentials, separate billing. The more projects you run, the more administrative overhead you carry.

PushMail's model

One account. One dashboard. Unlimited sites. Each site is a fully isolated email environment.

When you create a site, it gets its own:

  • Contacts — contact lists on Site A are completely invisible to Site B
  • Sequences — drip sequences are scoped to a single site
  • Campaigns — send history and stats are per-site
  • Sending configuration — each site can have its own sending domain and SendGrid config
  • Templates — stored at the organization level (shared across sites) or scoped per site
  • Analytics — opens, clicks, bounces, and events are tracked per site

Creating a site is one API call:

curl -X POST https://pushmail.dev/api/v1/sites \
  -H "Authorization: Bearer pm_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"name": "My SaaS App", "domain": "app.example.com"}'

Response:

{
  "data": {
    "id": 3,
    "orgId": 1,
    "name": "My SaaS App",
    "domain": "app.example.com",
    "createdAt": "2026-02-19T10:00:00.000Z"
  }
}

All subsequent API calls include the site ID. Contacts, sequences, campaigns, and events are scoped automatically:

# List contacts on site 3
GET /api/v1/contacts?site_id=3

# Create a sequence on site 3
POST /api/v1/sites/3/sequences

# Send a campaign on site 3
POST /api/v1/sites/3/campaigns

There's no way for contacts on one site to leak into another. The scoping is enforced at the database level, not just the API layer.

Reputation isolation

This is the part that actually matters. Sending reputation — the score ISPs assign to your email based on bounce rates, spam complaints, and engagement — is the single biggest factor in whether your emails land in inboxes or spam folders.

When you put multiple projects on one sending identity, a reputation hit on any project affects all of them. A side project that gets a spam complaint spike will drag down deliverability for your revenue-generating SaaS. This is reputation bleed, and it's the reason most multi-project developers end up managing separate ESP accounts.

PushMail isolates reputation through SendGrid subuser separation. Each site can be configured with its own SendGrid subuser, which means:

  • Bounce rates are tracked independently per site
  • Spam complaints on one site don't affect another
  • ISP reputation scores are maintained separately
  • You can warm up a new site without affecting existing ones

If you use PushMail's managed sending, this is handled automatically. If you bring your own SendGrid key (BYOK), you control the subuser configuration directly.

The agency use case

Agencies managing email for multiple clients face the worst version of this problem. Each client needs isolated contacts, isolated analytics, isolated billing attribution, and — critically — isolated reputation. A poorly maintained list for Client A cannot damage deliverability for Client B.

With PushMail, an agency creates one account and adds a site per client. Each client's email infrastructure is fully isolated, but the agency has a single dashboard to monitor everything.

API key management is also simplified. You can create organization-level API keys that access all sites, or scoped API keys that only have access to specific sites. Give a client a scoped key for their site — they can integrate with their own application without seeing other clients' data.

The billing is unified. One invoice, one payment method. Usage is tracked per site, so you can attribute costs to specific clients internally, but you're not managing 15 separate ESP accounts with 15 separate invoices.

Incremental migration

You don't have to migrate everything at once. PushMail's multi-site model is designed for incremental adoption:

  1. Start with one project. Create a site, import contacts, set up sequences. Make sure everything works.
  2. Add a second project. Create another site. Your first site is completely unaffected.
  3. Move the rest at your own pace. Each site is independent. There's no blast radius.

This is the key advantage over the "separate accounts" model. With separate accounts, there's no path to consolidation without re-architecting your setup. With PushMail, you add sites to one account as you're ready.

What this looks like in practice

A typical multi-site setup:

SiteDomainPurposeMonthly sends
SaaS Appapp.example.comTransactional + onboarding sequence25,000
Company Blogblog.example.comWeekly newsletter8,000
Side Projectsideproject.devLaunch announcements2,000

Three projects, three domains, three isolated email environments. One dashboard, one API key, one bill. Total monthly sends: 35,000.

With PushMail's pay-per-email pricing, that's $35 at the base tier ($1/1,000 emails). No per-site fee. No per-domain surcharge. The same 35,000 emails across three separate ESP accounts would cost you three minimum plan fees — typically $60–$100+ combined.

The bottom line

If you run one project, multi-site support is a feature you'll appreciate later. If you run two or more, it saves you real time and money right now. If you're an agency, it's the difference between manageable operations and credential sprawl.

Every site gets full isolation — contacts, sequences, campaigns, reputation. Nothing leaks. One account handles all of it.

Create your first site from the dashboard or the API. Add your second one when you're ready.