Agency Cold Email, Architected Around Smartlead Sub-Accounts
Smartlead was built with agencies in mind: client sub-accounts, a master inbox that rolls replies up across every client, an API and webhooks for white-label reporting. That architecture answers the software half of the multi-client problem — but it leaves the infrastructure half open. A sub-account separates a client's campaigns and replies; it doesn't separate their domains, their IPs, or their sending reputation. That separation has to happen a layer down.
This guide covers the architecture that makes Smartlead's sub-account model actually deliver on its promise: one isolated ColdRelay domain pool per client sub-account, so each client's reputation lives and dies on its own infrastructure. We'll walk through wiring a pool into a sub-account, sizing pools against client contracts, white-labeling reporting through Smartlead's API and webhooks, and the ops conventions that keep 10-50 concurrent client campaigns manageable — including the part most agencies get wrong, which is what happens to a client's infrastructure when they leave.
Why Map One ColdRelay Pool to Each Smartlead Sub-Account
Smartlead's client sub-accounts give every client their own campaigns, their own email accounts, and their own slice of the master inbox. But the sub-account boundary is a software boundary — if two clients' mailboxes share domains or IP reputation underneath, the isolation is cosmetic. One client's bad list can still drag down another client's placement, and you can't cleanly hand off or retire what was never separate to begin with.
ColdRelay completes the boundary at the infrastructure layer. Each client gets their own dedicated pool: their own secondary domains, their own dedicated IPs, their own isolated Azure tenant — provisioned in about an hour with SPF, DKIM, and DMARC pre-configured, and supporting 100-150 mailboxes per domain. The pool maps one-to-one to the client's Smartlead sub-account, so the software boundary and the infrastructure boundary line up exactly.
That one-to-one mapping is what makes onboarding and offboarding clean. New client signed at 10am? Their pool and sub-account are live the same day. Client leaves? You retire their pool with them — domains, IPs, reputation, all of it — and the next client starts on fresh infrastructure with zero shared-reputation hangover. The pairing is additive, not competitive: ColdRelay is the infrastructure layer, Smartlead is the sending and sequencing layer on top of it.
Visit Smartlead →Wiring a ColdRelay Pool Into a Smartlead Sub-Account
Provision the client's dedicated pool on ColdRelay
When a client signs, order secondary domains that echo their brand — never their primary domain, never a domain shared with another client. ColdRelay supports 100-150 mailboxes per domain, so a typical 30-100 mailbox client pool fits on one or two domains. The pool provisions on an isolated Azure tenant with dedicated IPs in about an hour, DNS (SPF, DKIM, DMARC) pre-configured — same-day onboarding, no warmup waiting period before campaigns can start.
Create the client's sub-account in Smartlead
In Smartlead's admin panel, create a new client sub-account under your agency account. One sub-account per client, named to match the pool (more on naming conventions below). Sub-accounts keep each client's email accounts, campaigns, and replies separated in the UI while still rolling up to your master inbox and admin reporting.
Bulk-import the pool into the sub-account
Export the client's mailbox credentials from the ColdRelay dashboard as CSV, then in the client's Smartlead sub-account go to Email Accounts → Add Email Accounts → bulk import via SMTP/IMAP. ColdRelay's export matches the column layout Smartlead's importer expects, so a 100-mailbox pool is one upload. Every mailbox in the sub-account now belongs to exactly one client — which is the whole point.
Set sending limits and attach campaign-level rotation
Set each mailbox's daily campaign limit in Smartlead to 2 outbound emails per day, mirroring ColdRelay's per-mailbox budget — 4 sends/day total, split 2 outbound + 2 warmup. Warmup runs continuously on ColdRelay's side as part of that budget, so don't double-warm inside Smartlead. Then build the client's campaign, attach the full pool, and let Smartlead's campaign-level rotation spread sends across every mailbox in it.
Hook up white-label reporting via the API and webhooks
Use Smartlead's API to pull per-sub-account campaign stats (sends, opens, replies, positive replies) into your agency dashboard, and register webhooks for reply and lead-status events so client-facing reports update in real time. Clients see your branded dashboard, not Smartlead's — and because each sub-account maps to one ColdRelay pool, every number in the report traces to infrastructure that client exclusively owns.
The Multi-Client Ops Playbook: Smartlead + ColdRelay at 10-50 Clients
Enforce a naming convention across both layers
At 10 clients, ad-hoc names are annoying; at 40, they're a liability. Adopt one convention and apply it everywhere: ColdRelay pools, Smartlead sub-accounts, and campaigns all carry the same client code (e.g., ACME-pool-01, ACME sub-account, ACME-Q3-outbound). When a deliverability question comes in, anyone on the team can trace from a campaign to its sub-account to its exact domains and tenant in seconds.
Size each pool from the client's contract, not a default
Capacity is arithmetic: at 2 outbound sends/day per mailbox (4/day total with 2 warmup), a client contracted for ~3,000 emails/month needs roughly 50 mailboxes; ~6,000/month needs about 100. Size the pool at signing, add a 10-20% buffer for list retries and step volume, and scale the pool — not the per-mailbox limit — when the client upgrades. Never raid another client's pool to cover a shortfall.
Monitor per sub-account, escalate per pool
Smartlead's master inbox and admin view give you cross-client visibility, but health is a per-client question. Review each sub-account's bounce and reply trends weekly; because every sub-account maps to one isolated pool, a degrading metric points at exactly one client's list quality or copy — not a shared-infrastructure mystery. If a pool's reputation does take damage, the blast radius is one client, and the fix (pause, clean the list, or stand up a fresh pool in about an hour) never touches the other 30.
Make offboarding a checklist, not a cleanup project
When a client leaves: pause their campaigns, archive the Smartlead sub-account, export their reporting history via the API, and retire their ColdRelay pool. Don't recycle their domains onto the next client — fresh domains on a new isolated tenant take about an hour and cost far less than explaining inherited reputation to a new account. Clean offboarding is also a sales asset: clients sign faster when you can show their infrastructure leaves with them.
Typical Multi-Client Agency Benchmarks (Smartlead + ColdRelay)
| Metric | Benchmark | Notes |
|---|---|---|
| Inbox placement rate | 95%+ | Per-client dedicated IPs and isolated tenants outperform shared Google/Microsoft pools |
| Outbound capacity per mailbox | 2/day | 4 sends/day total per mailbox — 2 outbound + 2 warmup, with warmup running continuously |
| Time to onboard a new client | Same day | ~60 minutes to provision the pool, plus sub-account creation and bulk import in Smartlead |
| Leads delivered per client per month | 30-90 | A 50-mailbox pool sending ~3,000 outbound/month at a 2-5% positive reply rate; varies by vertical and list quality |
| Concurrent clients per ops manager | 15-25 | With one-pool-per-sub-account mapping, strict naming conventions, and API-driven reporting; drops sharply without them |
What It Costs: Smartlead + ColdRelay
You pay per mailbox per month for the infrastructure, with volume tiers that drop as you scale (see the table below). That tiering rewards the agency model directly: pools are isolated per client, but your bill is totaled across all of them, so a 10-client book of 50-mailbox pools prices at the 500-mailbox tier, not ten separate small ones. DNS, dedicated IPs, and isolated Azure tenants are included.
Smartlead is billed separately on its own subscription, with client sub-accounts, the master inbox, and API/webhook access gated by plan tier — priced per its current plans.
Infrastructure cost scales with total mailbox count across all client pools; Smartlead's cost scales with plan tier. Because each pool maps to one sub-account, per-client cost is trivially attributable — you know exactly what each client's infrastructure costs, which makes retainer pricing and per-client margin a spreadsheet exercise instead of a guess.
| Mailboxes | ColdRelay price / mailbox / month |
|---|---|
| 1–199 | $1.00 |
| 200–999 | $0.85 |
| 1,000–4,999 | $0.70 |
| 5,000+ | $0.55 |
Each mailbox sends 4 emails per day — 2 outbound to prospects + 2 warmup. ColdRelay provisions mailboxes on isolated Azure tenants with dedicated IPs; Smartlead handles the sending, sequencing, and inbox rotation on top.
Frequently Asked Questions
Does ColdRelay replace Smartlead?
No — they're complementary layers. Smartlead handles sequencing, client sub-accounts, the master inbox, campaign-level rotation, and the API your white-label reporting runs on. ColdRelay provides the layer underneath: the domains, mailboxes, and dedicated IPs each sub-account sends from. Agencies use them together — ColdRelay for infrastructure, Smartlead for sending.
Why does each Smartlead sub-account need its own ColdRelay pool?
Because a sub-account is a software boundary, not a reputation boundary. If two clients' mailboxes share domains or IPs underneath, one client's spam complaints degrade the other's placement no matter how cleanly the sub-accounts are separated. A dedicated pool per client — own domains, dedicated IPs, isolated Azure tenant — makes the infrastructure boundary match the sub-account boundary, so isolation is real, monitoring maps one-to-one, and offboarding is clean.
What happens to a client's infrastructure when they leave?
You retire it with them. Pause campaigns, archive their Smartlead sub-account, export reporting via the API, and decommission their ColdRelay pool — domains, IPs, and reputation included. The next client gets a fresh pool on a new isolated tenant in about an hour, with no shared-reputation hangover from anyone who came before. Because the pool was theirs alone, there's nothing tangled to unwind.
Do I still need Smartlead's warmup if the mailboxes come from ColdRelay?
No — ColdRelay mailboxes run continuous warmup as part of the per-mailbox budget: 4 sends/day total, split 2 outbound + 2 warmup, with no waiting period before campaigns start. Set each mailbox's Smartlead campaign limit to the 2 outbound sends and let ColdRelay handle warmup underneath; double-warming the same mailbox in both systems just burns budget.