Liquid templating 让您能够使用高级逻辑创建个性化消息,例如根据客户位置显示不同内容,在数据缺失时使用备用文本,或动态格式化日期和价格。在电子邮件(Email)营销活动、短信(SMS)和推送通知中使用 Liquid。
开始之前
Liquid 模板适用于营销活动和自动化流程(Automation)– 电子邮件(Email)、短信(SMS)和推送通知均支持 Liquid 对象和筛选器。
发送前测试个性化 – 测试邮件显示原始 Liquid 标签 (
[[ contact.first_name ]])使用测试与预览 在编辑器中,并选择一个真实的联系人,以查看个性化内容填充。始终添加备用值 – 使用
| default: '文本' 以避免联系人数据缺失时出现空白。Omnisend 使用修改后的 Liquid 语法 – 替换 Shopify 的大括号
{{ }} 带方括号[ ]
💡 不熟悉个性化?在使用 Liquid 之前,请先从 标准个性化 开始。Liquid 适用于高级用例。
概览: 什么是 Liquid
Liquid 是由 Shopify 创建的一种开源模板语言。它让您能够使用三个元素将动态内容插入到消息中:
对象 – 输出联系人或订单数据的变量 (
[[ contact.first_name ]])标签 – 逻辑和控制流 (
[% if contact.country == 'France' %])筛选器 – 修改输出 (
[[ contact.first_name | capitalize ]]
Omnisend 使用 Liquid 的修改版:
对象:使用
[[ ]]{{ }} - 示例:[[ contact.first_name ]]标签:使用
[% %] 而不是{% %} - 示例:[% if contact.country == 'France' %]
💬 了解更多关于Liquid 在 Shopify 的文档中,并记住在 Omnisend 中用方括号替换大括号。
对象
对象是变量,可输出来自联系人资料、订单或您的账户设置的动态内容。对象总是用双层方括号括起来。
[[ contact.first_name ]]
可用对象组:
联系人属性:
[[ contact.variable ]] (name, 电子邮件(Email), location, custom properties)账户属性:
[[ account.variable ]] (店铺名称、网站、货币)订单属性:
[[ order.variable ]] (订单 ID, 总计, 商品) – 仅限自动化流程(Automation)工作流程购物车属性:
[[ cart.variable ]] (废弃购物车(Abandoned Cart)网址) – 仅限自动化流程(Automation)工作流程日期属性:
[[ current_date ]] (当前日、月、年)
查看下面的完整 对象参考表。
筛选器
过滤器改变 Liquid 对象的输出。筛选器由管道符 | 分隔。
示例:
[[ 'mywebsite.com/orders/' | append: order.order_id ]]
常用筛选器:
default – 添加数据缺失时的备用文本:
[[ contact.first_name | default: 'there' ]]首字母大写 – 将首字母大写:
[[ contact.city | capitalize ]]upcase – 转换为大写:
[[ contact.country | upcase ]]append – 在末尾添加文本:
[[ account.website | append: '/sale' ]]日期 – 格式化日期:
[[ current_date | date:'%B %d, %Y' ]] → "May 13, 2026"呼格 – 在支持的语言中调整名称为呼格形式:
[[ contact.first_name | vocative ]]
详细了解 Shopify 文档中的 Liquid 筛选器 – 请记住使用 Omnisend 的 [[ ]] 语法。
标签 (仅限自动化流程(Automation))
标签用于在消息中创建逻辑和控制流。标签被 [% %] 括号括起来,不产生任何可见文本。
示例:
[% if contact.first_name %] Hi [[ contact.first_name ]] [% endif %]
⚠️ 标签仅适用于 自动化流程(Automation) – 不适用于 Campaigns。了解更多关于 Shopify 文档中的 Liquid 标签。
常见用例
以下是一些有用的 Liquid 语法的常见用例:
个性化
Hi [[ contact.first_name ]], welcome to Omnisend!
输出:"Hi Sarah, welcome to Omnisend!"
💡 提示:此筛选器会自动将名称调整为支持语言中的呼格形式,使您的消息听起来更自然、更个性化。这可以通过使用以下方式实现:称呼式个性化:[[ contact.first_name | vocative ]]
个性化与备用
Hi [[ contact.first_name | default: 'there' ]], welcome to Omnisend!
输出(如果名字缺失):"Hi there, welcome to Omnisend!"
💡 为何使用备用方案?
如果联系人的资料缺少数据(例如,没有名字),个性化标签将显示空白。备用方案可以防止这种情况发生:
带后备值:
您好 [[ contact.first_name | default: 'there' ]] → "Hi there"无备用:
您好 [[ contact.first_name ]] → "您好 "
始终添加回退,以避免出现尴尬的空白区域。
消息中的变量插入
在以下位置插入 Liquid 变量:
电子邮件(Email)主题行:
别忘了您的购物车,[[ contact.first_name ]]!电子邮件(Email)正文:
您的订单总计:[[ order.total_price ]] [[ order.currency ]]短信(SMS)消息:
您好,[[ contact.first_name ]],您的订单 #[[ order.order_number ]] 已发货!推送通知:
[[ contact.first_name ]], 20% 折扣今日截止按钮链接:
[[ account.website ]]/orders/[[ order.order_id ]]
条件逻辑(仅限自动化)
使用条件语句根据联系人数据显示不同内容。
语言本地化
[% if contact.custom_properties.language == 'Spanish' %] Hola [[ contact.first_name ]]! [% elsif contact.custom_properties.language == 'French' %] Bonjour [[ contact.first_name ]]! [% else %] Hi [[ contact.first_name ]]! [% endif %]
基于位置的内容
[% if contact.country == 'UK' or contact.country == 'Ireland' %] Have you visited our newest flagship store in London? [% endif %]
格式设置
首字母大写
Hi [[ contact.first_name | capitalize ]]
输出:"Hi sarah" → "Hi Sarah"
追加自定义文本
[% assign campaign_destination = '/landing_page.html' %] [[ account.website | append: campaign_destination ]]
日期格式
Omnisend © [[ current_date | date:'%Y' ]]
输出: "Omnisend © 2026"
日期格式选项:
%d – 日 (13)%A – 星期几名称 (星期三)%m – 月份数字 (05)%B – 月份名称 (May)%Y – 年 (2026
对象参考表
联系人属性
下拉菜单标题 | 标签 | 值类型 | 描述 |
电子邮件(Email) |
| string | 联系人电子邮件(Email) |
姓名 |
| string | 联系人的名字 |
姓氏 |
| string | 联系人的姓氏 |
城市 |
| 字符串 | 联系人所在城市 |
国家/地区 |
| string | 联系人所在国家/地区 |
状态 | [[ contact.state ]] | string | 联系人状态 |
邮政编码 | [[ contact.postal_code ]] | 字符串 | 联系人邮政编码 |
退订链接 | [[ unsubscribe_link ]] | – | 联系人退订链接 |
偏好设置中心链接 |
| – | 联系人偏好设置链接 |
自定义属性 |
| object | 联系人的自定义属性 |
电话号码 |
| string | 联系人的电话号码 |
账户属性
下拉菜单标题 | 标签 | 值类型 | 描述 |
名称 |
| string | 账户名称 |
地址 |
| string | 账户地址 |
城市 |
| string | 账户城市 |
邮政编码 |
| string | 账户邮政编码 |
国家/地区 |
| string | 账户国家 |
网站 URL |
| string | 账户网站 URL |
时区 |
| string | 账户时区 |
货币 |
| 字符串 | 账户的货币 |
日期属性
下拉标题 | 标签 | 值类型 | 描述 |
当前日期 |
| - | 执行操作的日期 |
当前日期名称 |
| - | 执行操作的日期 |
当前月份 |
| - | 执行操作的月份 |
当前月份名称 |
| - | 执行操作的月份名称 |
当前年份 |
| - | 执行操作的当前年份 |
订单属性(仅限自动化流程)
下拉标题 | 标签 | 值类型 | 描述 |
订单 ID |
| 字符串 | 订单 ID |
订单号 |
| int64 | 订单编号 |
订单名称 |
| 字符串 | 订单名称 |
订单日期 |
| 日期 | 订单创建日期 |
货币 |
| 字符串 | 订单的货币 |
总价格 |
| int64 | 订单的总金额 |
小计价格 |
| int64 | 小计订单的总金额 |
折扣 |
| int64 | 订单的折扣 |
运费 |
| int64 | 订单的运费 |
订单状态页面 URL |
| 字符串 | 获取确切订单信息的 URL |
订单备注 |
| 字符串 | 其他订单备注 |
账单地址(仅限自动化流程)
下拉菜单标题 | 标签 | 值类型 | 描述 |
名 |
| string | 账单地址中提供的联系人名字 |
姓 |
| 字符串 | 账单地址中提供的联系人姓氏 |
国家 |
| string | 账单地址中提供的联系人国家 |
国家代码 |
| 字符串 | 账单地址中提供的联系人国家代码 |
州 |
| string | 账单地址中提供的联系人州 |
州代码 |
| 字符串 | 账单地址中提供的联系人州代码 |
城市 |
| 字符串 | 账单地址中提供的联系人城市 |
地址 1 |
| 字符串 | 账单地址中提供的联系人地址(第一行) |
地址 2 |
| 字符串 | 账单地址中提供的联系人地址(第二行) |
邮政编码 |
| string | 账单地址中提供的联系人邮政编码 |
公司 |
| string | 账单地址中提供的联系人公司名称 |
电话 |
| 字符串 | 账单地址中提供的联系人电话号码 |
发货地址(仅限自动化流程)
下拉标题 | 标签 | 值类型 | 描述 |
名字 |
| 字符串 | 联系人的名字在运输地址中提供 |
姓 |
| 字符串 | 联系人的姓在运输地址中提供 |
国家 |
| string | 联系人的国家在运输地址中提供 |
国家代码 |
| string | 联系人的国家代码在运输地址中提供 |
州 |
| string | 联系人的州在运输地址中提供 |
州代码 |
| string | 联系人的州代码在运输地址中提供 |
城市 |
| string | 联系人的城市在运输地址中提供 |
地址 1 |
| string | 联系人的地址(第一行)在运输地址中提供 |
地址 2 |
| string | 联系人的地址(第二行)在运输地址中提供 |
邮政编码 |
| string | 联系人的邮政编码在运输地址中提供 |
公司 |
| string | 联系人的公司名称在运输地址中提供 |
电话 |
| 字符串 | 联系人的电话号码在运输地址中提供 |
购物车属性(仅限自动化流程)
下拉标题 | 标签 | 值类型 | 描述 |
废弃购物车(Abandoned Cart)URL |
| string | 用于访问/恢复废弃购物车的URL |
故障排除
个性化在电子邮件中显示原始代码
原因: 您正在查看测试电子邮件,而不是实时电子邮件。
解决方案: 测试电子邮件始终显示原始 Liquid 标签 ([[ contact.first_name ]]).测试个性化:
在编辑器中使用 测试与预览 并选择一个真实的联系人。
或将活动/自动化发送到您自己的电子邮件(确保您的联系人资料中有数据)。
个性化不会在实时电子邮件中转化
原因: 如果部分编辑,Liquid 标签可能会失去完整性。
解决方案: 删除整个个性化标签并重新插入它,使用个性化标签 图标在工具栏中,或输入@ 在文本块中。这确保标签格式正确。
后备文本无效
原因: 语法不正确或缺少引号。
解决方案: 确保后备值用引号括起来:
[[ contact.first_name | default: 'there' ]][[ contact.first_name | default: there ]]
条件逻辑在活动中无效
原因: 标签和条件语句仅在自动化流程中有效。
解决方案: 在自动化中使用条件逻辑 - 而不是活动。
常见问题
我可以在短信(SMS)和推送通知中使用 Liquid 吗?
是的。 液体对象和过滤器在电子邮件(Email)、短信(SMS)和推送通知中工作。条件逻辑仅在自动化流程中有效。
{{ }} 和 [[ ]] 有什么区别?
Shopify 使用 {{ }} 来表示 Liquid 对象。Omnisend 使用 [[ ]]。如果您正在从 Shopify 文档中复制 Liquid 代码,请将花括号替换为方括号。
我需要添加后备值吗?
是的。始终添加后备选项以避免在缺少联系人数据时出现空白空间:
[[ contact.first_name | default: 'there' ]]
我可以组合多个过滤器吗?
是的。用 | 符号链接过滤器:
[[ contact.first_name | capitalize | default: 'there' ]]
我在哪里可以找到更多的 Liquid 示例?
在 Shopify 的 Liquid 文档 中了解更多 记得将 {{ }} 替换为 [[ ]],将 {% %} 替换为 [% %] 在 Omnisend 中使用。
欢迎通过应用内聊天或在 [email protected] 联系我们获奖的支持团队以获取任何额外帮助。
