模板与邮件编辑器
模板是针对单个渠道的现成消息:邮件、Telegram 消息、SMS、Web Push、Webhook 等。同一个模板可以被旅程、群发以及档案卡片中的手动发送使用。变量会将客户姓名、订单金额等数据填入文本。
在菜单中打开用户互动 → 模板。所有角色都可以查看模板,“经理”及以上角色可以创建和修改模板。
创建模板
- 打开模板。右上角为项目中启用的每个渠道都提供了一个按钮,例如邮件或 Telegram。点击所需的按钮。
- 填写通用字段(见下表)。
- 填写内容模块。字段因渠道而异。邮件包括主题、预览文本(邮件列表中显示在主题旁的文字)、邮件编辑器或 HTML,以及纯文本版本。如果不填写纯文本版本,系统会根据 HTML 自动生成。
- 点击保存。每次保存后版本号都会递增(“版本 3”)。
| 字段 | 含义 |
|---|---|
| 名称 | 仅在界面中显示:模板、旅程和群发的列表中 |
| 渠道 | 在创建时选择,之后无法更改 |
| 订阅主题 | 例如 marketing 或 news。客户可以只退订该主题 |
| 事务性消息 | 发送时不检查订阅、频率和免打扰时段,但不会发往收件人已关闭的渠道:邮箱或号码不存在、机器人已被屏蔽。仅用于订单确认、密码重置等类似消息,参见事务性消息与级联发送 |

要删除模板,请点击列表中该模板所在行的垃圾桶图标。
变量
模板使用 Twig 语言编写。变量放在双大括号中。展开内容下方的变量模块,可以查看带示例的完整列表。
| 变量 | 填入的内容 |
|---|---|
profile.email、profile.phone、profile.user_id |
客户的标识符 |
traits.first_name 及其他 traits.* |
档案属性 |
event.name、event.properties.amount |
触发该消息的事件 |
context.data.*、context.nodes.* |
旅程数据:通过 API 进入时传入的数据,以及“Webhook”节点的响应 |
project.name、unsubscribe_url |
项目名称和退订链接 |
loyalty.points、loyalty.tier、loyalty.expiring、loyalty.expire_at、loyalty.referral_url |
会员积分计划中的账户:余额、等级、即将过期的积分及其日期、邀请链接 |
promo_code('welcome') |
顾客在优惠码池 welcome 中的优惠码:发送时发放,预览中显示示例 |
order.number、order.amount、order.tracking_url |
商店邮件中的订单:订单号、金额、物流追踪链接;带货币的金额写作 {{ order.amount|money(order.currency) }} |
product('SKU-1') |
邮件语言的目录商品:name、url、image、price、old_price、currency、available、stock,取发送时的数据(商品价格与库存) |
您好,{{ traits.first_name|default('朋友') }}!
{% if event.properties.amount > 5000 %}免运费。{% endif %}
模板在安全沙箱中执行。沙箱支持 if 条件、for 循环、set,date、min、max 函数,以及 default、date、upper、lower、capitalize、number_format、round、join、replace、striptags 等过滤器。如果变量不存在,会填入空字符串,因此请为重要位置设置 default。如果使用了被禁止的结构,保存时会出现“模板使用了被禁止的结构”错误。渲染后的消息不能超过 512 KB。
预览和测试发送
- 在预览面板中输入档案 ID、邮箱或 user_id,然后点击眼睛图标。如果留空,将使用最近活跃的档案数据。
- 对于邮件,可以在桌面端、手机和深色模式之间切换。
- 在测试发送面板中选择集成。填写您自己的地址或 chat id,否则消息将发送到档案的地址。点击发送测试:按钮下方会显示消息状态。
“经理”及以上角色可以进行测试发送。测试发送不检查订阅、频率和免打扰时段。预览中没有触发事件,因此 event.* 变量为空。如果您没有查看个人数据的权限,邮箱和电话会被脱敏。

语言版本
一个模板可以包含多种语言的版本。每位收件人都会收到其档案语言(language 属性)的版本;如果没有该版本,则收到主要版本。可选的语言在项目设置中设定。
- 在内容区块上方点击添加语言并选择语言。新版本以当前打开的版本为副本创建:布局、图片和链接都已就位,只需翻译文本。
- 使用语言按钮在版本之间切换。主要版本标有"主要"。
- 如果希望没有自己版本的收件人收到另一种语言,请打开该语言的版本并点击设为主要。删除版本会移除当前打开的版本。
- 点击保存。每个版本都会单独检查;有错误的版本会显示警告图标。
翻译草稿
无需从头手动翻译某个版本:打开该版本并点击翻译草稿。OneTrace.ru 会把主要版本翻译成当前打开标签页的语言,包括主题、预览文本、编辑器各模块的文本、纯文本版本,以及 SMS、推送和即时通讯的文本。{{ traits.first_name }} 之类的变量、链接、图片和排版保持不变。
草稿只会填入表单。请通读并修改措辞,然后点击保存。如果某个字段无法在不丢失变量的情况下翻译,它会保留源语言,OneTrace.ru 会显示这类字段的数量。如果该版本已与主要版本不同,替换前会先询问您。
每月可生成的草稿数量受套餐限制,参见套餐。如果您的安装未启用翻译,则不会显示该按钮。
版本的选择顺序:先是完全匹配的语言,然后是不含地区的语言(使用 pt-BR 的客户会收到 pt 版本),再然后是同一语言的其他变体。预览和测试发送显示当前打开的版本,变量 {{ language }} 包含所发送版本的语言。
邮件编辑器
在邮件模板的“邮件编辑器”字段中点击打开编辑器。如果模板中已有 HTML,编辑器会从头开始创建邮件,旧代码将在保存时被替换。适用于各种邮件客户端(包括 Outlook 和手机)的代码由 OneTrace.ru 在保存时自动生成。
画布右侧有三个选项卡:
- 添加区块:添加一个区块。它会放在所选区块之后,或放在邮件末尾的页脚之前。
- 区块设置:画布上所选区块的设置。区块可以上移、下移、拖动、复制和删除。
- 邮件:背景、邮件背景、文本和链接颜色、字体、邮件宽度(480–800 px)、内边距以及图片显示方式。
| 区块 | 用途 |
|---|---|
| 标题、文本 | 带格式和变量的文本,例如 {{ traits.first_name }} |
| 图片 | 来自媒体库的图片:替代文本、链接、宽度 10–100% |
| 按钮 | 文字、链接、颜色和圆角 |
| 分隔线、间距 | 线条和空白 |
| 分栏 | 2–3 栏,可包含标题、文本、图片、按钮和间距。在手机上,各栏会垂直堆叠 |
| 商品 | 来自推荐的商品:个性化、热门、“一起浏览”“相似”等。可显示 1 到 12 个商品,分 1–4 栏,并可带价格和按钮。如果没有匹配的商品,该区块不会出现在邮件中 |
| 订单 | 商店邮件中的订单:商品、金额、包裹物流追踪和地址。在不含订单的邮件中没有该区块 |
| HTML | 原样插入的自定义代码 |
| 页脚 | 文本和退订链接 |

“邮件”选项卡中的切换到 HTML 按钮会将邮件转换为普通代码。转换后无法再返回编辑器。
链接还是附件
| 链接(CDN) | 作为邮件附件 | |
|---|---|---|
| 邮件大小 | 较小 | 增加图片的大小 |
| 显示方式 | 打开邮件时加载图片。如果邮箱屏蔽图片,只显示替代文本 | 图片立即可见 |
默认方式在“邮件”选项卡的默认图片投递方式字段中设置。单张图片的方式可以在投递方式字段中更改。一封邮件的所有附件合计不超过 1 MB。如果部署中未配置公开链接,则只能使用附件。
导入现成的邮件
如果邮件已在其他服务中设计好,无需重新制作。在 模板 页面点击 导入邮件(AI):
- 选择 文件,上传从邮件客户端保存的邮件(
.eml)或.html页面;或选择 HTML 代码,粘贴邮件代码。 - 点击 导入。AI 处理邮件通常需要一分钟左右。
- 编辑器会打开一个新的邮件模板:邮件已拆分为编辑器模块,图片已复制到媒体库,收件人姓名替换为变量
{{ traits.first_name }},退订链接移入“页脚”模块。文本和链接保持与原邮件一致。 - 检查模板后点击 保存。保存之前模板并不存在。


如果邮件的部分内容未能转移,表单上方会显示列表:哪些图片未能复制、哪些模块被跳过。如果邮件无法拆分为模块,将作为单个“HTML”模块导入。跟踪像素和“在浏览器中查看”链接不会导入。
导入功能适用于“增长版”和“企业版”套餐;每月导入次数取决于套餐,详见 套餐。在“入门版”套餐中,按钮会显示从哪个套餐起可使用该功能。
媒体库
添加“图片”区块或点击选择图片时会打开媒体库。
- 上传支持不超过 10 MB 的 JPEG、PNG、GIF、WebP 和 AVIF。较宽的图片会缩小到 1200 px。WebP 和 AVIF 会被重新编码,因为并非所有邮件客户端都能显示这些格式。GIF 保持原样,包括动画。
- 重复上传同一文件不会产生副本。
- 模板中正在使用的图片无法删除,除非先将其从模板中移除。
- 图片占用的空间计入套餐限额。
