Ask ChatGPT to "write a cold email" and you'll get a form letter with a bullet list of features nobody asked for. It writes a real one the moment you stop letting it guess: ban the words that trip spam filters, then hand it one checkable fact about the person you're emailing instead of a vague industry line.
ChatGPT writes effective cold email when you give it three things: a banned-words list that keeps spam filters from flagging the message, one checkable trigger about the prospect to build the opener around, and a tight structure for subject, body, and follow-up. Skip any of the three and you get generic copy that reads like a mail-merge.
Cold email runs on two systems that have almost nothing to do with each other: whether the words land, and whether the message even arrives. Most advice on ChatGPT for cold email only touches the first one, so people ship a good-sounding email that never gets opened. What actually decides the outcome is the fact you feed the model, the words you ban from its output, and the sending setup behind the button, roughly in that order of leverage.
Give it a role, a voice sample, and a standing rule sheet before you ask for a single email, because a bare prompt defaults to the blandest version of business writing it has ever seen.
Set the role first. Tell it what it is for this conversation: a direct-response cold email writer, not a generic assistant. Name the tone you want (plain, short sentences, contractions) and the tone you don't ("I hope this finds you well," compliments with no fact behind them).
Paste a voice sample. Three to five paragraphs of something you actually wrote, an email, a LinkedIn post, a transcript of you talking through your offer, work better than any tone instruction. ChatGPT pattern-matches to real writing far better than it follows adjectives like "casual" or "direct." Our guide on writing copy with AI without sounding like AI goes deeper on building that voice file once and reusing it everywhere.
Save the rules so you're not repeating them. If you're in ChatGPT's web app, build a Project and drop your role, voice sample, and banned-word list into the Project instructions, so every new chat inside it inherits the setup. Skip that step and the rules quietly decay: draft one respects them, draft twenty has drifted back to "I wanted to reach out" because the instruction scrolled out of the model's effective attention somewhere in a long thread.
A trigger is one real, dated, checkable fact about the specific person you're emailing, and it's the only thing that makes an opening line impossible to send to anyone else.
Without a trigger, ChatGPT has nothing to anchor the first line to, so it defaults to flattery ("I've been following your impressive work in…") or industry padding ("companies like yours are focused on…"). Both read as templated, because both could go out to a thousand different people unchanged. With one trigger, the model has exactly one fact to build a sentence around, and a sentence built on a single specific fact can't be generic by construction.
What counts as a trigger:
What doesn't count: their industry, their job title alone, their company size, their headquarters. Run the swap test. If you can drop in a different prospect's name and the line still works, it was never a trigger, it was a variable wearing a trigger's clothes.
Hand ChatGPT exactly one trigger per email, not three. Feed it three facts and tell it to "use what fits" and you get an opener trying to reference all three at once, which reads like a highlight reel instead of a sentence a person would actually say. One trigger, one sentence, that's the whole job of the opener.
Finding triggers by hand works fine for a list of ten. Past that, AI cold email personalization at scale covers building a research column that pulls one trigger per row for hundreds of prospects at once.
Ban the classic spam-trigger list up front, because ChatGPT will use every one of them if you let it, and filters still weigh them even though they're no longer the whole story.
Spam filters at Gmail and Microsoft 365 now score a blend of signals: sender domain reputation, authentication, engagement history (opens, replies, deletes-without-reading, spam reports), and content patterns. Keyword matching alone is weaker than it was a decade ago, engagement matters more now, but bad keyword patterns still add negative weight, and they cost nothing to remove. There's no upside to leaving them in.
Words and phrases to ban outright: free, guarantee, guaranteed, no obligation, act now, limited time, click here, buy now, risk-free, 100%, special promotion, congratulations, winner, cash, earn money, increase sales, dollar signs stacked together, strings of exclamation points, and any word in ALL CAPS.
Formatting habits to ban too, because these are ChatGPT defaults that hurt a cold email as much as the words do: bullet lists (a one-to-one email doesn't read like a slide deck), more than one link, an embedded image, and a signature block stacked with social icons. Tell the model explicitly: plain text, no bullets, no image, at most one link and only if the CTA needs it.
Put both lists in your standing instructions once, alongside your voice sample, so you're never retyping them mid-session. For the copywriting fundamentals underneath all of this, how to write email copy that converts covers the principles that apply whether AI or a human drafted the email.
Break the ask into five numbered parts, because a single open-ended request like "write me a cold email" gives the model room to default to one generic paragraph trying to do everything at once.
Subject line. Under six words, lowercase unless a proper noun requires a capital, no punctuation tricks, no emoji. It should read like a note from a colleague, not a campaign.
Opener. One sentence, built entirely on the trigger, no compliment attached. This is the only sentence in the email whose entire job is proving you looked.
Body. 60 to 90 words. Bridge the trigger to the pain it implies, state the offer in one sentence, and make the ask small enough to say yes to without thinking about it.
CTA. Exactly one ask. For cold email, a yes-or-no question ("worth a quick look?") usually outperforms "book a call," because it's a smaller commitment and easier to answer from a phone.
P.S. One line that restates the ask a different way. It's often the most-read line in the email after the subject.
A worked example. Say you sell inventory-forecasting software to mid-size ecommerce brands, and your trigger is a founder's LinkedIn post from three days ago about selling out of their bestseller during a launch weekend. A subject line that fits: "sold out again?" An opener built on that trigger: "Saw your post about the launch weekend sellout, that's usually a forecasting gap, not a demand problem." The body bridges that one line to the cost of a stockout, states the offer in a sentence, and asks if a 15-minute look at their reorder point is worth it. Nothing in that email could be sent to a different prospect unchanged, which is the whole point.
Ask for the whole sequence in the same prompt as the first email, so each follow-up references it instead of restating the pitch from zero.
Email 1 is the trigger-based ask above.
Email 2, sent two to four days later, takes a different angle on the same problem instead of "just following up," a phrase worth banning right alongside the spam-trigger list because it adds no information and reminds the reader they already ignored you once. Give it one new piece of value instead: a specific insight, a short example, a one-line answer to the objection you'd expect.
Email 3, sent four to seven days out, is the breakup email: give them permission to say no, ask if now is simply the wrong time, and offer to close the loop. It's often the best-performing email in the sequence, because it removes pressure instead of adding it, and a reader who was quietly meaning to reply frequently does so right here.
Keep every email in the sequence under 90 words and give each one exactly one job. A follow-up that restates the entire original pitch reads like a rerun. A follow-up that adds one new angle reads like a person who's still thinking about them. When a reply comes back with pushback instead of a yes, objection handling in copy covers how to answer the specific objection instead of re-pitching the whole offer.
Cold outreach needs its own authenticated, warmed-up sending domain, or a perfectly written email lands in spam regardless of what wrote it.
Authentication. SPF, DKIM, and DMARC are DNS records that prove to a receiving mail server your email actually came from who it claims to, instead of being spoofed. Without them, even relevant, well-targeted content gets treated with baseline suspicion before a human ever sees it.
A separate sending domain. Run cold outreach from a subdomain dedicated to it, not your main company domain, so a deliverability problem from an aggressive send doesn't take your invoices and product emails down with it.
Warmup. A brand-new mailbox that suddenly sends hundreds of emails a day looks exactly like a spam operation to an ISP, even if a human wrote every word by hand. Start low, a handful of sends a day, and ramp over two to four weeks before you push real volume.
An ongoing ceiling. Most cold email tooling and deliverability guidance converges on roughly 20 to 50 sends per mailbox per day as a starting limit. Need more volume than that supports? Add mailboxes, don't push one mailbox harder. Ten mailboxes at 30 a day beats one mailbox straining to hit 300.
None of this is ChatGPT's job, and no prompt fixes it. ChatGPT writes the words. The infrastructure gets those words in front of a human able to read them. For where this fits inside the wider system, how to use AI for email marketing covers the setup end to end.
Read every draft out loud and check the fact-check line the prompt asked for, because the two ways this fails, invented specifics and leftover AI phrasing, both survive a silent skim.
Check the fact-check list first. If you built the prompt right, it ends by flagging anything it assumed. Read that list before you read the email. Did it invent a statistic, claim a feature your product doesn't have, or round your trigger up into something more dramatic than what actually happened? Fix the source material, not just the sentence.
Read it out loud. Silent reading skips over rhythm problems and phrases you'd never actually say to someone's face. Reading aloud catches both in seconds.
Watch for structural AI-isms that survive the banned-word list, because they're patterns, not vocabulary: opening with "I wanted to reach out," restating the recipient's job title back to them, or a closing line that summarizes the whole email again. None of these trip a keyword filter, so they need a human catch.
Never send a batch unread, even a small one. The entire premise of this system is that each email is specific to one person, so skimming one in ten defeats the purpose faster than not personalizing at all. You'd be claiming specificity you never actually checked.
Here's a single prompt that bundles the role, the banned-word list, the trigger, and the five-part structure into one request, so you're not rebuilding the rules from scratch every time you draft.
You are a direct-response cold email writer. Plain, human, operator voice. Contractions. Short sentences. No "I hope this finds you well," no "in today's landscape," no compliments with no fact behind them. BANNED WORDS AND PHRASES (do not use any of these, in the subject or body): free, guarantee, guaranteed, no obligation, act now, limited time, click here, buy now, risk-free, 100%, special promotion, congratulations, winner, cash, earn money, increase sales, strings of dollar signs, strings of exclamation points, or any ALL CAPS words. Also avoid bullet lists, more than one link, and any line that restates my company name or the recipient's job title back to them. MY CONTEXT - Who I am: [YOUR NAME + ONE LINE ON WHAT YOU DO] - What I'm offering: [THE OFFER / OUTCOME IN ONE SENTENCE] - The ONE action I want: [REPLY / BOOK A CALL / etc.] - Who I'm writing to: [ROLE + INDUSTRY OF THE PROSPECT] THE TRIGGER (one real, dated, checkable fact about this exact prospect) [THE SPECIFIC FACT: e.g. "posted on LinkedIn last week about missing a Q3 pipeline number" / "just listed a job for a founding AE" / "switched their site from [OLD TOOL] to [NEW TOOL] two weeks ago"] WRITE THIS 1. A subject line under 6 words. Lowercase unless a proper noun requires a capital. No punctuation tricks, no emoji. 2. An opening line built ENTIRELY on the trigger above. It must be a sentence that could only be sent to this one person. 3. A body of 60 to 90 words: bridge the trigger to the pain it implies, state the offer in one sentence, and make the ask small and specific. 4. One P.S. line that restates the ask a different way. 5. A 2-email follow-up sequence (send day 2-4 and day 4-7), each under 90 words with one new angle, not a restatement of email 1. 6. After all of it, list any word, claim, or detail you used that I did not give you, so I can fact-check it before this sends.
ChatGPT can't find your trigger. It has no live view of a prospect's LinkedIn post from yesterday unless you paste that post in, so this whole system fails at the research step, not the writing step, the moment you skip the five minutes of homework and ask it to "personalize this for a VP of Sales" with no fact attached.
A banned-word list isn't a deliverability guarantee. It removes negative signal, it doesn't add positive signal. A technically clean email from a burned domain or an unwarmed mailbox still lands in spam, because reputation and engagement history outweigh word choice on their own.
This also assumes a real audience and a legal channel. Most cold email is B2B for a reason: consumer inboxes are protected by opt-in law in most places that actually enforce it, and even in B2B, a trigger doesn't turn an irrelevant list into a relevant one. Good copy on a bad list just gets you a faster unsubscribe.
And the rules decay in a long chat. ChatGPT drifts back toward generic phrasing over a long thread even with instructions at the top, because a long conversation dilutes how strongly early instructions hold. Save the rules in a Project or custom instructions, and re-paste them for anything that matters. Don't trust draft forty to remember what draft one was told.
No, and it can't, because filter providers don't publish their exact scoring and it changes constantly. Treat the banned-word list as a floor that removes obvious negative signal, not a full deliverability strategy. Pair it with real authentication and mailbox warmup, which do more for inbox placement than word choice ever will.
No, and if you can, it was never a trigger. A fact true of many people is a segment description, useful for choosing who to email, but the opening line still needs one detail specific to the individual. Reusing a "trigger" across a list just rebuilds the merge-tag problem with better vocabulary.
Either works, the rules don't change. Chat is fine at low volume where you're pasting one trigger at a time and reading every draft. The API or a workflow tool makes sense once you're running the same prompt against a spreadsheet of triggers for hundreds of prospects at once, at which point the trigger-hunting step becomes the bottleneck, not the writing.
Short enough to read without scrolling on a phone: a body of 60 to 90 words, a subject under six words, plus a one-line P.S. Length isn't what earns the reply. A clear trigger and a small, specific ask earn the reply. Extra length just gives the reader more places to lose interest.
No. It will state a product benefit or a statistic with total confidence whether or not it's real, so the fact-check step in the prompt above isn't optional. Read that list before you read the email, and replace anything you can't personally verify with something you can.
None of this replaces the two things that were never ChatGPT's job: a list worth emailing and an offer worth opening for. It replaces the blank page, and the hour you'd otherwise spend writing an opener that could have gone to anyone. Get the trigger right, ban the words that hurt you, get your sending domain warmed up properly, and ChatGPT becomes a fast, competent drafter instead of a slow way to generate spam.
If you want to build this system alongside operators running real cold email programs right now, and swap the prompts, triggers, and sequences that are actually landing replies, come build it inside Asset Academy.
Inside the Asset Academy community we build the copy, funnels, and offers together, with the prompts and the feedback. $96/mo, or save with annual.
Join the community →The community where we build the copy, funnels, and offers together, with the prompts and live feedback.
Join the Community →