本指南涵盖你在 ColdSend 中撰写营销活动邮件文案时可以用到的全部语法、变量和功能。
目录
基础变量
变量让你可以用潜客信息、发件人信息和营销活动数据来个性化邮件。所有变量的格式都是 {{variable_name}}。
潜客变量
| 变量 | 说明 | 输出示例 |
|---|---|---|
{{first_name}} |
潜客的名 | "John" |
{{last_name}} |
潜客的姓 | "Doe" |
{{email}} |
潜客的邮箱地址 | "john@example.com" |
{{company}} |
潜客所在公司名称 | "Acme Inc" |
{{full_name}} |
潜客的全名 | "John Doe" |
发件人变量
| 变量 | 说明 | 输出示例 |
|---|---|---|
{{sender.name}} |
发件人姓名 | "Jane Smith" |
{{sender.email}} |
发件人邮箱 | "jane@company.com" |
{{sender.signature}} |
发件人的 HTML 签名 | <div>...</div> |
{{sender.signature_text}} |
发件人的纯文本签名 | "Best regards,\nJane" |
营销活动变量
| 变量 | 说明 | 输出示例 |
|---|---|---|
{{campaign_name}} |
营销活动名称 | "Q1 Outreach" |
自定义字段
你为潜客添加的任何自定义字段都可以作为变量使用。例如,如果你有一个名为 job_title 的自定义字段,可以这样使用:
{{job_title}}
使用示例:
Hi {{first_name}},
I noticed you're working as {{job_title}} at {{company}}. I thought you might be interested in...
Best regards,
{{sender.name}}
Liquid 条件逻辑
Liquid 语法让你根据变量是否存在或是否满足特定条件来展示不同内容。对于打造能适配每位收件人的个性化邮件,这非常有用。
基础 If 语句
仅在变量存在或为真时展示内容:
{{#if first_name}}
Hi {{first_name}},
{{else}}
Hi there,
{{/if}}
Unless 语句
仅在条件为假时展示内容(与 if 相反):
{{#unless company}}
We'd love to learn more about your organization.
{{/unless}}
这段文本只在 company 为空或不存在时才会展示。
Else If 语句
多个条件分支:
{{#if job_title contains "Manager"}}
Dear Hiring Manager,
{{else if job_title contains "Director"}}
Dear Director,
{{else}}
Dear Team Member,
{{/if}}
比较运算符
你可以在条件中使用多种比较运算符:
| 运算符 | 说明 | 示例 |
|---|---|---|
== |
等于 | {{#if company == "Acme Inc"}} |
!= |
不等于 | {{#if company != "Competitor"}} |
> |
大于 | {{#if employees > 100}} |
< |
小于 | {{#if employees < 50}} |
>= 或 gte |
大于或等于 | {{#if revenue >= 1000000}} |
<= 或 lte |
小于或等于 | {{#if budget <= 5000}} |
contains |
包含子串 | {{#if job_title contains "Manager"}} |
empty |
判断是否为空 | {{#if company == empty}} |
字符串比较
{{#if company == "Google"}}
We admire your work at Google!
{{/if}}
{{#if job_title contains "CEO"}}
As the CEO, you understand...
{{/if}}
数值比较
{{#if employees > 100}}
With over 100 employees, you understand scaling...
{{/if}}
{{#if revenue < 1000000}}
Early-stage companies like yours face unique challenges...
{{/if}}
空值判断
{{#if first_name == empty}}
Hi there,
{{else}}
Hi {{first_name}},
{{/if}}
逻辑运算符:AND / OR
组合多个条件:
{{#if first_name and company}}
Hi {{first_name}} from {{company}},
{{/if}}
{{#if job_title contains "Manager" or job_title contains "Director"}}
Dear Leader,
{{/if}}
嵌套条件
你可以在 if 块中嵌套其他 if 块:
{{#if first_name}}
Hi {{first_name}},
{{#if company}}
It's great to connect with someone from {{company}}.
{{/if}}
{{else}}
Hi there,
{{/if}}
用 Spintax 制造内容变化
Spintax 让你为邮件内容创建多个版本。每位收件人会看到不同的版本,这有助于提升送达率和互动率。
基础 Spintax
使用竖线符号 | 分隔各个选项:
{{Hi|Hello|Hey}} {{first_name}},
这会随机展示以下之一:
- "Hi John,"
- "Hello John,"
- "Hey John,"
嵌套 Spintax
你可以在 Spintax 中嵌套 Spintax,获得更多变化:
{{Hi|Hello|Hey}} {{there|friend|champion}},
这会生成 9 种可能的组合(3 × 3)。
带变量的 Spintax
在 Spintax 中嵌入变量:
{{I wanted to|I'm reaching out to|Just thinking about}} connect with you{{ today|this week}}.
Spintax 最佳实践
- 保持自然:所有变体读起来都应自然流畅
- 不要过度使用:每个 Spintax 有 2-4 个选项通常就够了
- 测试可读性:确保所有组合都说得通
- 有策略地使用:重点放在开场白、CTA 和结尾敬语上
示例:
{{I hope this email finds you well|Hope you're having a great week|Trust you're doing well}}.
{{Are you free|Do you have time}} for a {{quick|brief}} call {{this week|next week}}?
{{Best regards|Thanks|Cheers},
{{sender.name}}
动态时间变量
动态变量会根据邮件发送时的时间和日期自动调整。
一天中的时段
{{dn_time_of_day}}
返回值:
- "morning"(中午 12 点之前)
- "afternoon"(12 点至 15 点)
- "evening"(15 点之后)
示例:
Good {{dn_time_of_day}} {{first_name}},
可能变成:
- "Good morning John,"
- "Good afternoon John,"
- "Good evening John,"
星期
{{dn_day_of_week}}
{{dn_day_name}}
两者都会返回完整的星期名称:"Monday"、"Tuesday"、"Wednesday" 等。
示例:
Happy {{dn_day_of_week}}!
动态日期
使用 {{dn_date}},配合偏移量和格式参数:
基础语法
{{dn_date "offset" "format"}}
偏移量格式
天数偏移:
{{dn_date "2 days from now"}}
{{dn_date "10 days from now"}}
周数偏移:
{{dn_date "2 weeks from now"}}
紧凑格式:
{{dn_date "2Days"}}
{{dn_date "2Days ago"}}
{{dn_date "3Weeks"}}
{{dn_date "1Month"}}
{{dn_date "1Year"}}
日期格式标记
| 标记 | 输出 | 示例 |
|---|---|---|
MMMM |
完整月份名称 | "January" |
MMM |
月份简称 | "Jan" |
MM |
两位月份 | "01" |
M |
月份数字 | "1" |
YYYY |
四位年份 | "2024" |
YY |
两位年份 | "24" |
dddd |
完整星期名称 | "Monday" |
ddd |
星期简称 | "Mon" |
DD |
两位日期 | "01" |
D |
日期数字 | "1" |
Do |
序数日期 | "1st"、"2nd"、"3rd" |
HH |
24 小时制 | "14" |
H |
24 小时制,无前导零 | "14" |
hh |
12 小时制 | "02" |
h |
12 小时制,无前导零 | "2" |
mm |
分钟 | "30" |
ss |
秒 | "45" |
A |
大写 AM/PM | "AM"、"PM" |
a |
小写 am/pm | "am"、"pm" |
示例
{{dn_date "2 days from now" "MMMM Do, YYYY"}}
→ "January 15th, 2024"
{{dn_date "1 week from now" "ddd, MMM D"}}
→ "Mon, Jan 15"
{{dn_date "3Days" "YYYY-MM-DD"}}
→ "2024-01-18"
{{dn_date "next meeting is scheduled for {dn_date \"2 days from now\"} at 2 PM"}}
组合动态变量
{{dn_day_name}} {{dn_time_of_day}}
Good {{dn_time_of_day}}! Today is {{dn_day_of_week}}, {{dn_date "0" "MMMM Do"}}.
动态随机值
为每封邮件动态生成随机数字、字符串和 UUID。这些在创建唯一参考码、工单 ID、会话令牌等场景中非常有用。
语法参考
| 变量 | 说明 | 输出示例 |
|---|---|---|
{{dn_random_number "min" "max"}} |
min 与 max 之间的随机整数 | "42" |
{{dn_random_string "length"}} |
指定长度的随机字母数字字符串 | "a3Kp9xQm" |
{{dn_uuid}} |
随机 UUID(无参数) | "f47ac10b-58cc-4372-a567-0e02b2c3d479" |
随机数字
在指定范围内生成随机整数:
{{dn_random_number "1" "100"}}
输出 1 到 100 之间的随机整数(例如 "42")。
示例 —— 唯一折扣码:
Use code SAVE{{dn_random_number "1000" "9999"}} at checkout.
可能生成:"Use code SAVE4827 at checkout."
随机字符串
生成随机字母数字字符串:
{{dn_random_string "8"}}
输出长度为 8 的随机字母数字字符串(例如 "a3Kp9xQm")。
示例 —— 工单 ID:
Your support ticket ID is {{dn_random_string "10"}}.
可能生成:"Your support ticket ID is xK7mP2qR9v."
UUID
生成全局唯一标识符:
{{dn_uuid}}
输出标准 UUID(例如 "f47ac10b-58cc-4372-a567-0e02b2c3d479")。
示例 —— 会话参考号:
Session: {{dn_uuid}}
可能生成:"Session: 550e8400-e29b-41d4-a716-446655440000"
使用示例
Your reference code is {{dn_random_number "1000" "9999"}}
Ticket ID: {{dn_random_string "10"}}
Session: {{dn_uuid}}
签名变量
在模板中动态添加邮件签名。
HTML 签名
用于 HTML 邮件模板:
{{signature}}
或
{{sender.signature}}
纯文本签名
用于纯文本邮件:
{{signature_text}}
或
{{sender.signature_text}}
重要说明:
- 只有当你使用某个签名变量时,系统才会去获取签名
- 如果未配置签名,这些变量会返回空字符串
- 签名支持团队级默认签名和针对单个收件箱的签名
HTML 模板示例:
<html>
<body>
<p>Hi {{first_name}},</p>
<p>Great connecting with you!</p>
<p>{{signature}}</p>
</body>
</html>
纯文本模板示例:
Hi {{first_name}},
Great connecting with you!
{{signature_text}}
完整示例
下面是一个综合运用了多种功能的完整邮件模板:
{{#if first_name}}
Hi {{first_name}},
{{else}}
Hi there,
{{/if}}
{{#if company}}
I noticed you're at {{company}} - impressive!
{{/if}}
{{Good morning|Good afternoon|Good evening}}! {{I hope|Trust}} you're having a {{great|wonderful|fantastic}} {{dn_day_of_week}}.
{{#if job_title contains "Manager"}}
As a {{job_title}}, you probably understand the challenges of...
{{else if job_title contains "Director"}}
In your role as {{job_title}}, you likely face...
{{else}}
In your position, you likely face...
{{/if}}
{{I wanted to reach out|I'm contacting you|Just thinking}} about how we could {{help|assist|support}} {{company}} achieve...
{{Are you available|Do you have time}} for a {{quick|brief|short}} call {{next week|in the coming days}}?
{{Best regards|Thanks|Cheers|Talk soon}},
{{sender.name}}
{{sender.title}}
{{signature}}
P.S. Our next availability is {{dn_date "3 days from now" "dddd, MMMM Do"}} at 2 PM. Use reference code {{dn_random_number "1000" "9999"}} when booking.
Session: {{dn_uuid}} | Ticket: {{dn_random_string "10"}}
这个模板做了什么:
- ✅ 根据是否有名字来个性化问候语
- ✅ 仅在提供了公司信息时才提及公司
- ✅ 动态使用一天中的时段作为问候语
- ✅ 生成 3×3×3 = 27 种 Spintax 变体
- ✅ 根据职位展示不同内容
- ✅ 在跟进内容中嵌入动态日期
- ✅ 用
dn_random_number生成随机参考码 - ✅ 用
dn_uuid添加唯一会话 ID - ✅ 用
dn_random_string生成随机工单 ID - ✅ 自动添加签名
最佳实践
1. 个性化
- 使用
{{first_name}}和{{company}}让邮件更有个人色彩 - 添加与你的外联场景相关的自定义字段
- 用条件逻辑优雅地处理缺失数据
2. 内容变化
- 对开场白、CTA 和结尾敬语使用 Spintax
- 每个 Spintax 块创建 2-4 个变体
- 避免过于复杂的嵌套 Spintax
3. 条件逻辑
- 始终提供
{{else}}兜底内容 - 否定条件用
{{#unless}} - 保持条件简单易读
4. 动态变量
- 用
{{dn_time_of_day}}生成应景的问候语 - 引用未来日期来安排时间
- 安排发送时间时考虑收件人所在时区
5. 测试
在启动营销活动之前:
- 预览邮件:使用预览功能查看邮件的实际渲染效果
- 测试所有变量:确保它们都能正确填充
- 检查 Spintax:确认所有变体读起来都自然
- 验证 Liquid:确认条件按预期生效
- 测试签名:确保签名正确显示
6. 常见错误
❌ 未闭合的 Liquid 标签:
{{#if first_name}}
Hi {{first_name}}
<!-- Missing {{/if}} -->
✅ 正确写法:
{{#if first_name}}
Hi {{first_name}}
{{/if}}
❌ 无效的 Spintax(只有一个选项):
{{Hello}} <!-- This will error -->
✅ 正确写法:
{{Hello|Hi|Hey}}
❌ Liquid 标签不匹配:
{{#if first_name}}
Hi {{first_name}}
{{/unless}} <!-- Wrong closing tag -->
✅ 正确写法:
{{#if first_name}}
Hi {{first_name}}
{{/if}}
❌ 空条件:
{{#if }} <!-- Empty condition -->
✅ 正确写法:
{{#if first_name}}
7. 变量命名
- 使用小写字母加下划线:
{{first_name}} - 点号表示法:
{{sender.name}} - 自定义字段应使用合法的变量名
- 变量名中避免空格和特殊字符
速查表
变量
{{first_name}}, {{last_name}}, {{email}}, {{company}}, {{full_name}}
{{sender.name}}, {{sender.email}}, {{sender.signature}}, {{sender.signature_text}}
{{campaign_name}}
{{custom_field_name}}
Liquid 逻辑
{{#if variable}}...{{/if}}
{{#unless variable}}...{{/unless}}
{{#if condition}}...{{else}}...{{/if}}
{{#if condition1}}...{{else if condition2}}...{{else}}...{{/if}}
运算符
==, !=, >, <, >=, <=, gte, lte, contains, empty
and, or
Spintax
{{option1|option2|option3}}
动态变量
{{dn_time_of_day}} → morning/afternoon/evening
{{dn_day_of_week}} → Monday, Tuesday, etc.
{{dn_day_name}} → Monday, Tuesday, etc.
{{dn_date "offset" "format"}} → formatted date
{{dn_random_number "min" "max"}} → random integer
{{dn_random_string "length"}} → random alphanumeric string
{{dn_uuid}} → random UUID
签名
{{signature}}, {{signature_text}}
{{sender.signature}}, {{sender.signature_text}}
需要帮助?
如果在邮件模板上遇到问题:
- 用内置校验器检查语法
- 用预览功能测试渲染效果
- 查阅本指南确认语法正确
- 联系支持团队获取帮助
祝你写邮件愉快!📧