⚙ CC Marketing · L7 Score 0/0
Lesson 7 of 12 · Claude Code Marketing

A cold list that checks its own quality

A skill that scrapes leads, audits a sample against your ideal customer profile, redoes the scrape if it fails, then enriches and exports send-ready rows.

Built from the course by Nick Saraev Source span 3:43:01-4:06:22 ~15 min lesson 5 quiz checkpoints

💡 Dotted words are definitions

Underlined terms have plain-English definitions. Hover on desktop, tap on mobile.

✅ Quizzes keep score

Each section ends with a check. Your teacher-agent takes follow-up questions any time.

01 · The five-stage line

A cold line that treats every row as its own email

The cold-outreach version of the build starts where newsletter marketing ended: with raw scraped rows instead of an opted-in list. The assembly line runs five stages — prospect discovery in LinkedIn Sales Navigator, scraping via connectors, raw lead rows landing in a sheet, Claude reading each row to write personalization fields, then templated sending 3:43:01. The tooling flips too: warm-audience senders use Kit, while cold senders use Instantly, because Instantly reaches a cold audience — people who have never heard of the sender — as opposed to a warm audience that already opted in 3:43:40.

A five-stage cold outreach assembly line running from LinkedIn prospect discovery and scraping through raw-row enrichment to templated copy ready to send
3:43:15 · screenshotA five-stage cold outreach assembly line runs from LinkedIn prospect discovery and scraping through raw-row enrichment to templated copy ready to send.

Reply rate, the speaker claims, is decided almost entirely by personalization depth: fully templated messages returned 1–2% replies, while personalized openings like “Hey, Nick, love your last vid, man” ran about 5% — and because every dollar he made rode on cold outreach, he claims that gap equated to 200–250% of the revenue 3:43:40. The mechanism for that personalization is the icebreaker: a short, punchy, AI-written first line that references the prospect’s recent post or milestone — “Congrats on the second crew” to Omar at Peak Roofing (raw transcript: “Peak Reefer”) 3:44:06.

Slide titled EVERY ROW BECOMES ITS OWN EMAIL showing prospect rows for Jane and Omar flowing into two personalized sample email cards
3:45:00 · screenshotSlide titled “EVERY ROW BECOMES ITS OWN EMAIL” shows prospect rows for Jane and Omar flowing into two personalized sample email cards.

His claimed ceiling for the method: his best cold email copy on earth hit 20%+ reply rate when fuzzy variables combined with conference leads, and even conservative 2–4% campaigns made him hundreds of thousands of dollars at sufficient scale 3:45:36. For your agency, the structural lesson matters more than the anecdotes: the line is a repeatable skill you can run for every client, and reply-rate leverage lives in a per-row personalization step, not in sending volume.

Across the speaker’s cold campaigns, which lever most strongly moved reply rate?

Lead-in: Templated copy returned 1–2% while personalized openings ran about 5%, so the per-row personalization slot is the highest-leverage variable in the whole line — not volume, sequencing, or list recency.
02 · Raw rows & the anchor template

Cheap raw rows in, one master template out

Lead sourcing feeds the line. The speaker names Apify (raw transcript: “Amplify”/“Ampify”), Pipeline Labs Leadfinder with emails, Apollo, and ZoomInfo, filtering by job title (founders), seniority (suite people), email status (high quality/deliverable), and phone status so the lead can also be cold-called 3:47:08. He cites the lead cost at roughly $1.50 to $180 per 1,000 leads 3:47:08. The raw sheet carries a lot of freight: annual revenue, company audience, city, country, description, domain, industry, LinkedIn URLs, specialties, location, names, functions, cities, and even the technologies the company uses 3:48:37.

A Google Sheets demo lead list displaying annual revenue, company audience, city, country, and company description columns
3:48:37 · screenshotA Google Sheets demo lead list displays annual revenue, company audience, city, country, and company description columns.

The anchor is a complete sample email built around personalization slots: “Yo, Nick, saw you liked Labradors. I have one myself and wanted to say hi.” It carries the outbound offer — B2B outbound for agencies doing $5M a year and up, a Meta proof point of 500K closed in the last 45 days, a guarantee of 20 additional book meetings per month with qualified MSP vendors, claimed $1–2 million a year in value, $0 upfront, free if the number is not hit, mostly commission, 20 appointments a month in perpetuity, and a 30-minute phone ask 3:50:17.

A Google Docs frame displaying the complete personalized cold email template, including the outbound offer, guarantees, call to action, and sign-off
3:50:17 · screenshotA Google Docs frame displays the complete personalized cold email template, including the outbound offer, guarantees, call to action, and sign-off.

Note what the speaker claims, not what you can verify: the 20%+ reply rate, the hundreds of thousands, and the 200–250% revenue figure are his reported numbers, and the template’s own “500K in 45 days” line is exactly the kind of thing Claude flagged later as a suspension and deceptive-claims risk 3:53:02. For your agency, that is a productized template-and-review pair: the copy is the client offer, and the AI review is your compliance gate.

When the speaker sources leads, which filter set does he apply before enrichment?

Lead-in: The filter set is job title (founders), seniority (suite people), email status (high quality/deliverable), and phone status so the lead can be cold-called. The other options describe fields a scraper might return or metrics a sender might track, not the filters he sets before enrichment.
03 · The fuzzy-variable engine

Double curly brackets that read like a human touch

The copy engine is the fuzzy variable: an AI-generated personalization segment in double curly brackets that weaves naturally into the email context so it reads as a real human touch, not a mail-merge slot 3:51:02. The reason this works is counterintuitive: lowercase, casual, intentionally imperfect language outperforms because prospects are used to AI spam with perfect grammar and M-dashes — imperfect copy reads as human 3:51:02. The prompt he gives Claude: “above is a cold email template that I've been sending. It's been working quite well. However, I want to kick it up a notch with AI based variables. Anything in the two curly brackets here is an AI based variable… feed you a bunch of information about five leads and I want to see how well you can weave in their information into an email like this” 3:51:02.

A dark Claude Code screen displaying a blue cell-like activity grid above dense prospect data and a request to create five email variants
3:53:15 · screenshotA dark Claude Code screen displays a blue cell-like activity grid above dense prospect data and a request to create five email variants.

Past five leads, Claude returns three visible artifacts. First, the working screen with the activity grid and dense prospect data 3:53:15. Second, a personalized variant for Luke Emerson of Haven Group that references “running performance marketing out of Tampa” and the Florida agency scene 3:54:38. The speaker is Nick Sarić (raw transcript: “Nick Sarif”), and these are hypothetical demo prospects, so no amount of research on them yields any benefit.

Claude displaying a personalized cold-email variant for Luke Emerson of Haven Group, referencing his Tampa performance-marketing work and the Florida agency scene
3:54:38 · screenshotClaude displays a personalized cold-email variant for Luke Emerson of Haven Group, referencing his Tampa performance-marketing work and the Florida agency scene.

Third, the generated variable slots themselves: qualified prospects like fintech/wellness brands wanting SEO and PPC, Western brands entering China, agencies looking to automate PPC management, hiring managers building search and social media teams, and SEO/PPC clients ready to buy 3:55:23.

Claude displaying generated prospect-specific fuzzy variables for fintech and wellness brands wanting SEO and Western brands entering China
3:55:23 · screenshotClaude displays generated prospect-specific fuzzy variables for fintech/wellness brands wanting SEO and Western brands entering China.

Claude also does something a junior copywriter would not: it flags the template’s numeric claims — “500K in 45 days” — as the kind of thing that gets outbound accounts suspended and can cross into deceptive-claims territory if the underlying numbers are not real and substantiated 3:53:02. That review pass is part of the productized skill you take to clients, not an obstacle to it.

Why does intentionally imperfect, casual copy beat polished AI prose in cold email?

Lead-in: The mechanism is perceptual: prospects are used to AI spam with perfect grammar and M-dashes, so intentionally imperfect copy reads as a human writer. It is not a deliverability hack, a ranking trick, or a length optimization.
04 · Enrich & trim as a skill

The sheet becomes the send-ready medium

The skill step is where this becomes a product you can sell. The speaker asks Claude to “add these columns to this Google sheet and then customize them for every row. The idea is I should be able to insert those variables directly into the email via merge variables and have them be 100% readable and contextually relevant” 3:56:04. He defines the two moving parts: a skill is a Claude Code feature whose input is a lead list and whose output is a fully enriched lead list with the customization columns already filled in; a merge variable is a placeholder in an email platform that gets filled with a per-row value from the spreadsheet when sending 3:56:04.

Dark AI chat displaying a detailed outreach-validation workflow with numbered location and input-format checks alongside the conversation list
3:57:00 · screenshotDark AI chat displays a detailed outreach-validation workflow with numbered location and input-format checks alongside the conversation list.

He also asks Claude to trim the CSV fields that are painful to upload, keeping only the customization fields plus first name, last name, email address, company name, company size, and so on. The output runs against a validation workflow — a numbered location and input-format check list 3:57:00 — then lands as the completed enrichment with command outputs and the generated leads_trimmed_subset10.csv 3:59:00.

A dark AI chat displaying the completed lead-enrichment workflow, validation results, command outputs, and the generated leads_trimmed_subset10.csv file
3:59:00 · screenshotA dark AI chat displays the completed lead-enrichment workflow, validation results, command outputs, and the generated leads_trimmed_subset10.csv file.

The trimmed result starts with Marcus Hayes and North Partners; superfluous fields are gone, leaving fuzzy-variable columns like “my thing in common,” “their thing in common,” paraphrase, company name, and prospect-specific terminology 3:57:35. The extension is scraping in addition to enriching: instruct Claude to steer Apify to scrape the leads, run the enrichment flow on them, bundle it into the skill, and test on a small subset — 100 leads to start, with only 10 enriched 3:57:35. The demo cost he cites: 18 cents on Apify for 100 email addresses. The plumbing is the Apify MCP (Model Context Protocol) connector — copy the MCP configurator URL from the scraper, create a custom connector, paste the link — a connector standard that lets Claude Code log into and drive external services like Apify 3:59:06. He mentions LeftClick, his AI automation agency that builds these Claude Code flows for marketing.

What defines a “skill” in this cold-outreach workflow?

Lead-in: The skill takes a lead list as input and returns a fully enriched list with customization columns already filled. Instantly campaigns, Sheet formulas, and Apify configs are pieces it coordinates, not the skill itself.
05 · The ICP gate & send-ready

The self-checking rule you take to clients

The quality gate is the part most agencies skip. ICP — ideal customer persona — is the profile a lead must match to be worth pursuing 4:00:37. His SOP: create filters, scrape a list, check the list against the ICP, and if fewer than 75% of leads match, redo the process. The concrete instruction to Claude: scrape 100 leads, check 20 of them against the ICP, and require at least 15 of 20 to match; below 15, Claude is told to redo it 4:00:37. Reported runs: 9/20, 9/20, 15/20, then 19/20 on the final self-driving run, where the skill ran once and scraped and enriched a large lead list on its own — the gate had become part of the loop, not a manual audit 4:01:55.

The send-ready export closes the loop. Instantly is the cold-audience sender, as opposed to warm-audience tools like Mailchimp or Kit 4:02:57. He mentions Clarvo (raw transcript: “Clarvo”), the startup named after the hat he is wearing, with campaigns for legal intake, staffing & recruiting, and automotive BDC 4:03:02. He sets up a demo campaign with the same manually written copy, uses “first name” as the subject line, inserts merge variables into the sequence, imports the enriched list, and previews how variables resolve per lead — the Marcus Hayes preview reads “Saw you're running a full service Amazon marketing shop. I spent a lot of time around Amazon seller agency circles 2 and wanted to say hi,” and he removes the stray “2” from the campaign 4:03:47.

The productized rule you adopt: scrape → sample-check the ICP gate (75% or 15-of-20) → enrich every row → export only the send-ready columns into Instantly. Then apply bottleneck thinking: only automate something into a continuous loop when you genuinely need it every day; otherwise run it on demand 4:04:27. If the cadence justifies it, turn the whole flow into a Claude Routine — “turn this into a routine, launch at 5:59 a.m. every morning, here's the Appify connector” — like his scheduled “Daily Clervo Legion,” which runs every day at 5:59 a.m. PDT 4:04:27. The speaker frames this as completing the top of the funnel; the middle — speed to lead for appointment booking via email, SMS, and voice — is the next build 4:05:59.

When the skill sample-checks a scraped list against the ICP, what triggers a redo?

Lead-in: The rule is the 15-of-20 sample: scrape 100, check 20 against the ICP, require 15 to match, and redo below that — the operational form of the 75% floor. The distractors invent failure triggers that are not part of the gate.
✔ Wrap-up

Your score

0 / 8
Answer the quizzes above to see your result.

One-sentence summary

Scrape a cold list, sample-gate it against your ICP, enrich every row with AI-written personalization, and export a trimmed, send-ready file — all as one productized Claude Code skill.

📖 Reference

Glossary

Every term marked with a dotted underline above. Skim it, or search the page for a word.

⚙ For your system

Ideas worth stealing into your own setup

Proposals, not done deals: nothing gets added to your system until you choose it.

01 Package the whole line as a client skill

Saw
The scrape → ICP gate → enrich → export flow is a bounded, repeatable unit.
Why
Hand each client a single Claude Code skill with a built-in ICP sample gate, so list quality is enforced inside the deliverable instead of by manual audits.
Form
Productized offer
Source
4:00:37 in the video

02 Add an AI compliance review to client templates

Saw
Claude flagged the “500K in 45 days” claim as a suspension and deception risk.
Why
For every client template you operationalize, include a Claude review pass that catches unsubstantiated numeric claims before they burn sending domains.
Form
Service add-on
Source
3:53:02 in the video

03 Convert a high-cadence client list to a daily routine

Saw
The workflow ran at 5:59 a.m. as “Daily Clervo Legion.”
Why
For agency clients whose outbound runs daily, schedule the skill as a Claude Routine so a fresh, gated, enriched list regenerates before the workday starts.
Form
Retainer automation
Source
4:04:27 in the video
Expanded screenshot