You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Shopify Liquid模板中如何为特定标签客户自动添加折扣(旧法失效)

针对带特定标签的客户自动添加折扣码(Liquid主题模板实现)

由于Shopify新结账系统不再支持通过隐藏discount输入字段自动应用折扣,以下是两种基于Liquid模板的可行实现方式:

方法一:购物车页面自动调用API应用折扣

在购物车页面(如cart.liquid或对应的主题section文件)添加以下代码,当登录客户带有指定标签且未应用目标折扣时,自动通过AJAX接口应用折扣:

{% if customer.tags contains 'special-tag' %}
<script>
document.addEventListener('DOMContentLoaded', function() {
  const targetDiscount = 'DISCOUNTCODE';
  // 检查当前购物车是否已应用该折扣
  const currentDiscount = '{{ cart.discount.code }}';
  
  if (currentDiscount !== targetDiscount) {
    // 调用Shopify购物车API提交折扣码
    fetch('/cart/apply_discount', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
      },
      body: JSON.stringify({ discount: targetDiscount })
    })
    .then(res => res.json())
    .then(data => {
      if (data.status === 'success') {
        // 刷新页面更新购物车显示
        window.location.reload();
      }
    })
    .catch(err => console.log('折扣应用失败:', err));
  }
});
</script>
{% endif %}

说明

  • 脚本会在页面加载完成后自动执行判断逻辑,无需客户手动操作
  • 避免重复应用同一折扣码,减少无效API请求

方法二:带折扣参数的跳转链接

在引导客户进入购物车的入口(如导航栏购物车按钮、产品页加入购物车后的跳转按钮)添加Liquid判断,针对带指定标签的客户,跳转至带折扣参数的购物车页面:

{% if customer.tags contains 'special-tag' %}
  <a href="/cart?discount=DISCOUNTCODE" class="your-button-class">进入购物车</a>
{% else %}
  <a href="/cart" class="your-button-class">进入购物车</a>
{% endif %}

说明

  • 利用Shopify支持的discount URL参数,在客户进入购物车时自动应用折扣
  • 需确保跳转入口覆盖所有客户进入购物车的路径,避免遗漏

注意事项

  1. 目标折扣码需提前在Shopify后台创建并确保规则有效(如适用商品、有效期等)
  2. 两种方法均需客户处于登录状态,未登录客户无法读取customer.tags值
  3. 若主题使用了动态加载购物车的组件,需调整脚本逻辑以适配主题的渲染时机

内容的提问来源于stack exchange,提问作者jla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 05:26:12