How-To Guides16 min read·Updated 2026-05-18

The Exact Cold Email Tech Stack We Run for 10+ Clients (With Costs)

Not a listicle. Our actual stack, fully transparent -- what we use, what we tried, what we dropped, and what it costs.

RB

Rees Bayba

Founder, Astra GTM

TL;DR

  • We manage 100+ sending domains, 10+ clients, and 50K+ cold emails per month. This is every tool we use and what it actually costs.
  • Six layers: data enrichment ($0.05-0.50/contact), research and personalization ($0.001-0.002/contact), sending infrastructure ($6-10/mailbox/month), campaign platforms ($30-150/month), CRM integration, and analytics.
  • The most important decision: multi-source enrichment waterfall versus single provider. Single providers max out at 60-70% email coverage. Our waterfall (Blitz, LeadMagic, FullEnrich, BounceBan verification) achieves 90-95%.
  • Minimum viable stack for getting started: $200-400/month total. Full agency-scale stack: $2,000-4,000/month across all clients.
  • What not to buy: all-in-one platforms that do everything poorly, AI writing tools that produce generic garbage, and done-for-you domain packages with 3-5x markup.

We run outbound for 10+ clients simultaneously. That means we have tested nearly every cold email tool on the market -- some for weeks, some for years. This is the exact stack we use today, what each piece costs, and why we chose it over the alternatives. No affiliate links. No sponsored placements. Just what works.

Cold email infrastructure has six layers. You can think of them as a stack -- each layer depends on the ones below it. Skip a layer and the whole thing breaks. Over-invest in one layer and you waste money. Here is how we think about each one.

What Do We Use for Data and Enrichment?

Data is the foundation. If you start with bad data, every layer above it -- copy, infrastructure, sending -- is wasted effort. The single most important thing we learned: never rely on one data provider. Every provider has gaps. The only way to get 90%+ email coverage is to chain multiple providers in a waterfall.

Our enrichment waterfall

We run contacts through multiple providers in sequence. Each provider catches emails the previous one missed. After every step, we verify with BounceBan before moving to the next provider. The waterfall runs automatically -- a contact enters at the top and exits with a verified email or gets flagged as unreachable.

ProviderCost per contactCoverage (incremental)Best forWeakness
Blitz API$0 (free tier)60-65% of emails foundFirst pass -- largest database, catches the easy onesLower accuracy on enterprise domains, stale data on job changes
LeadMagic$0.05+15-20% additionalLinkedIn-sourced data, fresh job titlesSmaller database, less coverage on SMB
FullEnrich$0.30+10-15% additionalEnterprise catch-all domains (Proofpoint, Barracuda)Expensive for bulk use, slower response times
BounceBan (verification)$0.003Verification layer -- not a data sourceConfirming deliverability, catching risky emailsCannot find emails, only verifies them

The blended cost comes out to $0.05-0.15 per contact for most lists. Expensive contacts are the enterprise catch-all ones that need FullEnrich. Cheap lists (SMB, well-known domains) are mostly covered by Blitz at zero incremental cost.

Want this built for your team?

We implement these systems end-to-end. First campaigns live in 14 days.

90-95%
verified email coverage with our waterfall

Single providers max out at 60-70%. Our multi-source waterfall catches the remaining 20-30% by using each provider where it is strongest. BounceBan verification after every step ensures every email scores 97+ deliverability.

What we tried and dropped

  • Apollo: great for account-level firmographic data, but email accuracy is inconsistent for cold email. We saw 30-40% bounce rates on some segments when using Apollo emails without additional verification. We still use Apollo for company research, not contact enrichment.
  • ZoomInfo: powerful but expensive. Better for account-level intelligence and org charts than for finding individual email addresses. Hard to justify the cost for pure enrichment when cheaper alternatives exist.
  • Lusha: limited coverage and expensive credits. Hit rate was below 50% on most of our ICPs. Could not justify the spend versus providers with broader databases.

What Do We Use for Research and Personalization?

Raw contact data is not enough. You need context -- what the company does, what signals indicate they are a good fit, and what to actually say in the email. This is where most outbound teams cut corners, and it is where copy quality is won or lost.

Clay

Clay is our workflow builder for everything between raw data and campaign-ready contacts. We use it for ICP classification (scoring companies against fit criteria), company research (pulling technographics, news, hiring data), and generating personalization variables that feed into copy templates. Clay connects data sources, runs AI enrichments, and pushes results to wherever they need to go.

Claude (Anthropic)

Claude powers our copy generation and signal classification. We use Haiku for bulk classification tasks -- categorizing companies, scoring intent signals, routing leads. Cost is roughly $0.001 per contact. We use Sonnet for copy generation where quality matters more -- first-touch emails, personalized opening lines, objection-based follow-ups. The key: good prompts matter more than model selection. A well-structured Haiku prompt beats a lazy Sonnet prompt every time.

Exa

Exa is AI-powered web search that finds signals no structured database captures. Recent funding announcements, leadership changes, product launches, conference appearances. We use it for account research and trigger-based personalization. When a company just announced a new market expansion, that is a signal you cannot get from a firmographic database. Exa finds it.

$0.001-0.002
per-contact research and personalization cost

AI-powered classification and copy generation at scale costs almost nothing per contact when batched. The bottleneck is prompt quality, not compute cost. We spend more time tuning prompts than we spend on API fees.

What Does Our Sending Infrastructure Look Like?

Infrastructure is the layer most people get wrong. It is unsexy. It is technical. And it determines whether your emails reach inboxes or land in spam. We manage 100+ sending domains across all clients. Here is how we think about it.

Domains

We buy alternate sending domains for every client -- 3-5 variations of the client's brand. Never send cold email from your primary domain. If something goes wrong with deliverability, you want it contained to an alternate domain, not your company's main email. We buy .com, .co, and .io variants. Cost: $10-15 per domain per year.

Mailboxes

Google Workspace at $6 per mailbox per month. Three mailboxes per domain. We have tested alternatives (Microsoft 365, Mailforge), and Google Workspace consistently delivers the best inbox placement rates. Microsoft 365 is a close second and sometimes preferred for campaigns targeting Outlook-heavy industries. Mailforge works for bulk but deliverability is slightly lower than Google Workspace in our testing.

Warmup

Built into the sending platforms we use (Instantly and SmartLead both include warmup). Minimum 14 days, ideally 21 before sending any cold email. We keep warmup running on all active mailboxes, not just new ones. The networks send and receive emails that mimic real engagement -- opens, replies, rescues from spam -- which builds and maintains sender reputation with mailbox providers.

Volume math

Thirty emails per day maximum per mailbox. That is our hard ceiling. Some people push 50 or even 100. We do not. The deliverability difference between 30 and 50 emails per day is significant -- we have tested it across thousands of mailbox-months. Here is how the math works for a typical client setup.

ComponentQuantityEmails per dayMonthly cost
Domains10--$12/yr each ($10/mo total)
Mailboxes (3 per domain)3030 each = 900 total$180/mo
WarmupIncluded--$0 (platform feature)
Total capacity--900 emails/day = ~20,000/month~$190/mo

Scale by adding domains and mailboxes, never by increasing per-mailbox volume. A client that needs 40,000 emails per month gets 20 domains and 60 mailboxes, not 10 domains sending 60 emails each.

30 emails/day
our hard ceiling per mailbox

Tested across thousands of mailbox-months. The difference between 30 and 50 per day is measurable: higher bounce rates, lower inbox placement, and faster reputation degradation at 50. Scale by adding mailboxes, not increasing volume per mailbox.

Which Sending Platforms Do We Use?

We have used four sending platforms extensively. Each has different strengths. We pick the platform based on the client's needs, not personal preference.

PlatformMonthly costBest forAPI qualityWeakness
Instantly$30-80Quick setup, client-facing dashboards, simple campaignsGood -- clean REST API, reliable webhooksLimited multi-variant testing, fewer advanced sequencing options
Lemlist$59-99Multi-channel (email + LinkedIn + phone), sales teamsDecent -- some quirks with contact ownership fieldsPer-seat pricing gets expensive for large teams
EmailBisonCustomHigh-volume multi-variant campaigns, agency operationsExcellent -- most flexible API of any platform we have usedSmaller user community, less documentation
SmartLead$39-94Warmup network, multi-client inbox rotationUnreliable -- webhook delivery issues, API inconsistenciesWe moved away after 2 years due to API reliability problems

When to use which

  • Instantly: best starting point for teams new to cold email. Clean interface, included warmup, good analytics. Under 5,000 sends per month, Instantly handles everything you need.
  • Lemlist: the pick when you want email plus LinkedIn plus phone in one workflow. The multi-channel sequencing is genuinely good. Per-seat pricing means it is better for small teams than large ones.
  • EmailBison: our primary platform for agency-scale operations. The API lets us automate campaign creation, lead enrollment, and reply handling programmatically. We run 40+ campaigns across multiple workspaces simultaneously.
  • SmartLead: we used it for two years and moved away. The warmup network is large and the multi-client support is good. But webhook delivery failures caused us to miss replies, and API inconsistencies made automation fragile. If they fix the reliability issues, it would be competitive again.

How Do We Handle CRM and Pipeline Tracking?

CRM depends entirely on the client's existing stack. Most of our clients run HubSpot. Some run Salesforce. A few use Attio or Pipedrive. We do not dictate the CRM -- we integrate with whatever they have.

What we do own is the layer between campaign platforms and CRM. We built a custom system on Supabase (we call it Lead Ops) that tracks every contact, every activity, and every reply across all platforms and all campaigns. When a contact gets an email in Campaign A, gets a reply in Campaign B, and books a meeting through Campaign C, Lead Ops connects all of it. This is the piece most teams skip, and it is the reason most teams cannot answer basic questions like 'how many unique contacts have we reached this month?'

100+
sending domains we manage across all clients

Each client gets 5-15 dedicated domains with 3 mailboxes each. All tracked through Lead Ops. No shared infrastructure between clients -- ever.

What Do We Use for Analytics and Monitoring?

Campaign analytics come from the sending platforms natively -- reply rates, bounce rates, sequence completion. We do not build custom dashboards for what the platform already shows well.

What we do build: cross-campaign views in our Supabase dashboard that show aggregate performance across platforms. Slack alerts for positive replies (so clients see them instantly), bounces above threshold, and health checks on sending infrastructure. We monitor deliverability through Google Postmaster Tools for every sending domain. If a domain's reputation dips, we catch it in hours, not weeks.

The monitoring stack

  • Platform-native analytics: reply rates, bounce rates, open rates (though we never optimize for opens -- they are unreliable).
  • Supabase dashboards: cross-campaign reporting, contact deduplication, activity timelines.
  • Slack alerts: positive reply notifications, bounce rate warnings, daily health check summaries.
  • Google Postmaster Tools: domain reputation monitoring for every sending domain, checked weekly at minimum.

What Does the Minimum Viable Stack Cost?

If you are getting started with cold email and want to do it properly without overspending, here is the minimum stack that works. This handles 150 emails per day with verified data and proper infrastructure.

ToolWhat it doesMonthly cost
InstantlyCampaign sending + warmup$30
Google Workspace (5 mailboxes)Sending infrastructure$30
5 alternate domainsBrand-safe sending domains~$5/mo ($60/yr)
Apollo (free tier)Basic contact data$0
BounceBanEmail verification~$15/mo (pay per verify)
Total--$80-100/month

This gets you 150 verified emails per day, 5 warm sending addresses, and basic contact data. It is enough to test whether outbound works for your business. The biggest gap: single-source data. Apollo's free tier finds maybe 50-60% of emails. You will miss contacts that a waterfall approach would catch. That is an acceptable trade-off when you are testing.

What Does the Full Agency Stack Cost?

Here is what we actually spend to run outbound at scale across all clients. This is not a theoretical recommendation -- it is our actual monthly spend broken down by category.

CategoryToolsMonthly cost
Data & enrichmentBlitz, LeadMagic, FullEnrich, BounceBan$400-800
Research & AIClay, Anthropic API, Exa$300-600
Sending infrastructure100+ domains, 300+ Google Workspace mailboxes$800-1,200
Campaign platformsInstantly, Lemlist, EmailBison$200-400
Monitoring & opsSupabase, Slack, Trigger.dev, custom tooling$100-200
Total infrastructure--$1,800-3,200/month

That covers 50,000+ emails per month across 10+ clients with 100+ sending domains. The per-client infrastructure cost is $200-400/month -- significantly less than what each client would pay to build and maintain this independently. That is the whole point of an agency model: shared infrastructure expertise amortized across clients.

$1,800-3,200
our total monthly infrastructure cost

For 50K+ emails/month, 10+ clients, 100+ sending domains. Per-client cost: $200-400/month. A single company building this from scratch would spend $500-1,500/month and 20+ hours per month maintaining it.

What Should You Not Buy?

After testing hundreds of tools over three years, we have strong opinions about what is not worth your money. Three categories of tools consistently underdeliver.

All-in-one platforms

Platforms that claim to do data, enrichment, sequencing, CRM, and analytics in one tool. They do everything at a B-minus level and nothing at an A level. Your data is mediocre. Your deliverability is mediocre. Your analytics are mediocre. Best-of-breed tools connected through a workflow builder (like Clay) outperform all-in-ones every time. The convenience of one login is not worth the performance penalty.

AI cold email writers

Tools that promise to 'write your cold emails with AI.' The output is generic, overly polished, and immediately recognizable as AI-generated. Gmail's spam filters are getting better at detecting AI patterns. More importantly, prospects are getting better at detecting them. AI is excellent for research, signal detection, and first drafts. The final email should sound like a human wrote it because a human reviewed it.

Done-for-you domain packages

Companies that sell pre-configured sending infrastructure at 3-5x markup. They buy domains for $10, add Google Workspace for $6/mailbox, and sell you the package for $50-100 per mailbox per month. You can do this yourself in 30 minutes per domain. If you want someone to manage it, your agency should include it in their retainer -- not charge you separately at a massive markup.

Our tool evaluation framework

  • We test every tool with real client campaigns before adding it to our stack. Not demos. Not free trials on fake data. Real emails to real prospects.
  • Three questions decide whether a tool stays: Does it measurably improve a metric we care about? Is it reliable enough to automate? Does the cost justify the improvement over the next-best alternative?
  • If a tool fails any of those questions, it gets dropped. We have dropped tools we liked because the API was unreliable. We have dropped tools that worked because a cheaper alternative did the same thing.

How Do We Pick Tools for a New Client?

When a new client starts, we do not give them the full stack on day one. We match the stack to the engagement. A client sending 5,000 emails per month does not need the same infrastructure as one sending 50,000.

  1. 1Start with the sending platform. If the client already uses Lemlist or Instantly, we work within their existing platform. No reason to migrate tools that work.
  2. 2Set up dedicated infrastructure. New domains, DNS configuration, mailbox provisioning. This happens in week one regardless of anything else.
  3. 3Connect the enrichment waterfall. We plug in our data sources and verification layer. The client does not need their own data subscriptions -- our stack covers it.
  4. 4Configure monitoring. Slack alerts, Postmaster Tools, health checks. We want to know about problems before the client does.
  5. 5Add research tools as needed. Clay, Exa, and AI enrichment get layered in based on how much personalization the campaign requires. A broad SMB campaign needs less per-contact research than an enterprise ABM motion.

The whole setup takes 2-3 weeks. Most of that time is domain warmup. The actual tool configuration is done in the first few days. By week 4, campaigns are live and sending.

2-3 weeks
from client kickoff to live campaigns

The bottleneck is always domain warmup (14-21 days). Tool configuration, copy development, and list building happen in parallel during the warmup period. We do not waste the warmup window.

What Is the Single Most Important Tool in the Stack?

Email verification. Specifically, BounceBan. If we had to drop every tool except one, we would keep verification. You can recover from bad copy. You can recover from weak personalization. You cannot recover from a destroyed sender reputation caused by bounces.

Every email we send has been verified deliverable with a score of 97 or above. Not 90. Not 95. Ninety-seven. That threshold catches catch-all domains that accept everything but silently discard unknown addresses. Below 97, you are gambling. A single campaign with a 5% bounce rate can take a domain out of commission for weeks. Verification is the cheapest insurance in the entire stack at $0.003 per email.

The $0.003 insurance policy

Don't do this

Skip verification to save $15 on a 5,000-contact list. Five percent bounce. Domain reputation tanks. Three weeks of lost sending capacity across all campaigns on that domain.

Do this instead

Verify every email for $15 total. Remove 200 undeliverable addresses. Zero bounces. Domain reputation stays clean. Every campaign on that domain keeps performing.

Frequently asked questions

How much does a complete cold email stack cost per month?

For a single company running 5,000-10,000 emails per month: $200-500/month covers a sending platform, 5-10 domains, 15-30 mailboxes, basic data, and verification. For an agency running 50,000+ emails across multiple clients: $1,800-3,200/month total, which breaks down to $200-400 per client in shared infrastructure costs.

Do I need Clay for cold email?

Not at the beginning. Clay is a workflow builder that shines when you are running complex enrichment sequences, scoring leads against multiple criteria, or chaining AI research into personalization variables. If you are sending fewer than 1,000 emails per month with a simple ICP, you can do everything manually or with a basic spreadsheet. Clay becomes worth it when the volume and complexity of your data processing exceeds what a human can do in a reasonable time.

Is Google Workspace better than Microsoft 365 for cold email?

In our testing, Google Workspace has slightly better inbox placement rates for cold email to Gmail recipients. Microsoft 365 has slightly better rates for Outlook recipients. If your ICP is heavily Outlook-based (enterprise, government, education), Microsoft 365 is worth testing. For mixed audiences, Google Workspace is our default. The difference is small -- maybe 3-5% in inbox placement -- but it compounds over thousands of emails.

Should I use the same sending platform as my agency?

Not necessarily. A good agency can work with whatever platform you already use. If you are starting from scratch, let the agency pick the platform -- they will choose the one their team operates most efficiently. If you plan to bring outbound in-house eventually, make sure the agency sets you up on a platform your future SDR team can use independently.

How many sending domains do I need?

Start with 5 domains (15 mailboxes, 450 emails per day capacity). Add domains as you need more volume. For reference: 10 domains gives you roughly 900 emails per day, or about 20,000 per month. Most single-company outbound programs never need more than 15-20 domains. Agency operations managing multiple campaigns per client might use 30-50 domains per client.

What is the most common mistake with cold email tools?

Buying too many tools too early. Companies sign up for Apollo, ZoomInfo, Clay, Instantly, Lemlist, and a dozen other tools before sending their first email. Start with the minimum viable stack (one data source, one sending platform, one verification tool, warm infrastructure). Add tools when you hit a specific limitation, not before. We have seen companies spending $4,000/month on tools while sending 500 emails per week. That is a $20 cost per email before you even write the copy.

Do I need a separate tool for email warmup?

Not anymore. Instantly, SmartLead, and most modern sending platforms include warmup built in. Dedicated warmup tools like Warmbox and MailReach still exist and work fine, but paying separately for warmup when your sending platform already includes it does not make sense for most teams.

How do we track attribution across multiple tools?

This is the hardest operational problem in outbound. A contact might be sourced from Apollo, enriched in Clay, emailed through Instantly, reply classified by AI, and meeting booked through Cal.com. We track attribution through our Lead Ops layer in Supabase -- every touchpoint gets logged to a single contact record. Without a unifying layer, you end up with data in six different tools and no way to answer 'which campaign generated this meeting.' Most companies do not solve this until they feel the pain of not having it.

Want this built for your team?

We implement these systems end-to-end. First sends within 14 days.