Skip to main content

Common Patterns

Ready-to-use examples for frequent discount scenarios.

Customer Segmentation

VIP Customer Discount

10% off for customers with VIP tag:
{
  "rules": [
    {
      "conditions": {
        "customer.tags": { "includes": "VIP" }
      },
      "events": [
        {
          "discount": "product_discount",
          "params": {
            "discount_type": "percentage",
            "value": 10,
            "message": "VIP Customer - 10% Off"
          }
        }
      ]
    }
  ]
}

First-Time Customer Discount

15% off for new customers:
{
  "rules": [
    {
      "conditions": {
        "customer.ordersCount": { "eq": 0 }
      },
      "events": [
        {
          "discount": "product_discount",
          "params": {
            "discount_type": "percentage",
            "value": 15,
            "message": "Welcome! First Order 15% Off"
          }
        }
      ]
    }
  ]
}

Returning Customer Offer

$20 off for customers with 3+ previous orders:
{
  "rules": [
    {
      "conditions": {
        "customer.ordersCount": { "gte": 3 }
      },
      "events": [
        {
          "discount": "product_discount",
          "params": {
            "discount_type": "fixed_amount",
            "value": 20,
            "message": "Thank You - $20 Off"
          }
        }
      ]
    }
  ]
}

Product Targeting

Specific Product Discount

20% off a specific product by handle:
{
  "rules": [
    {
      "conditions": {},
      "events": [
        {
          "discount": "product_discount",
          "params": {
            "handles": ["cool-t-shirt"],
            "discount_type": "percentage",
            "value": 20,
            "message": "20% Off Cool T-Shirt"
          }
        }
      ]
    }
  ]
}

Collection Discount

25% off all items in “Sale” collection:
{
  "rules": [
    {
      "facts": {
        "sale_items": "cart.lines[?merchandise.product.collections[?handle=='sale']].id"
      },
      "conditions": {
        "$sale_items": { "empty": false }
      },
      "events": [
        {
          "discount": "product_discount",
          "params": {
            "selector": "$sale_items",
            "discount_type": "percentage",
            "value": 25,
            "message": "25% Off Sale Items"
          }
        }
      ]
    }
  ]
}

Vendor Discount

15% off all products from specific vendor:
{
  "rules": [
    {
      "conditions": {},
      "events": [
        {
          "discount": "product_discount",
          "params": {
            "vendors": ["Awesome Brand"],
            "discount_type": "percentage",
            "value": 15,
            "message": "15% Off Awesome Brand"
          }
        }
      ]
    }
  ]
}

Quantity-Based Discounts

Bulk Discount

10% off when buying 5+ items:
{
  "rules": [
    {
      "facts": {
        "total_quantity": "cart.lines[].quantity | sum(@)"
      },
      "conditions": {
        "$total_quantity": { "gte": 5 }
      },
      "events": [
        {
          "discount": "product_discount",
          "params": {
            "discount_type": "percentage",
            "value": 10,
            "message": "Bulk Order - 10% Off"
          }
        }
      ]
    }
  ]
}

Buy One Get One (BOGO)

Buy 2, get 50% off the second item:
{
  "rules": [
    {
      "conditions": {},
      "events": [
        {
          "discount": "product_discount",
          "params": {
            "handles": ["t-shirt"],
            "quantity": 1,
            "discount_type": "percentage",
            "value": 50,
            "message": "BOGO 50% Off"
          }
        }
      ]
    }
  ]
}

Cart Value Discounts

Minimum Order Discount

10offordersover10 off orders over 100:
{
  "rules": [
    {
      "conditions": {
        "cart.cost.subtotalAmount.amount": { "gte": "100" }
      },
      "events": [
        {
          "discount": "order_discount",
          "params": {
            "discount_type": "fixed_amount",
            "value": 10,
            "message": "$10 Off Orders Over $100"
          }
        }
      ]
    }
  ]
}

Tiered Cart Discounts

Increasing discount based on cart value:
{
  "rules": [
    {
      "conditions": {
        "cart.cost.subtotalAmount.amount": { "gte": "200" }
      },
      "events": [
        {
          "discount": "order_discount",
          "params": {
            "discount_type": "percentage",
            "value": 20,
            "message": "20% Off - Orders $200+"
          }
        }
      ]
    },
    {
      "conditions": {
        "cart.cost.subtotalAmount.amount": { "gte": "100" },
        "cart.cost.subtotalAmount.amount": { "lt": "200" }
      },
      "events": [
        {
          "discount": "order_discount",
          "params": {
            "discount_type": "percentage",
            "value": 10,
            "message": "10% Off - Orders $100+"
          }
        }
      ]
    }
  ],
  "discountApplicationStrategy": "FIRST"
}

Shipping Discounts

Free Shipping Threshold

Free shipping on orders over $50:
{
  "rules": [
    {
      "conditions": {
        "cart.cost.subtotalAmount.amount": { "gte": "50" }
      },
      "events": [
        {
          "discount": "shipping_discount",
          "params": {
            "discount_type": "percentage",
            "value": 100,
            "message": "Free Shipping"
          }
        }
      ]
    }
  ]
}

VIP Free Shipping

Free shipping for VIP customers:
{
  "rules": [
    {
      "conditions": {
        "customer.tags": { "includes": "VIP" }
      },
      "events": [
        {
          "discount": "shipping_discount",
          "params": {
            "discount_type": "percentage",
            "value": 100,
            "message": "VIP Free Shipping"
          }
        }
      ]
    }
  ]
}

Collection-Based Free Shipping

Free shipping when cart includes sale items:
{
  "rules": [
    {
      "facts": {
        "has_sale_items": "cart.lines[?merchandise.product.collections[?handle=='sale']] | length(@) > `0`"
      },
      "conditions": {
        "$has_sale_items": { "eq": true }
      },
      "events": [
        {
          "discount": "shipping_discount",
          "params": {
            "discount_type": "percentage",
            "value": 100,
            "message": "Free Shipping on Sale Items"
          }
        }
      ]
    }
  ]
}

Combined Conditions

VIP + Minimum Order

20% off for VIP customers spending $100+:
{
  "rules": [
    {
      "conditions": {
        "customer.tags": { "includes": "VIP" },
        "cart.cost.subtotalAmount.amount": { "gte": "100" }
      },
      "events": [
        {
          "discount": "product_discount",
          "params": {
            "discount_type": "percentage",
            "value": 20,
            "message": "VIP Special - 20% Off"
          }
        }
      ]
    }
  ]
}

Multi-Tier Customer Segments

Different discounts for different customer tiers:
{
  "rules": [
    {
      "conditions": {
        "customer.tags": { "includes": "GOLD" }
      },
      "events": [
        {
          "discount": "product_discount",
          "params": {
            "discount_type": "percentage",
            "value": 20,
            "message": "Gold Member - 20% Off"
          }
        }
      ]
    },
    {
      "conditions": {
        "customer.tags": { "includes": "SILVER" }
      },
      "events": [
        {
          "discount": "product_discount",
          "params": {
            "discount_type": "percentage",
            "value": 15,
            "message": "Silver Member - 15% Off"
          }
        }
      ]
    },
    {
      "conditions": {
        "customer.tags": { "includes": "BRONZE" }
      },
      "events": [
        {
          "discount": "product_discount",
          "params": {
            "discount_type": "percentage",
            "value": 10,
            "message": "Bronze Member - 10% Off"
          }
        }
      ]
    }
  ],
  "discountApplicationStrategy": "FIRST"
}

Next Steps

I