Running cold email for 20 clients without losing track
To run cold email for 20 clients, give each a workspace, name domains and inboxes consistently, keep an infrastructure ledger and report weekly.

- Give every client their own workspace so lists, inboxes, campaigns and replies never mix.
- Use one naming scheme for domains, inboxes and campaigns, and keep an infrastructure ledger that says who owns what, when it was bought and when it renews.
- Run every client through the same onboarding checklist before a single email goes out.
- Handle replies in one unified inbox with labels and owners, and push interested leads to the client's CRM the same day.
- Send a weekly report built on replies, meetings and domain health, and protect clients from each other's reputation by separating their sending infrastructure.
At three clients, cold email ops fits in your head. At ten it fits in a spreadsheet. At twenty, the spreadsheet is wrong, a domain renewal lapses, an interested reply from client A's prospect sits unread for four days, and someone sends client B's sequence from client C's inbox.
None of that is a copy problem. It's an operations problem, and it compounds with every client you add. This is the system we'd set up for an agency running cold email for 20 clients: isolation, naming, a ledger, checklists for onboarding and offboarding, a reply process and a weekly report.
Give every client a separate workspace
The first rule is isolation. Each client gets their own workspace with their own domains, inboxes, lead lists, campaigns, blocklist and replies. Nothing is shared.
Why it matters:
- Data protection. Client A's lead list should never be visible to client B, or to a teammate who only works on client B.
- Blocklists and opt-outs. An opt-out for client A doesn't mean the prospect opted out of client B, and vice versa. Mixing them causes either compliance problems or lost leads.
- Clean reporting. When every number belongs to exactly one client, the weekly report writes itself.
- Clean exits. When a client leaves, you close one workspace. You don't untangle shared campaigns.
In Zylar, each client is an isolated workspace, and workspaces, teammates and inboxes are unlimited with no per-seat pricing, so there's no cost reason to cram two clients into one account.
Use one naming scheme for domains, inboxes and campaigns
With 20 clients you might manage 100+ domains and several hundred inboxes. If names are inconsistent, every search, filter and report becomes a guessing game. Pick one scheme, write it down and enforce it.
Here's a scheme that holds up:
CLIENT CODE 3-4 letters, unique, never reused
acme, nwnd, blto
SENDING DOMAINS <brand-variant>.<tld>, recorded against the client code
tryacme.com, acmehq.co, getacme.io
INBOXES <firstname>@<sending-domain>, real persona per client
sarah@tryacme.com, sarah@acmehq.co, james@getacme.io
CAMPAIGNS <client>-<segment>-<offer>-<yymm>-v<n>
acme-saas-cfo-audit-2610-v1
acme-agency-founders-pilot-2610-v2
nwnd-logistics-ops-demo-2611-v1
LEAD LISTS <client>-<segment>-<source>-<yymmdd>
acme-saas-cfo-import-261013
Two rules make this work. The client code appears first in everything, so sorting and filtering always groups by client. And versions go up when the copy or targeting changes, so you can compare results over time without overwriting history.
Keep an infrastructure ledger
The ledger is the single source of truth for every domain and inbox you manage. It answers questions that otherwise cost an hour each: who paid for this domain, when does it renew, which inboxes are on it, is it warming or sending, and was it ever paused.
| Column | Example | Why you need it |
|---|---|---|
| Client code | acme | Groups everything by client |
| Domain | tryacme.com | The asset itself |
| Registrar and account owner | Agency account | Decides who controls it at offboarding |
| Purchased / renews | 2026-09-02 / 2027-09-02 | Prevents silent expiry |
| Inbox provider and count | Google Workspace, 3 | Capacity planning and billing |
| Auth status | SPF, DKIM, DMARC pass | Catches broken records |
| State | Warming / Sending / Paused / Resting | Shows what's live |
| Daily cap per inbox | 30 | Keeps volume flat |
| Notes | Paused 2026-10-08, placement drop | History for diagnosis |
Whether this lives in a spreadsheet, a database or your sending tool, someone must own it and review it weekly. Expired domains and forgotten inboxes are the most avoidable failures in agency cold email. For the full list of what each client stack needs, see the cold email infrastructure checklist.
Onboard every client with the same checklist
Every new client goes through the same steps, in the same order, before anything is sent. Skipping steps for a client in a hurry is how agencies burn domains in week one.
- Create the client workspace and invite the client's view-only users.
- Agree the ICP, offer, exclusions (current customers, competitors, partners) and the person who takes booked meetings.
- Buy sending domains that are clearly related to the client's brand, never their main domain. Record them in the ledger.
- Create inboxes with real personas, set SPF, DKIM and DMARC, and confirm everything passes. Our free checker does a quick lookup.
- Start warm-up and leave it running for two to three weeks. See the warm-up guide.
- Import and verify the first lead list, apply the client's blocklist and remove existing customers.
- Write and approve the first sequence. A 3-step sequence is a good default.
- Connect the client's CRM and agree what counts as a qualified lead.
- Run a placement test per domain, then launch at low volume.
Put dates against each step. Clients are much more patient during warm-up when they can see exactly what's happening and when sending starts.
Handle replies across clients in one inbox
Twenty clients with fifteen inboxes each is 300 inboxes. Nobody is logging into 300 inboxes. Replies need to land in one place, labelled, with an owner.
What the process looks like:
- One unified inbox across every mailbox and client, filterable by client.
- Labels on every reply: Interested, Not now, out of office, bounce. Labelling is what turns a pile of email into a pipeline.
- An owner per reply. Assign interested replies to the account manager for that client, with a same-day response target.
- Push to the client's CRM as soon as a reply is labelled Interested, so the client's sales team sees it without waiting for your report.
- Opt-outs actioned immediately in that client's workspace.
Zylar's Unibox does this: one inbox across every mailbox and client, with interest labels (Interested, Not now, OOO, Bounce), and you can reply, assign or push to HubSpot straight from it.
What goes in the weekly client report?
Clients don't want a dashboard dump. They want to know whether it's working, what changed and what's next. Keep the same format every week so they learn to read it.
| Section | What to include | Notes |
|---|---|---|
| Headline | Meetings booked this week and to date | Lead with the outcome |
| Activity | Emails sent, new prospects contacted | Context, not the main story |
| Replies | Total replies, positive replies, by campaign | Positive replies are the leading indicator |
| Deliverability | Bounce rate, placement per domain, any paused domains | Show you're watching the infrastructure |
| What we tested | Variant tested, which won, what changes | One or two lines |
| Next week | New segments, copy changes, volume changes | Sets expectations |
| Needs from client | Feedback on leads, approvals, exclusions | Keeps them involved |
Leave open rates out. They're unreliable for cold email and you shouldn't be tracking them anyway.
Better still, give clients view-only access so they can check numbers between reports. Zylar's roles go down to client view-only, so a client can see their own workspace without editing campaigns or seeing other clients.
Protect clients from each other's reputation
This is the part agencies rarely explain to clients, and it matters more as you grow.
Every email is sent from an IP address, and mailbox providers track reputation at the IP level as well as the domain level. On a shared IP pool, many senders' mail goes out through the same IPs. A well-run shared pool is monitored and kept clean, but in principle a bad sender in the pool can affect everyone sending through it.
For an agency, the risk is closer to home: your own clients. If one client insists on a weak list or aggressive volume, you don't want the other nineteen sharing that reputation. So:
- Separate domains per client, always. Never send two clients' campaigns from the same domain.
- Separate inboxes per client, always. Personas belong to one client.
- Dedicated sending infrastructure if you can. On a dedicated IP pool, only your traffic goes through those IPs, so other senders can't drag your reputation down. The trade-off: you're fully responsible for that reputation, so the discipline has to be yours.
On Zylar, the Growth and Scale plans send through a premium shared pool. The Agency plan gets dedicated IP pools, which means isolated single-tenant sending, plus white-label and a private Slack channel. Costs across plans and inbox providers are broken down in the cold email cost breakdown.
One plan with sending, verification and enrichmentUnlimited inboxes and seats. Priced by emails sent.See pricingOffboard cleanly
Clients leave. The way you handle it decides whether they refer you later.
- Stop all campaigns and let in-flight replies come in for a week. Hand over any interested replies.
- Export the data the client is entitled to: leads contacted, replies, meetings, opt-outs.
- Settle domain ownership using the ledger. If the client paid for the domains, transfer them. If you did, agree in the contract upfront whether they buy them out or the domains are retired.
- Cancel or transfer inboxes so you stop paying for them.
- Remove access: client users, and any teammates who only worked on that account.
- Archive the workspace and update the ledger state to Retired.
Write the offboarding terms into the contract on day one. Domain ownership is the most common argument at the end of an engagement, and it's easy to settle when it's already in writing.
FAQ
How many clients can one cold email account manager handle?
It depends on how much of the infrastructure is automated and how many replies each client generates. The biggest time sinks are manual inbox monitoring and reply triage. Centralize replies, automate domain and inbox health checks, and an account manager can spend their time on copy and client calls instead.
Should I use the client's main domain for cold email?
No. Use separate sending domains related to the client's brand. If a sending domain gets burned, the client's main domain, which carries their regular business email, is unaffected.
Who should own the sending domains, the agency or the client?
Either works, as long as it's agreed in the contract before you buy them. Record ownership in your infrastructure ledger. The most common offboarding dispute is over domains nobody discussed upfront.
What's the difference between a shared IP pool and a dedicated IP pool?
On a shared pool, many senders' email goes out through the same IP addresses, so they share IP reputation. On a dedicated pool, only your traffic goes through those IPs, so other senders can't drag your reputation down, but you're fully responsible for keeping it clean.
Should clients get access to the sending platform?
View-only access works well. Clients can check numbers between reports without being able to edit campaigns or see other clients' data. It reduces "how's it going" emails and builds trust.
How do I stop one client's bad list from hurting other clients?
Separate everything: workspaces, domains, inboxes and, ideally, sending IPs. Verify every client's list before it's imported, and pause a client's domains early if bounces or complaints climb rather than letting volume continue.


