Subject Line Prompt Template: How to Write Better Email Subject Lines with AI
This guide breaks down a proven AI prompt template for writing high-converting email subject lines, from beginner fills to advanced variations.
This guide breaks down a proven AI prompt template for writing high-converting email subject lines, from beginner fills to advanced variations.
Writing subject lines is one of those tasks that looks simple until you actually sit down to do it. You stare at a blank line, type something generic like "Check out our new offer," and immediately know it won't work. If you've ever used AI to help with email copywriting, you've probably run into a prompt template like this one:
Act as an experienced email copywriter. Write 8 subject lines for the following campaign.
Audience: {{who they are, what stage they're in}}
Offer: {{what's inside the email}}
Emotion to trigger: {{curiosity / urgency / benefit / trust}}
Tone: {{describe your brand voice in 3-5 words}}
Constraints: Under {{X}} characters, {{emoji rules}}, avoid these words: {{list}}
Label each subject line with the emotional angle it uses.
This template looks simple on the surface, but there's a lot of nuance in how you fill it out. Two marketers can use the exact same template and get wildly different results, because the quality of the output depends almost entirely on the quality of the input. This guide walks through the anatomy of the template, how to fill in each variable well, and how to level it up from a beginner tool into a professional-grade copywriting system.
This template works with any major AI writing tool, including ChatGPT, Claude, and Gemini. The structure matters more than the specific model you use.
Before diving into variables, it helps to understand why this template performs better than a plain, freeform request like "write me some subject lines."
The template works because it forces four things that most people forget when prompting AI:
The final instruction (label each subject line with its emotional angle) is what turns this from a "generate text" prompt into a "generate a strategic asset" prompt. It forces the AI to explain its reasoning, which makes it much easier for you to pick the right line for the right test.
If you only remember one thing from this guide, remember this: the template's power comes from forcing specificity. Vague variables produce vague subject lines, no matter how good the AI model is.
The five variables in the template aren't interchangeable filler text. Each one pulls the output in a different direction, and small wording changes inside a variable can shift the entire tone of the results. Here's what each one is really doing and how to vary it.
| Variable | What It Controls | Example Variations |
|---|---|---|
| Audience | Who the AI imagines reading the email, and what mental state they're in | "New trial users on day 3," "Cart abandoners from last week," "VIP customers who haven't opened in 60 days" |
| Offer | The actual content or value inside the email | "20% discount code," "Free downloadable checklist," "Invite to a live webinar" |
| Emotion | The psychological trigger the subject line should lean on | Curiosity, urgency, benefit, trust, fear of missing out, social proof |
| Tone | The brand voice guardrails | "Playful, witty, casual," "Direct, no-nonsense, confident," "Warm, supportive, human" |
| Constraints | The practical rules that keep output usable | Character count, emoji on/off, banned words like "free" or "buy now" |
Changing the audience variable alone can transform the entire batch of subject lines, even if everything else stays the same. A subject line written for "new trial users on day 3" should sound exploratory and helpful. The same offer written for "customers who haven't opened in 60 days" needs a completely different emotional entry point, usually something closer to a gentle nudge or a light callout.
A common mistake is writing the audience as a demographic ("women aged 25-40") instead of a lifecycle stage ("first-time buyers who checked out one week ago"). Lifecycle stage is almost always more useful for subject line writing than demographics.
Not every campaign needs the full template. Here are three tiers you can use depending on how much time and context you have.
Beginner tier uses only the core four variables with loose, short answers. This is fine for quick internal tests or low-stakes campaigns.
Intermediate tier adds constraints and asks for labeled emotional angles, matching the original template exactly as written above.
Advanced tier adds a competitive layer, a persona backstory, and a request for a rationale behind each line. This tier is worth using for high-stakes sends like product launches or big promotional pushes.
| Tier | Variables Used | Best For |
|---|---|---|
| Beginner | Audience, offer, emotion, tone | Quick drafts, internal brainstorming |
| Intermediate | Full template as written | Standard campaign sends, A/B tests |
| Advanced | Full template plus persona, competitor context, and rationale | Product launches, high-revenue campaigns |
Here's what the advanced tier looks like in practice:
Act as an experienced email copywriter who specializes in {{industry}} campaigns.
Audience: {{who they are, what stage they're in, and what objection they likely have}}
Offer: {{what's inside the email}}
Emotion to trigger: {{primary emotion}}, with {{secondary emotion}} as backup
Tone: {{brand voice in 3-5 words}}
Competitive context: {{what similar brands usually say in this situation, so you can avoid sounding the same}}
Constraints: Under {{X}} characters, {{emoji rules}}, avoid these words: {{list}}
For each subject line, include the emotional angle and a one-sentence rationale for why it would work on this audience.
Start with the intermediate tier for most campaigns. Only move to advanced when the stakes are high enough to justify the extra setup time.
The template is only as good as what you type into the blanks. Below are fill rules for each variable, based on what actually improves output quality.
Audience fill rules: Describe a moment, not just a label. Instead of "existing customers," write "customers who bought once, six months ago, and haven't returned." The more specific the moment, the more specific the emotional hook the AI can find.
Offer fill rules: Name the concrete thing inside the email, not the marketing wrapper around it. "A 15-minute video walkthrough of the new dashboard" is better than "helpful content."
Emotion fill rules: Pick one primary emotion and, if useful, one secondary emotion. Don't list four emotions at once. Trying to trigger curiosity, urgency, benefit, and trust simultaneously usually produces a mushy, unfocused subject line.
Tone fill rules: Use adjectives a person could act out, like "warm," "blunt," "cheeky," or "formal." Avoid vague tone words like "professional," since almost every brand claims to be professional and it gives the AI nothing to differentiate on.
Constraints fill rules: Always include a character limit, since most inboxes truncate subject lines around 40 to 60 characters on mobile. Be explicit about emoji (allowed, banned, or limited to one). List specific banned words rather than a vague instruction like "avoid spammy language," since AI models interpret "spammy" inconsistently.
Character limits should account for preview text and sender name taking up space too. If your sender name is long, aim tighter than the inbox's technical limit.
One of the most useful things about this template is that it's built from swappable blocks. You can treat each line as a module and combine them based on what a campaign needs.
Save your constraint block (character limit, emoji rules, banned words) as a text snippet in your notes app. Reusing it across every prompt keeps your brand voice consistent without retyping it each time.
Seeing a weak version next to a strong version makes the fill rules much easier to internalize.
Write subject lines for a sale email.
Audience: past customers who bought once in the last 90 days but haven't returned. Offer: a 20% off code valid for 48 hours on their next order. Emotion to trigger: urgency, with a light benefit undertone. Tone: warm, direct, no hype. Constraints: under 45 characters, no emoji, avoid the words free, buy now, and limited time.
The weak version gives the AI almost nothing to work with, so it defaults to generic sale language like "Don't miss our big sale!" The strong version gives the AI a real person to write for, a real deadline, and real guardrails, which produces subject lines that sound like they came from a human who understands the customer.
| Element | Weak Prompt | Strong Prompt |
|---|---|---|
| Audience | Not specified | Lapsed customers, 90 days |
| Offer | Vague ("a sale") | 20% off, 48-hour window |
| Emotion | Not specified | Urgency with benefit undertone |
| Tone | Not specified | Warm, direct, no hype |
| Constraints | None | Character limit, no emoji, banned words listed |
Beyond the base template, you can build in a few quality checks that catch weak output before it ever reaches your inbox tool.
Ask the AI to flag any subject line that repeats a word already used in your last three campaigns, so you avoid fatigue. Ask it to mark which lines might trip spam filters, since certain words and excessive punctuation can hurt deliverability. Ask it to note which lines rely too heavily on one emotional angle if you notice all 8 options leaning the same direction, which sometimes happens even when you asked for a mix.
A quality control instruction you can add directly to the template: "If more than 5 of the 8 lines use the same emotional angle, revise so the batch is more evenly distributed across at least three angles."
This single line prevents a common failure where the AI technically follows instructions but gives you a batch that isn't actually useful for A/B testing, because all the options feel too similar to each other.
The real value of this template shows up once you realize it doesn't change structurally across use cases. Only the fills change.
| Use Case | Audience Fill | Offer Fill | Emotion Fill |
|---|---|---|---|
| Cart abandonment | Added item to cart, didn't check out in 24 hours | Reminder plus small discount | Urgency |
| Welcome series | Just signed up, hasn't made first purchase | Intro to brand story and bestsellers | Curiosity |
| Win-back campaign | No purchase in 6+ months | Personalized comeback offer | Trust |
| Product launch | Existing customers, high engagement | New product reveal | Curiosity plus benefit |
| Webinar invite | Leads who downloaded a related resource | Free live training | Benefit |
| Renewal reminder | Subscription expiring in 7 days | Renewal with loyalty perk | Urgency plus trust |
Once you have this library saved, writing a new campaign's prompt takes under a minute, because you're just picking the closest row and adjusting the specifics.
Even with a solid template, a few recurring mistakes show up often enough to call out directly.
Stacking too many emotions at once. Asking for curiosity, urgency, and trust all in one subject line usually produces a run-on line that tries to do too much and lands with none of it.
Skipping character limits. Without a limit, the AI defaults to writing full sentences that get cut off on mobile, hiding the actual hook.
Vague banned word lists. Saying "avoid spammy words" is inconsistent. Listing actual words like "free," "guaranteed," "act now," and "buy now" gives the AI a clear boundary.
Reusing the same audience description for every segment. Copy-pasting a generic "our customers" line across every campaign flattens the output and removes the specificity that makes this template work in the first place.
Not asking for the emotional label. Skipping this instruction turns the output into a random list instead of a strategic set you can test against a hypothesis.
Treating the first batch as final. The first 8 lines are a draft. The real value comes from the iteration loop described above.
If your subject lines still feel generic after fixing all of the above, the issue is usually the offer itself. No prompt template can make a boring offer sound exciting. Sometimes the fix isn't the copy, it's the offer.
This subject line prompt template earns its place in a copywriter's toolkit because it forces the kind of specificity that good subject lines actually require. The five variables (audience, offer, emotion, tone, and constraints) map directly to the decisions a human copywriter would make anyway. The difference is that writing them out explicitly, every single time, keeps the AI from defaulting to generic marketing language.
Start with the beginner tier if you're just getting comfortable with prompt writing, move to the intermediate tier for regular campaign work, and save the advanced tier for your highest-stakes sends. Build a small use-case library so you're never starting from a blank page, and treat every batch of 8 subject lines as a first draft rather than a finished product. With a bit of iteration, this template turns from a nice trick into a repeatable system for writing subject lines that actually get opened.