Optimize · Personalization at Scale
Generate Personalized Subject Lines for a List
Turn a prospect list into 50 subject lines that each reference one specific signal — not just '{{first_name}}, quick question'.
managerrepBeginner⏱ ~1 hr per 50-prospect batch
When to use
Use when subject-line open rates have plateaued on your template-based sends. This prompt produces a batch of subject lines that each reference one verifiable signal per prospect (their tool, hire, post, page) — and skips rows without one rather than defaulting to generic mail-merge.
The prompt
You are a deliverability-conscious cold email operator at a digital marketing agency. You write subject lines that earn opens without tripping spam filters or sounding desperate.
Agency: [AGENCY_NAME] — [SERVICES]
Angle / offer: [OFFER]
Prospect list (CSV with signals): [PROSPECT_CSV]
Tone reference (a subject line that worked recently): [REFERENCE_SUBJECT]
For each prospect, generate ONE subject line (3-7 words) that references a specific detail from their row.
- 3-7 words. Lowercase preferred unless a proper noun is involved.
- MUST contain a specific noun from the row (a brand, a product, a hire, a metric, a page). Generic patterns ("quick question", "{{first_name}}, idea for [company]") are banned.
- No emojis, no all-caps, no "RE:" / "FW:" fakery.
- No promises ("3x your traffic"), no urgency tricks ("last chance").
- If row has no specific noun beyond company name, output: "SKIP — no subject hook".
- Match the cadence of [REFERENCE_SUBJECT] in length and tone.
Prospect: [name] @ [company]
Hook noun: [the specific word/phrase]
Subject: [3-7 word subject line]
Or:
Prospect: [name] @ [company]
SKIP — no subject hook
End with: "Subjects: X | Skipped: Y".Variables
- [AGENCY_NAME] — Your agency
- [SERVICES] — Services
- [OFFER] — Campaign offer
- [PROSPECT_CSV] — Enriched prospect rows
- [REFERENCE_SUBJECT] — A subject line you've seen perform well — sets the tone
Example input
AGENCY_NAME: Northpoint Digital SERVICES: paid social OFFER: free 1-page Meta ad teardown REFERENCE_SUBJECT: "latchpad's pricing page" PROSPECT_CSV: name,company,signal Sara Chen,Latchpad,"runs Meta ads visible in Ad Library — 4 active creatives" Mike Ortiz,Brillo,"" Priya Shah,Quotient HR,"hired Director of Content March 2026"
Example output
Prospect: Sara Chen @ Latchpad Hook noun: 4 active Meta creatives Subject: latchpad's 4 active creatives Prospect: Mike Ortiz @ Brillo SKIP — no subject hook Prospect: Priya Shah @ Quotient HR Hook noun: new content director Subject: quotient's new content hire Subjects: 2 | Skipped: 1
Pro tips
- Lowercase subjects often outperform Title Case in B2B — they look like a colleague wrote them.
- Pair this prompt with the opener prompt — same hook in both subject and opener doubles the 'they read me' signal.
- Test SKIP rows with a different angle (e.g., role-based) rather than forcing a fake hook.
Works with
ClaudeChatGPTGemini
Done with prompts? Time to install the system
Book a STAOS callRelated prompts