Last quarter we sent 3,200 cold emails across eight micro-campaigns targeting industries from Korean leather manufacturers to London shipping companies. The total stack cost was $346 per month. We booked 14 discovery calls, hit a 52% open rate, and landed a 4.8% reply rate.

I'm going to break down exactly how we did it -- the tools, the prompts, the domain setup, the email copy, and the mistakes that almost tanked our deliverability before we caught them. This isn't theory. These are the actual numbers from campaigns we ran for ourselves and for clients.

If you've been paying $500+ per month for bloated outbound platforms and still getting 18% open rates, this post is for you.

Our $346/Mo Cold Email Stack: 52% Open Rate, 14 Discovery Calls

The Stack: What We Actually Pay

Let's start with money. Here's the exact breakdown:

Tool Plan Monthly Cost
Claude Pro Pro tier $20
Instantly Growth plan $97
Findymail Starter $49
Sending domains (5) Various registrars ~$15
Apollo Free tier $0
Warmup inboxes (Google Workspace) 5 accounts ~$165
Total ~$346/mo

That's it. No $500/month all-in-one platform. No dedicated SDR tool with a seat license. No intent data subscription.

The Google Workspace cost is the one people forget about. You need actual inboxes to warm up and send from. We run five domains with one inbox each. At $33/month per Workspace account, that's $165. Some folks use cheaper providers, but Google's deliverability reputation is worth the premium.

Compare this to something like MarketBetter at $497/month flat, or Lemlist at $69/user/month, and you start to see why we build our own stack. We get better results for less money because we control every layer.

ICP Definition Per Campaign

Here's the part most people skip, and it's the part that matters most.

We ran eight micro-campaigns last quarter. Each one targeted a specific ICP -- not "SaaS companies with 50-200 employees" but something far more specific. Here are the actual verticals:

  1. Healthcare clinics (US, 10-50 employees, outdated websites)
  2. Korean manufacturers (leather goods, English-speaking contacts)
  3. London shipping companies (logistics firms with Wordpress sites)
  4. Automotive dealers (regional US chains, 3-15 locations)
  5. Solar installers (residential, California and Texas)
  6. Webflow agencies (sub-10 person shops looking to white-label)
  7. Leather manufacturers (European, export-focused)
  8. Spare parts factories (industrial, B2B e-commerce gaps)

Each campaign got its own ICP document. We structured these using a command framework we developed internally -- think of it as a structured brief that feeds directly into Claude for email generation.

The ICP document for each campaign includes:

  • Company profile: Industry, size, geography, tech stack signals
  • Decision maker: Title patterns, likely pain points, buying authority
  • Current state: What their web presence looks like now, what's broken
  • Desired state: What they'd want if they knew it existed
  • Trigger events: Hiring signals, funding, website redesign indicators

For the Webflow agencies campaign, our ICP was: agencies with 2-8 people, doing $200K-$1M revenue, active on Clutch or Dribbble, no in-house backend developers, and showing signs they're turning down projects that need custom functionality. That level of specificity is what makes the personalization work later.

Email Verification: Findymail vs Hunter vs Apollo

Bad emails kill campaigns. Not slowly -- immediately. One bounced email campaign can torch your sender reputation for weeks.

We tested three verification services across the same list of 2,000 leads. Here's what happened:

Service Verified Emails Bounce Rate on Send Catch-All Handling Cost per Verification
Findymail 1,847 2.1% Flags and risky-scores ~$0.03
Hunter 1,622 8.7% Passes most through ~$0.03
Apollo (free) 1,491 12.3% No handling $0.00

Findymail's 95%+ accuracy isn't marketing fluff -- we measured it. The bounce rate difference between Findymail and Apollo is the difference between a healthy sender reputation and getting flagged by Google.

Hunter is fine for one-off lookups. If you're researching a specific person, it does the job. But for batch verification of campaign-sized lists, the 8.7% bounce rate is a problem. Anything above 5% and you're playing with fire.

Apollo's free tier is great for initial lead discovery. We use it to build raw lists -- company names, titles, LinkedIn URLs. But we never send to Apollo-provided emails without running them through Findymail first. The free data is worth exactly what you pay for it when it comes to email accuracy.

Our workflow: Apollo for discovery → Findymail for verification → Instantly for sending.

Our $346/Mo Cold Email Stack: 52% Open Rate, 14 Discovery Calls - architecture

Domain Warmup Checklist

This is the most boring part of cold email and also the most important. Skip it and nothing else matters.

Here's our exact two-week warmup process:

Week 0: Domain Setup (Day 1)

  1. Buy 5 domains that are similar to your main domain. If you're socialanimal.dev, buy things like socialanimal.io, getsocialanimal.com, socialanimaldev.com. Never send cold email from your primary domain.
  2. Set up Google Workspace on each domain. One inbox per domain.
  3. Configure DNS records:
    • SPF: v=spf1 include:_spf.google.com ~all
    • DKIM: Generate through Google Admin console
    • DMARC: v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com
  4. Add domains to Instantly and enable auto-warmup immediately.

Week 1: Warmup Phase

  • Instantly's warmup network sends and receives emails automatically between real inboxes
  • Start at 2-3 emails per day, ramp to 15-20 by end of week
  • Don't send ANY campaign emails during this week
  • Manually send 5-10 real emails per inbox to friends, colleagues, other accounts you own
  • Reply to those emails. Open them. Click links. This signals to Google that these are real, active accounts

Week 2: Gradual Ramp

  • Continue warmup alongside small test sends
  • Day 8-10: Send 5 campaign emails per inbox per day
  • Day 11-14: Ramp to 15-20 campaign emails per inbox per day
  • Monitor bounce rates in Instantly. If any inbox exceeds 3% bounces, pause it
  • Check Google Postmaster Tools daily for domain reputation
# Quick DNS check command
dig TXT yourdomain.com +short  # Check SPF
dig TXT _dmarc.yourdomain.com +short  # Check DMARC
dig TXT google._domainkey.yourdomain.com +short  # Check DKIM

After two weeks, each inbox should be sending 20-30 emails per day safely. Across five inboxes, that's 100-150 sends per day -- more than enough for targeted micro-campaigns.

I know it's tempting to skip the warmup. Don't. We learned this the hard way on an early campaign where we burned through three domains in a week because we started sending too fast.

Claude Personalization: The 3-Input Method

This is where our stack gets its edge. Most people use AI for cold email wrong -- they paste in a template and ask Claude to "make it sound more personal." That produces garbage.

We use a 3-input method that produces genuinely personalized emails at scale:

Input 1: Company Research

Before we write anything, we gather 3-5 specific facts about the company. Not generic stuff like "they're in healthcare." Specific:

  • Their website runs on WordPress 5.x with a theme from 2019
  • They have 47 Google reviews with a 4.2 average
  • Their competitors just launched online booking
  • They posted a job for a "digital marketing coordinator" last month

Input 2: ICP Pain Points

From our ICP document, we pull the top 2-3 pain points for this vertical:

  • Losing patients to competitors with better online booking
  • Spending $2K/month on a marketing agency that built their site in 2020
  • Can't update their own website without calling a developer

Input 3: Tone Guide

We give Claude explicit tone instructions. This matters more than people think:

Tone: Direct but not pushy. Write like a peer, not a vendor.
Length: Under 80 words for email 1.
Avoid: Questions in subject lines. Exclamation marks. The word "just."
Include: One specific observation about their business.
CTA: Soft -- suggest a conversation, don't push a demo.

Here's the actual Claude prompt structure we use:

You are writing a cold email to [Name], [Title] at [Company].

Company research:
- [Fact 1]
- [Fact 2]
- [Fact 3]

Pain points for this ICP:
- [Pain 1]
- [Pain 2]

Tone guide:
- Under 80 words
- Direct, peer-to-peer
- One specific company observation
- Soft CTA

Write email 1 of a 4-email sequence. Subject line + body.

Claude Pro at $20/month handles this beautifully. We generate batches of 50-100 personalized emails in a sitting, review them for accuracy (always review -- AI hallucinates company details sometimes), then load them into Instantly.

The difference between this approach and template-based outreach isn't marginal. It's the difference between 18% opens and 52% opens.

Sequence Structure That Gets Replies

We use a 4-email sequence with 3-day spacing. Here's the structure:

Email Day Purpose Word Count CTA
1 Day 0 Hook + observation Under 80 Soft ("worth a conversation?")
2 Day 3 Value add / case study 80-120 Medium ("open to a quick call?")
3 Day 6 Different angle / social proof 60-90 Soft ("thoughts?")
4 Day 9 Breakup / final value Under 60 Direct ("should I close the loop?")

The first email does the heavy lifting. Under 80 words, always. Here's why: nobody reads long cold emails. You have maybe 3 seconds of attention. An 80-word email looks like a quick note from a real person. A 200-word email looks like marketing.

The 3-day spacing is intentional. We tested 2-day, 3-day, 5-day, and 7-day gaps. Three days hit the sweet spot -- frequent enough to stay top of mind, spaced enough to not feel aggressive.

Email 4 is the breakup email, and weirdly, it often gets the highest reply rate. Something about "closing the loop" triggers action in people who were on the fence.

Generic vs Personalized: Real Email Examples

Let me show you exactly why personalization matters. These are anonymized but real emails from our campaigns.

The Generic Version (18% open rate, 1.2% reply rate)

Subject: Web development services for your company

Hi {{firstName}},

I noticed your company could benefit from a website upgrade. 
We specialize in building modern, fast websites for businesses 
like yours.

We've helped companies increase their online conversions by 
40% with our development services.

Would you be open to a quick call to discuss?

Best,
[Name]

This is what 90% of cold emails look like. It says nothing specific. "Companies like yours" is a dead giveaway that this is a mass blast. The 40% stat is generic. The subject line is forgettable.

The Personalized Version (52% open rate, 4.8% reply rate)

Subject: {{company}}'s booking page on mobile

Hi {{firstName}},

Pulled up {{company}}'s site on my phone -- the booking 
flow breaks on the second step. Tested on iPhone and Pixel.

We rebuilt a similar flow for a clinic in {{city}} last 
month. Their mobile bookings went from 12% to 34% of 
total appointments.

Worth a 15-min conversation?

[Name]

72 words. One specific, verifiable observation. One relevant result. A CTA that doesn't ask for much.

The subject line references something specific about their business. It doesn't look like marketing. It looks like someone who actually visited their website and found a problem.

This is the kind of email Claude generates when you feed it the 3-input method. It's not magic -- it's research turned into relevance.

A/B Testing Framework

Instantly makes A/B testing dead simple. We test everything, but in a specific order:

Priority 1: Subject Lines

Subject lines determine open rates. We test two variants per campaign:

  • Pattern A: Company name + specific reference ({{company}}'s checkout flow)
  • Pattern B: Pain point + curiosity (mobile bookings dropping?)

Pattern A consistently wins for us -- 48-55% opens vs 35-42% for pattern B. People open emails that look like they're specifically about their business.

Priority 2: Opening Lines

The first sentence determines whether they read the rest:

  • Observation opener: "Pulled up your site and noticed..." (wins 60% of tests)
  • Question opener: "Are you still using WordPress for..." (wins 25% of tests)
  • Compliment opener: "Impressive growth from 2 to 8 locations..." (wins 15% of tests)

Observation openers work because they prove you did homework. Questions feel presumptuous. Compliments feel slimy unless they're very specific.

Priority 3: CTAs

We tested these CTA formats:

  • "Worth a conversation?" -- 5.1% reply rate
  • "Open to a quick call this week?" -- 4.2% reply rate
  • "Can I send over a 2-min video walkthrough?" -- 4.8% reply rate
  • "Want me to send a detailed audit?" -- 2.1% reply rate

Low-commitment CTAs win. "Worth a conversation" outperforms everything because it doesn't ask for a time commitment.

Reply Management Workflow

Getting replies is only half the battle. How you handle them determines whether replies become calls.

Our workflow:

  1. Instantly flags new replies -- we check three times daily (9am, 1pm, 5pm)
  2. Categorize within 30 minutes:
    • 🟢 Interested: Respond within 2 hours with calendar link
    • 🟡 Curious: Respond within 4 hours with more info
    • 🔴 Not interested: Polite close, add to do-not-contact
    • ⚪ Out of office: Reschedule sequence in Instantly
  3. Interested replies get a personal video -- 60-second Loom showing their specific website issue. This converts at about 65% to booked calls
  4. All replies logged in a shared sheet with campaign tag, reply sentiment, and outcome

Speed matters enormously here. Our data shows that responding within 2 hours to positive replies books 3x more calls than responding within 24 hours. People's interest is perishable.

Campaign Results Breakdown

Here are the actual numbers from last quarter's eight campaigns:

Campaign Leads Sent Open Rate Reply Rate Calls Booked
Healthcare clinics 450 54% 5.1% 3
Korean manufacturers 280 48% 3.9% 1
London shipping 310 51% 4.5% 2
Automotive dealers 520 49% 4.2% 2
Solar installers 380 55% 5.8% 2
Webflow agencies 290 58% 6.2% 2
Leather manufacturers 410 46% 3.4% 1
Spare parts factories 560 50% 4.1% 1
Total 3,200 52% avg 4.8% avg 14

The Webflow agencies campaign outperformed everything else. Makes sense -- we were reaching out to people who do similar work and understand the value of technical partnerships. The pain points were crystal clear and easy to articulate. If you're doing headless CMS development or Next.js development, agency partnerships are a gold mine.

For context, we've has generated over 3,600 deals historically using outbound email. Their volume is higher, but the principles are identical: specific ICPs, verified data, personalized copy, and fast follow-up.

Our HostList campaign -- a separate project we ran for a client -- hit 978 leads with a 52% open rate using this exact stack. Same tools, same process, same results.

FAQ

How many emails per day can you safely send with this stack?

With five properly warmed domains and one inbox each, we send 100-150 emails per day total -- about 20-30 per inbox. Pushing beyond 40 per inbox risks deliverability issues with Google. If you need more volume, add more domains and inboxes rather than increasing per-inbox sends.

Is a 52% open rate realistic for cold email in 2026?

Yes, but only with proper setup. Industry average for cold email sits around 25-35%. The jump to 50%+ comes from three things: clean verified lists (under 3% bounce rate), properly warmed domains with correct DNS records, and subject lines that reference something specific about the recipient's business. Remove any one of those and you'll drop back to average.

Why Claude over ChatGPT for cold email personalization?

We've tested both extensively. Claude produces more natural-sounding short-form copy and is better at following strict word count constraints. When you say "under 80 words," Claude respects that. ChatGPT tends to run long and needs more editing. That said, ChatGPT at $20/month works fine -- the 3-input method matters more than which LLM you use.

How do you handle GDPR compliance with cold email?

GDPR allows cold B2B email under "legitimate interest" if you're contacting someone in their professional capacity about something relevant to their role. We include an unsubscribe link in every email, honor opt-outs within 24 hours, don't email personal addresses, and keep records of our legitimate interest basis. For EU campaigns, we're more conservative with volume and more specific with targeting.

What's the cost per discovery call with this stack?

At $346/month and 14 calls booked last quarter (3 months), that's roughly $1,038 total for 14 calls -- about $74 per discovery call. Compare that to LinkedIn ads ($150-300 per lead) or Google Ads ($100-500 per qualified lead for agency services). Cold email is still the most cost-effective channel for B2B if you do it right.

Should I use Instantly or Smartlead?

We've used both. Instantly's UI is cleaner, their warmup network is larger, and their analytics are more actionable. Smartlead has slightly better inbox rotation for very high-volume senders (50,000+ per month). For most teams sending under 10,000 per month, Instantly is the better choice. Smartlead starts at $39/month vs Instantly's $30 base, but the Growth plan at $97 is where Instantly's real value kicks in.

How long before a new cold email campaign generates results?

Two weeks for domain warmup, then another 1-2 weeks before you have enough data to optimize. Expect your first discovery call within 3-4 weeks of starting. Our fastest campaign (solar installers) booked a call in week two. Our slowest (Korean manufacturers) took six weeks due to timezone and language nuances in follow-up.

Can this stack work for agencies doing outreach on behalf of clients?

Absolutely. We run this for our own outreach to fill our development pipeline and for select clients. The key is setting up separate domains and inboxes per client -- never mix sending infrastructure. Instantly's Growth plan supports multiple client workspaces, and Claude doesn't care whose emails it's writing. If you're an Astro development shop or a headless CMS agency, this exact stack scales to 5-10 client campaigns without adding tools. Check our pricing page or reach out if you want us to set this up for you.