Liquid templating 让您能够使用高级逻辑创建个性化消息,例如根据客户位置显示不同内容,在数据缺失时使用备用文本,或动态格式化日期和价格。在电子邮件(Email)营销活动、短信(SMS)和推送通知中使用 Liquid。
开始之前
Liquid 模板适用于营销活动和自动化流程(Automation)– 电子邮件(Email)、短信(SMS)和推送通知均支持 Liquid 对象和筛选器。
发送前测试个性化 – 测试电子邮件不包含真实的联系人数据。当使用默认过滤器时,将显示后备值。
默认:使用过滤器。使用动态预览或测试联系人查看真实的联系人值。始终添加后备值 – 使用
| default: 'text' 以避免缺少联系人数据时出现空白空间。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' %]
📝 了解更多关于 Shopify 文档中的 Liquid,并记得在 Omnisend 中将花括号替换为方括号。
对象
对象是从联系人档案、订单或您的帐户设置中输出动态内容的变量。对象始终用双方括号括起来。
[[ contact.first_name ]]
可用对象组:
联系人属性:
[[ contact.variable ]](姓名、电子邮件、位置、自定义属性)帐户属性:
[[ account.variable ]](商店名称、网站、货币)订单属性:
[[ order.variable ]](订单 ID、总额、项目) – 仅限自动化工作流购物车属性:
[[ cart.variable ]](放弃的购物车 URL) – 仅限自动化工作流日期属性:
[[ current_date ]](当前日期、月份、年份)
查看下面的完整 对象参考表。
过滤器
过滤器更改 Liquid 对象的输出。过滤器由管道 | 符号分隔。
示例:
[[ 'mywebsite.com/orders/' | append: order.order_id ]]
常见过滤器:
默认 – 当数据缺失时添加后备文本:
[[ contact.first_name | default: 'there' ]]大写 – 将首字母大写:
[[ contact.city | capitalize ]]大写 – 转换为大写:
[[ contact.country | upcase ]]附加 – 在末尾添加文本:
[[ account.website | append: '/sale' ]]日期 – 格式化日期:
[[ current_date | date:'%B %d, %Y' ]] → "2026年5月13日"呼格 – 在支持的语言中将名称调整为呼格形式:
[[ contact.first_name | vocative ]]
了解更多关于 Shopify 文档中的 Liquid 过滤器 – 记得使用 Omnisend 的 [[ ]] 语法。
标签(仅限自动化)
标签在消息中创建逻辑和控制流程。标签被包含在 [% %] 大括号中,并且不会产生可见文本。
示例:
[% if contact.first_name %] Hi [[ contact.first_name ]] [% endif %]
⚠️ 标签仅在自动化中有效 – 不适用于活动。了解有关 Shopify 文档中的 Liquid 标签 的更多信息。
常见用例
这里有几个有用的 Liquid 语法常见用例:
个性化
Hi [[ contact.first_name ]], welcome to Omnisend!
输出: "嗨,Sarah,欢迎来到Omnisend!"
4a1 提示:此过滤器会自动将名称调整为支持语言中的呼格形式,使您的消息听起来更自然和个性化。这可以通过使用呼格个性化:[[ contact.first_name | vocative ]]
带后备的个性化
Hi [[ contact.first_name | default: 'there' ]], welcome to Omnisend!
输出(如果缺少名字): "嗨,你好,欢迎来到Omnisend!"
f4a1 为什么使用后备?
如果联系人的资料缺少数据(例如,没有名字),个性化标签将显示空白。后备可以防止这种情况:
带后备值:
嗨 [[ contact.first_name | default: 'there' ]] → "嗨那里"不带后备值:
嗨 [[ contact.first_name ]] → "嗨 "
始终添加后备选项以避免尴尬的空白空间。
消息中的变量插入
插入 Liquid 变量到:
电子邮件主题行:
别忘了你的购物车,[[ contact.first_name ]]!电子邮件正文文本:
您的订单总额:[[ order.total_price ]] [[ order.currency ]]短信消息:
嗨 [[ 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 ]]
输出: "嗨,sarah" 9c2 "嗨,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 – 月份名称(五月)%Y – 年(2026
对象参考表
联系人属性
下拉标题 | 标签 | 值类型 | 描述 |
电子邮件 |
| 字符串 | 联系人的电子邮件 |
姓名 |
| 字符串 | 联系人的名字 |
姓氏 |
| 字符串 | 联系人的姓氏 |
城市 |
| 字符串 | 联系人的城市 |
国家 |
| 字符串 | 联系人的国家 |
州 | [[ contact.state ]] | 字符串 | 联系人的状态 |
邮政编码 | [[ contact.postal_code ]] | 字符串 | 联系人的邮政编码 |
取消订阅链接 | [[ unsubscribe_link ]] | – | 联系人的取消订阅链接 |
偏好中心链接 |
| – | 联系人的偏好链接 |
自定义属性 |
| 对象 | 联系人的自定义属性 |
电话号码 |
| 字符串 | 联系人的电话号码 |
账户属性
下拉标题 | 标签 | 值类型 | 描述 |
姓名 |
| 字符串 | 账户名称 |
地址 |
| 字符串 | 账户地址 |
城市 |
| 字符串 | 账户城市 |
邮政编码 |
| 字符串 | 账户的邮政编码 |
国家 |
| 字符串 | 账户的国家 |
网站 URL |
| 字符串 | 账户的网站 URL |
时区 |
| 字符串 | 账户的时区 |
货币 |
| 字符串 | 账户的货币 |
日期属性
下拉标题 | 标签 | 值类型 | 描述 |
当前日期 |
| - | 执行操作的日期 |
当前星期几 |
| - | 执行操作的日期 |
当前月份 |
| - | 执行操作的月份 |
当前月份名称 |
| - | 执行操作的月份名称 |
当前年份 |
| - | 执行操作的当前年份 |
订单属性(仅限自动化)
下拉标题 | 标签 | 值类型 | 描述 |
订单ID |
| 字符串 | 订单的ID |
订单号 |
| int64 | 订单的号码 |
订单名称 |
| 字符串 | 订单的名称 |
订单日期 |
| 日期 | 订单创建日期 |
货币 |
| 字符串 | 订单的货币 |
总价格 |
| int64 | 订单的总金额 |
小计价格 |
| int64 | 小计订单金额 |
折扣 |
| int64 | 订单的折扣 |
运费 |
| int64 | 订单的运费 |
订单状态页面URL |
| 字符串 | 获取确切订单信息的 URL |
订单备注 |
| 字符串 | 附加订单备注 |
账单地址(仅限自动化)
下拉标题 | 标签 | 值类型 | 描述 |
名 |
| 字符串 | 账单地址中提供的联系人的名 |
姓氏 |
| 字符串 | 账单地址中提供的联系人的姓 |
国家 |
| 字符串 | 账单地址中提供的联系人的国家 |
国家代码 |
| 字符串 | 账单地址中提供的联系人的国家代码 |
州 |
| 字符串 | 账单地址中提供的联系人的州 |
州代码 |
| 字符串 | 账单地址中提供的联系人的州代码 |
城市 |
| 字符串 | 账单地址中提供的联系人的城市 |
地址 1 |
| 字符串 | 账单地址中提供的联系人的地址(第一行) |
地址 2 |
| 字符串 | 账单地址中提供的联系人的地址(第二行) |
邮政编码 |
| 字符串 | 账单地址中提供的联系人的邮政编码 |
公司 |
| 字符串 | 账单地址中提供的联系人的公司名称 |
电话 |
| 字符串 | 账单地址中提供的联系人的电话号码 |
运输地址(仅限自动化)
下拉标题 | 标签 | 值类型 | 描述 |
名字 |
| 字符串 | 在送货地址中提供的联系人的名字 |
姓氏 |
| 字符串 | 在送货地址中提供的联系人的姓氏 |
国家 |
| 字符串 | 联系人的国家在运输地址中提供 |
国家代码 |
| 字符串 | 联系人的国家代码在运输地址中提供 |
州 |
| 字符串 | 联系人的州在运输地址中提供 |
州代码 |
| 字符串 | 联系人的州代码在运输地址中提供 |
城市 |
| 字符串 | 联系人的城市在运输地址中提供 |
地址 1 |
| 字符串 | 联系人的地址(第一行)在运输地址中提供 |
地址 2 |
| 字符串 | 联系人的地址(第二行)在运输地址中提供 |
邮政编码 |
| 字符串 | 联系人的邮政编码在运输地址中提供 |
公司 |
| 字符串 | 联系人的公司名称在运输地址中提供 |
电话 |
| 字符串 | 联系人的电话号码在运输地址中提供 |
购物车属性(仅限自动化)
下拉标题 | 标签 | 值类型 | 描述 |
放弃的购物车 URL |
| 字符串 | 用于访问/恢复放弃的购物车的 URL |
故障排除
个性化在电子邮件中显示原始代码
原因: 您正在查看测试电子邮件,而不是实时电子邮件。
解决方案: 测试电子邮件总是显示原始 Liquid 标签([[ contact.first_name ]]).测试个性化:
在编辑器中使用 测试和预览 并选择一个真实的联系人。
或者将活动/自动化发送到您自己的电子邮件(确保您的联系人资料有数据)。
个性化在实时电子邮件中不会转换
原因: 如果部分编辑,Liquid 标签可能会失去完整性。
解决方案: 删除整个个性化标签并使用个性化标签 图标在工具栏中,或输入@ 在文本块中。这确保标签格式正确。
回退文本无效
原因: 语法不正确或缺少引号。
解决方案: 确保回退值用引号括起来:
✅
[[ contact.first_name | default: 'there' ]]❌
[[ contact.first_name | default: there ]]
条件逻辑在活动中无效
原因: 标签和条件语句仅在自动化工作流中有效。
解决方案: 在自动化中使用条件逻辑 – 而不是活动。
常见问题
我可以在 SMS 和推送通知中使用 Liquid 吗?
是的。 Liquid 对象和过滤器在电子邮件、SMS 和推送通知中有效。条件逻辑仅在自动化中有效。
《{{ }}》和《[[ ]]》之间有什么区别?
Shopify 使用《{{ }}》来表示 Liquid 对象。Omnisend 使用《[[ ]]》。如果您从 Shopify 文档中复制 Liquid 代码,请将花括号替换为方括号。
我需要添加后备值吗?
是的。始终添加后备值,以避免在缺少联系数据时出现空白:
[[ contact.first_name | default: 'there' ]]
我可以组合多个过滤器吗?
是的。使用 | 符号链接过滤器:
[[ contact.first_name | capitalize | default: 'there' ]]
我在哪里可以找到更多 Liquid 示例?
在 Shopify 的 Liquid 文档 中了解更多 – 记得在 Omnisend 中将《{{ }}》替换为《[[ ]]》以及《{% %}》替换为《[% %]》。
欢迎通过应用内聊天或 [email protected] 联系我们获奖的支持团队以获得任何额外帮助。
