Create emails with Launchpad — prompting best practices

If emails generated by Launchpad require structural fixes, tone corrections, or missing elements before they are ready to send, the prompt is usually the root cause. This guide covers seven practices to specify upfront — reducing manual rework and getting production-ready output from the first draft.

Start here: configure Account Instructions first

Configure Account Instructions in Launchpad settings before writing your first email prompt. This injects standing rules — shared headers, footers, brand colors, and structural constraints — into every Launchpad conversation automatically. You never need to repeat them in individual prompts.

For setup, see the Account Instructions section in the Launchpad interface walkthrough.

1. Use exact reference language, not approximation language

Approximation language — for example, "...like [template name]" — signals inspiration, not structure. Launchpad interprets reference instructions very literally. Small wording changes produce very different outputs.

Do: "Maintain structure, style, and color palette from @[template name] exactly as-is — replace only the content below." Avoid: "Create a new email based off the designs like [template name]."

Use the table below as a translation guide.

Reference language: translation key

Prompt phrasing What Launchpad does Risk
No reference given Infers branding from top templates of the same type in your account 🟡 Medium — branding consistent, structure may drift
"...like [template name]" Borrows color and font; ignores layout structure 🔴 High — major structural rework required
"Use [name] as reference" Extracts branding and style only — colors, fonts, tone 🟡 Medium — layout still needs manual fixes
"Maintain structure, style, and color palette from [name] exactly as-is" Full structural replication with targeted content substitution 🟢 Low — only content changes needed
"Match the shared asset structure of the other emails in this campaign" Scans sibling templates in the same campaign and infers structure 🟢 Low — best when adding to an existing journey
@mention the template directly References the exact template — removes name-matching ambiguity 🟢 Lowest — use whenever possible

No reference available? Add: "Do not add any sections or structural elements beyond what is described below." This prevents Launchpad from making its own layout decisions.

2. Configure universal elements once using Account Instructions

Any element that appears in every email — header, footer, promo bar, nav bar, brand rules — belongs in Account Instructions, not in individual prompts. Repeating these per prompt is unnecessary overhead.

Do: Add standard headers, footers, brand hex values, CTA conventions, and guardrails to Account Instructions once. Avoid: Repeating structural rules and brand constraints at the start of every prompt.

What to configure:

  • Standard header, footer, and promo bar — names, positions, and any required HTML wrappers (for example, a centered <table> with max-width: 600px)
  • Brand colors — primary, accent, and hierarchy hex values
  • CTA button styling conventions
  • Navigation bar structure and style
  • Standing guardrails — for example, no emojis in HTML, dynamic copyright year using {{ 'now' | date: "%Y" }}

Also, define the sequence your assets appear in — order matters. Launchpad will place assets where it infers they belong if no order is specified, and getting it wrong requires full layout restructuring to fix.

If you use a reference template (best practice 1), Launchpad extracts shared assets directly — no need to list them in the prompt.

3. Always include exact CTA URLs

Do not rely on Launchpad to infer destination URLs. If URLs are not provided, Launchpad will guess — and will choose incorrectly.

Do: Provide the exact canonical URL for every CTA. Map each URL to its section if the email has multiple CTAs. Avoid: Leaving URLs unspecified or describing the destination in general terms.

If specific image assets are required, include their CDN URLs in the prompt. Without them, Launchpad may use placeholder images.

4. Define tone and objective before generating content

Without guidance, Launchpad defaults to your account-level brand voice. If that voice is authoritative but the email needs to be warm, urgent, or conversational, the subject line and body copy will require rework. Specify tone and objective upfront — Launchpad will generate the subject line, preheader, and copy from them.

Do: Specify objective (awareness, conversion, trust-building, urgency), tone register, audience context, and key stats to include. Let Launchpad generate the subject line and copy. Avoid: Writing the subject line yourself in the first prompt, or leaving tone unspecified.

If the output needs adjustment, iterate in the same conversation. Override specific elements only when you have a concrete requirement.

5. Label reference data separately from content

When a prompt includes research, raw data, or background documents alongside a content brief, Launchpad has to infer what to use and what to ignore. Without clear labels, it may mix source language into body copy, overshoot the intended length, or miss specific figures entirely.

Do: Label each section of your prompt — FOR REFERENCE ONLY, Stats — use these numbers only, Body copy brief — so Launchpad knows its purpose. Avoid: Pasting a research dump and a content brief together with no distinction between them.

Three labels to use:

  • FOR REFERENCE ONLY — background text Launchpad draws context from, but does not copy verbatim into the email
  • Stats — use these numbers only — specific figures for a statistics section; list only what should appear
  • Body copy brief — the tone, angle, and specific facts to write from; this is the active instruction

6. Specify personalization explicitly — in both directions

Personalization requires explicit direction both when you want it and when you don't. Find your attribute keys in your Blueshift account schema before writing the prompt.

⚠ If you don't specify, Launchpad will decide

Launchpad may independently add conditional Liquid logic — {% if user.attribute == 'value' %} — based on its own inference of your prompt. This is technically valid but may not be what you intended. Always state explicitly whether personalization applies.

Do: Specify the attribute, logic, and asset for each personalization variant. Or explicitly state that no conditional logic should apply. Avoid: Leaving personalization intent ambiguous — Launchpad will make its own decision.

When you want conditional personalization:

Find the relevant attribute key in your account schema, then specify the attribute, logic, and exact asset for each variant. If the reference template already uses location or behavioral personalization, explicitly tell Launchpad to carry it over — it will not do this automatically.

Personalize the hero image based on [your_attribute_name]:
  - If value is '[A]' → use this image: [Image CDN URL]
  - All other values (default) → use this image: [Default Image CDN URL]

When you do not want conditional personalization:

Use this single image as the hero: [CDN URL].
Do not apply conditional logic — all users must see the same image.

Personalized preheaders: By default, Launchpad sets the preheader as a static string. For per-segment preheader text, specify this explicitly:

Include a personalized preheader in a hidden HTML div at the top of the body.
Use {{ user.firstname }} and {{ user.last_location_state }} where available,
with appropriate fallbacks for unknown values.

7. Avoid overstatements in claims and statistics

Launchpad defaults to confident, assertive language. For regulated or high-accuracy contexts — finance, insurance, healthcare, or editorial content — the default output may require legal or accuracy correction. Instruct Launchpad to qualify claims upfront.

Do: Instruct Launchpad to use "up to," "may," "sometimes," and "could" for statistics and product claims. Anchor statements to their source where required. Avoid: Letting Launchpad default to absolute language — "always," "best," "guaranteed," "typically" — for claims that require qualification.

Default (avoid) Qualified alternative (use instead)
"typically 70% to 90%" "sometimes from 70% to 90%"
"the best plans cover" "top-rated plans may cover"
"you will save up to $X" "you could save up to $X"

Prompt examples by scenario

Use these as starting templates — replace placeholders with your own references, content, and URLs.

Create a new email from a reference template

Create a new email: [Template name].

Use @[Reference template name] as the structural reference. Extract and replicate its layout exactly — shared assets, section order, CTA styling, nav bar, and spacing. Replace only the content listed below. Do not add any sections not present in the reference.

Objective: [e.g., drive conversions for a limited-time offer].
Tone: [e.g., clear, direct, benefit-focused].
Audience: [brief description].

CTA:
  Primary CTA text: "[Button label]"
  Primary CTA URL: https://www.example.com/your-path

Content brief:
  - Headline: [what to communicate]
  - Body: cover [angle 1] and [angle 2]
  - Include one supporting proof point: [stat or trust signal]

Personalization:
  - Use {{ user.firstname }} in subject and opening line

Constraints:
  - Keep copy concise
  - Do not use emojis

Add an email to an existing journey

Create a new email: [Template name].

Match the shared asset structure, navigation style, and CTA patterns of the other emails in [Campaign or journey name]. Maintain consistency with existing templates. Do not introduce new layout patterns.

Objective: [e.g., re-engage users who have not interacted recently].
Tone: [e.g., friendly, slightly urgent, encouraging].
Audience: [brief description].

CTA:
  Primary CTA text: "[Button label]"
  Primary CTA URL: https://www.example.com/your-path

Content brief:
  - Acknowledge [the user's situation] without blame
  - Highlight one key benefit of [returning / acting now]
  - Close with a clear, simple action

Personalization:
  - Use {{ user.firstname }} in opening line
  - Reference [relevant attribute] if available

Constraints:
  - Keep structure aligned with sibling emails
  - Do not add sections not present in the existing journey

Create an email using research or data

Create a new email: [Template name].

Use @[Reference template name] as the structural reference. Extract and replicate the layout exactly. Do not introduce new sections.

Objective: build trust using data-backed proof points.
Tone: [e.g., informative, confident, but not overly technical].
Audience: [brief description].

CTA:
  Primary CTA text: "[Button label]"
  Primary CTA URL: https://www.example.com/your-path

Body copy brief (write fresh from this brief — do not copy from reference data):
  - Lead with one key insight from the data
  - Translate findings into clear user benefits
  - Keep explanation simple and skimmable

Stats — use these numbers only:
  [Stat A] | [Stat B] | [Stat C]

Personalization:
  - Use {{ user.firstname }} in opening line if available

Constraints:
  - Do not copy language from the reference data section
  - Use only the stats listed above
  - Use hedged language for all statistics: "up to," "may," "sometimes"
  - Keep content non-technical

The following text is FOR REFERENCE ONLY — use it to understand context and extract the stats listed above. Do not use any other part of it as email copy:
[PASTE SOURCE MATERIAL / RESEARCH / METHODOLOGY HERE]

Create a highly personalized email

Create a new email: [Template name].

Use @[Reference template name] as the structural reference. Extract and replicate the layout exactly. Maintain consistency with existing templates.

Objective: increase engagement through relevant, personalized messaging.
Tone: [e.g., helpful, contextual, user-focused].
Audience: returning users with prior activity.

CTA:
  Primary CTA text: "[Button label]"
  Primary CTA URL: https://www.example.com/your-path

Content brief:
  - Reference the user's [past interaction or behavior]
  - Highlight one relevant benefit or recommendation
  - Keep messaging specific but concise

Personalization:
  - Use {{ user.firstname }} in subject and opening line
  - Reference {{ user.[attribute_name] }} in body copy
  - If available, use [behavior or preference attribute] to tailor messaging

Constraints:
  - Do not invent personalization fields
  - Use only the attributes listed above
  - Ensure messaging reads naturally if attributes are unavailable

Build an email from scratch with no reference template

Create a new email: [Template name].

No reference template is available. Build the layout from the structure described below exactly — do not add any sections or elements not listed here.

Structure (build exactly this, nothing more):
  1. [Promo or unsub bar] — very top, before the header
  2. [Header shared asset name]
  3. Nav bar: [background color], [border style], links: [link 1 | link 2 | link 3]
  4. Hero section: full-width image [CDN URL] with headline overlay and CTA button
  5. [Content section description — e.g., two-column benefit cards]
  6. Stats bar: [background color], [Stat A] | [Stat B] | [Stat C]
  7. Single CTA button
  8. [Footer shared asset name], centered in a 600px-constrained table

Objective: [e.g., awareness, conversion, trust-building].
Tone: [e.g., reassuring and practical].
Audience: [brief description].

CTA:
  Primary CTA text: "[Button label]"
  Primary CTA URL: https://www.example.com/your-path

Personalization:
  - Open with {{ user.[attribute] | default: '[fallback text]' }}
  - [Any additional personalization or behavioral variant]

Constraints:
  - Do not add any sections or elements beyond the structure above
  - Do not use emojis
  - Use hedged language for all statistics and product claims

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.