

Every rule in this guide is a rule we run ourselves: our caps, our costs, our quality bar, our kill rules. Read it here, or take the PDF with you.
This is the full system, not a teaser. It is the same system Marvenn runs for done-for-you clients who pay $5,000 a month, written out step by step so you can run it yourself.
Most cold email fails for boring, fixable reasons. The list is wrong. The mailboxes are not warmed. The copy sounds like a template. Nobody replies fast. Fix those in the right order and cold email works. Skip them and no agency will save you.
I will not invent numbers anywhere in this guide. Every number here is a real operating rule from our own sending: our caps, our costs, our quality bar, our kill rules. Your results depend on your offer and your market, and anyone who guarantees meetings is guessing with your money.
A great email to the wrong person is still a wasted email, and you paid for it. So this comes first.
Write one ICP definition and enforce it before you spend anything. One definition, not a loose one for sourcing and a different one later. It names:
Then enforce it at sourcing, before money moves. Our rule is simple: only pay for on-target leads. A lead that does not fit does not get sourced, verified, or emailed. Finding a bad fit after you paid for it is the most expensive way to learn your ICP was loose.
Get the offer into a written brief before any copy exists. Six parts:
Describe the pain better than they can. Describe the customer's pain more accurately than they can and they assume you hold the solution. Copy does not create desire. It channels desire that already exists. So collect the pain in the customer's own words, from calls, tickets, and replies, in one living document every campaign draws from.
Checklist:
The list is the campaign. Copy can only save a few points at the margin on a list that was wrong from the start.
Source to the ICP, not around it. We use Prospeo as our sourcing provider, at about $0.019 per lead. At roughly two cents a lead, you can afford to be strict. Put the ICP criteria inside the query itself: titles, company size, industry, geography. Do not pull a broad list and plan to clean it later. Later never comes, and cleaning costs more than strict sourcing did. Our ceiling rule: never pay more than $0.10 per sourced lead. Expensive data is usually just data.
Use free and primary sources where they exist. Industry registries, public directories, association lists, and licensing databases often name exactly the people you need, free. In healthcare, we pull named officials from the national provider registry at zero cost, then find their emails. The pattern generalizes: build the company list from the most authoritative source you can find, then attach people to it.
Find named people's emails with a waterfall, not a guess. With a person and a company but no email, run a finder waterfall: one finder checks, then the next, until one returns a verified address. Never pattern guess an address format. Guessing is how you rack up bounces and burn young domains. If no finder can produce the email, the lead waits.
Stock a buffer. Keep ready, verified, on-target leads ahead of sending. Sourcing in a panic produces loose ICP calls and skipped verification. Sustaining about 150 sends a day takes roughly 1,200 fresh gate-passed leads a month.
Dedupe and suppress from day one. Before any lead enters a campaign, check it against current customers, open opportunities, anyone who ever opted out, anyone contacted in another campaign, and duplicates of the same person. Suppression is a gate every lead passes every time, not a quarterly cleanup.
Verification is cheap. Bounces are expensive. A bounce on a young domain teaches inbox providers that you send to bad addresses, and that reputation follows every email after it.
Verify every address before it enters a campaign. No exceptions for clean looking lists. The result decides what happens:
Verify again when a list sits. People change jobs and addresses decay. A list that sat for months gets verified again before it sends. A bounce spike on day one is the worst timing there is.
Keep suppression hygiene daily. Every hard bounce, unsubscribe, complaint, and remove-me reply updates the suppression list the same day. Hard bounces are suppressed permanently. This is unglamorous, load-bearing work. The senders who stay out of spam for years treat hygiene as a habit, not a rescue operation.
Full verification costs almost nothing against total spend. Skipping it risks the domains, and replacing burned domains costs weeks, not dollars.
Deliverability is a reputation you build slowly and can lose in one bad week. This is where most do-it-yourself outbound quietly dies, because the rules are patience rules.
Never send cold email from your main domain. Ever. Buy separate sending domains that look close to your real one. If outreach damages a reputation, it damages a side domain you can replace, not the domain your invoices and customers live on. Set up SPF, DKIM, and DMARC on every sending domain, and confirm the records actually resolve before the first send. Configured is not verified. Read it back.
Spread volume across mailboxes. One mailbox sending hundreds of cold emails a day looks like a spam operation because it is shaped like one. We run five mailboxes per sending domain, each with a daily cap. Volume comes from more mailboxes, never from pushing one box harder.
Warm up on a curve, and let the curve set your volume. Our curve, per mailbox:
Five mailboxes at 30 a day is about 150 sends a day at maturity. First real sends start small, around week 3, at whatever the curve allows. Anyone who promises full volume in week one is sending from domains that will get burned, or skipping the warmup that keeps you out of spam. Real timeline: build in weeks 1 to 3, first sends around week 3, full volume around week 5.
The caps govern. Nothing overrides them. Not a launch date, not a good week. If you need more volume, the answer is more warmed mailboxes, and those take three to four weeks. Plan around that fact instead of fighting it.
Watch health weekly. Bounce rate, complaints, and reply quality per domain and mailbox. A domain showing strain gets volume relief while it is still a warning.
Email 1 has one job: earn a reply from a busy person who did not ask to hear from you. We score every Email 1 against an 8 out of 10 quality bar before it can send. Drafts that miss the bar get repaired or killed. They do not go out anyway because the calendar says so.
The form rules.
The observation is the email. Paragraph one holds one specific, verified fact about the prospect's world, tied to the pain your offer solves. Not headcount, not a database field: a concrete moment they would recognize. Before it ships, check: specific enough that the reader thinks, that is exactly us? Sayable to a coworker? Picturable? Free of buzzwords? Verified somewhere you can point to? Generic personalization, a first name dropped into a template, fools nobody.
Personalize only from verified facts. This rule is absolute, and it is the one senders break first. You may only personalize with facts you actually verified: their website, their public announcements, their registry data, something you can point to. The moment you invent a plausible detail, you are lying to a stranger in writing, at scale. Same rule for claims about your own results: if you cannot point to the evidence, it does not go in the email.
The no-fact variant. A real problem you will hit: a lead is verified on-ICP, the email is valid, but their website and news hold no specific fact worth using. Most playbooks say drop it or fake the personalization. We do neither. The lead is already paid for, and faking breaks the rule above. So we run a no-personalization variant: same form rules, same 8 out of 10 bar on every other criterion, but the observation slot becomes a pain statement from the segment's language bank. It claims nothing specific about this company, because we have no fact to claim. Track it as its own tier. If its reply rate craters or it draws complaints, kill it. If it holds up, you recovered a slice of the list everyone else throws away.
What a passing Email 1 actually looks like. This example is written for a fictional company, a dock scheduling tool sold to warehouse operations managers. It follows every rule above.
Subject: Dock scheduling, still on spreadsheets
Hi Sarah, saw your team just opened the Fort Worth site. New sites usually inherit the old site's scheduling habits, whiteboards and group texts included.
We give warehouse teams live dock scheduling, so drivers book slots instead of showing up and waiting.
Worth a look for Fort Worth?
Count it: 48 words. Three paragraphs. One verified observation, the new site opening, tied to the pain. No numbers we would have to prove, no links, and one yes or no question that takes a second to answer.
The same email as a no-fact variant. Same lead, but suppose the site opening could not be verified. The observation slot becomes a segment pain statement and claims nothing about her company:
Hi Sarah, most multi-site warehouse teams I talk to still run dock scheduling on whiteboards and group texts.
We give warehouse teams live dock scheduling, so drivers book slots instead of showing up and waiting.
Is that the setup on your side?
It is less sharp than the fact version. It is also honest, and honest at 8 out of 10 beats invented at 10 out of 10, because the invented one torches trust the moment the reader checks.
Write to their awareness level. Cold prospects are problem-aware at best. They know the pain and are not waiting for a lecture. Name the problem in their words, state your mechanism plainly, and stop.
Read it out loud. If it sounds like marketing, rewrite it. If it sounds like something you would say across a table, it is close. At 75 words, every word is load-bearing.
Most replies do not come from Email 1. They come from follow-ups, because the first email lands when the person has no time or no budget window that week. Three to four touches total. Ours runs day 0, day 3, and day 7, with the breakup as the final touch.
Touch 2: add one new thing. Not "just bumping this up." A bump asks for credit for asking twice. Each follow-up adds one new element: a different angle on the pain, unused proof, or the same proven body with a fresh hook. Rotate hooks against a body that already earned replies instead of rewriting from scratch. Log winners in the language bank. Park losers with a note on what you learned.
Touch 3: make it smaller. Shorter than Email 1. One idea. Sometimes the honest small ask wins: a yes or no on whether the problem exists for them at all. You are not closing anything in a follow-up. You are starting a one-line conversation.
Final touch: the breakup email. Every sequence ends with one, and it is routinely the highest replying touch in the sequence. It says plainly that you will stop emailing, that this is the last note, and that the door stays open if the problem ever gets urgent. No guilt, no fake scarcity. Then honor it. The sequence ends, and that person goes quiet until a long rest has passed or a real new trigger appears.
A breakup, in full, for the same fictional example:
Subject: Closing the loop
Hi Sarah, I have sent a few notes about dock scheduling and have not heard back, so I will close the loop here. If dock wait times ever become a priority, reply to this thread and I will pick it back up. Thanks for your time.
That is the whole email. No question, no guilt, no last pitch hiding in the sign-off. A surprising share of people answer it, usually with timing: not now, try me in a quarter. That is pipeline you only get by ending well.
Rules that never change: follow-ups stay short, plain, and link free. The sequence stops the moment they reply. Never resend to anyone who opted out or bounced hard. And judge follow-ups partly on future demand: some plant a flag for a buying window that has not opened yet.
The reply is the product. Everything before this section exists to produce one and put a human in a position to handle it well. This is also where most operations throw away what they built, by answering slowly or badly.
Answer fast. Same day is the floor, within the hour when you can. A warm reply is a person at your door with the problem on their mind right now. Every hour you wait, that cools. Triage replies first.
Sort every reply the day it lands.
The booking link goes out here, and only here. When a reply is warm, your answer includes the booking link so they can pick a time in one step. It never appears in Email 1, never in a follow-up, never to someone who has not raised a hand. That restraint is deliberate. A link in a cold email asks for commitment before trust. A link in a warm reply removes friction after interest. Same link, opposite effect, purely because of timing.
Keep the answer human. Plain words. Answer what they actually asked. Give the next step and stop. No pitch deck on a two-line reply, no sudden formality, no switch into marketing voice mid-thread.
Ask the question that makes the next campaign better. On early calls with people who replied, ask: "What got your attention about my message?" Write the answer down, in their words, in the language bank. Your best future copy is hiding in the reasons real people already replied, and almost nobody bothers to collect it.
You will be tempted to report opens, clicks, and raw reply counts because those numbers are easy to make go up. Resist it. Two headline metrics, in this order: warm replies and booked meetings. A warm reply is a positive, interested response from an on-target person. Everything else is a diagnostic.
Opens are unreliable. Raw replies count unsubscribes and angry responses as wins if you let them; track those separately, never as progress. Cost per lead rewards cheap junk. A cheap reply that never books is worth less than an expensive reply that does. Judge on meetings and on the value of the accounts moving.
Baselines and kill rules. These are ours, and you can use them directly. A healthy early baseline is 2 to 3 replies per 100 delivered. Warm replies are the subset that matters.
Debug in the right order. When replies are low, do not start by rewriting copy. Work this list top to bottom:
If all six check out and replies are still zero, say it plainly: it is an offer problem, not an outbound problem. No sequence fixes an offer nobody wants, and the cheapest time to learn that is now.
Report like an owner. Weekly, in this order: warm replies, booked meetings, delivered volume, what you are changing next. If a segment is not producing, the report says so.
Lean is not a style choice. It is why the system survives. Bloated stacks eat the margin, and then the pressure to earn the money back becomes pressure to send more, looser email, which is how programs die. Here is our actual cost shape at mature volume.
What one email costs us.
What a month looks like. At about 150 sends a day, a setup delivers roughly 3,300 emails a month and needs about 1,200 fresh gate-passed leads entering to sustain it. Total direct cost lands around $250 to $400 a month. When a lead costs two cents and a finished email costs about a penny to write and score, a modest reply rate still produces meetings at a sane cost.
Where bloated stacks waste it. Overlapping data tools with seat fees. Enrichment credits bought twice for the same record. Lead sources charging close to a dollar a lead for fit available at two cents. None of that makes an email land better or read better. Cut every tool that does not change one of four things: fit, deliverability, copy quality, or reply speed.
Do your own break-even on paper. Take your customer value and the meetings you need monthly. Work backward through your close rate and reply rate to the send volume required, then price it with the costs above. If the math only works at reply rates nobody gets, fix the offer. Do not buy a bigger stack.
Everything above is runnable by one disciplined person with a few hours a week. If you have the time, patience for warmup timelines, and someone who will triage replies daily, run it yourself and keep the money.
Hand it off when one of these is true:
That is the service Marvenn sells. We build the infrastructure, source only on-target leads, write and gate the copy, get your approval on what carries your name, handle replies, and report warm replies and booked meetings weekly. It is $5,000 a month, flat. No per-meeting fees, no percentage of anything, and no guaranteed meeting counts, because nobody honest can guarantee those. The recommended starting term is three months: warmup and build take most of month one, and a single month measures the ramp, not the system. First sends around week 3, full volume around week 5.
We qualify before taking anyone on. Your customer value has to support it: we look for deals worth at least $25,000, or meetings clearly worth $500 or more to you. Your reachable market has to support the volume, or the expectation gets set lower in writing up front. You need a real offer with proof you can point to, and a named human who takes and closes the meetings. If those are not true, we will tell you. Taking your money to learn your offer does not work yet helps neither of us.
If they are true and you would rather close meetings than run mailboxes, book a strategy call and we will walk through your numbers. If they are not true yet, run this playbook yourself until they are.
The order matters more than the speed. Here is the system laid over a calendar, for one person running it alongside a real job:
If week 5 arrives and the numbers are not there, do not buy more tools. Debug in the order section 8 gives you, starting with the person and the company, not the copy.
Run it in that order and cold email stops being a gamble. It becomes a machine you can read, fix, and trust.
Dan Theirl, Marvenn
Marvenn is the platform this playbook runs on: on-target sourcing, verified lists, gated copy, your approval on every send, and warm replies as the headline number. Start free and run your first campaign this week.