> For the complete documentation index, see [llms.txt](https://responsive-media.gitbook.io/advanced-free-shipping/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://responsive-media.gitbook.io/advanced-free-shipping/conditions-cart-and-order/cart-subtotal.md).

# Cart Subtotal

## Overview

The **Cart Subtotal** condition applies discounts based on the sum of line item prices **before** taxes and **before** cart-level discounts. This is the raw product value in the cart.

{% hint style="info" %}
Cart Subtotal is calculated before product discounts and taxes. If you want to check the final cart value after discounts and taxes, use [Cart Total](/advanced-free-shipping/conditions-cart-and-order/cart-total.md) instead.
{% endhint %}

## When to Use Cart Subtotal

Use Cart Subtotal when you want to:

* **Reward product purchases** regardless of discounts applied
* **Avoid discount stacking issues** where product discounts reduce eligibility
* **Simplify for customers** in tax-inclusive regions
* **Base on merchandise value** only

## Available Operators

All numeric operators are available:

* **Is greater than**
* **Is less than**
* **Is equal to**
* **Is at least** - Most common
* **Is at most**

{% hint style="info" %}
These work identically to [Cart Total operators](/advanced-free-shipping/conditions-cart-and-order/cart-total.md#available-operators). See that page for detailed operator explanations.
{% endhint %}

## Cart Subtotal vs Cart Total

The key difference:

| Scenario                                | Cart Subtotal | Cart Total |
| --------------------------------------- | ------------- | ---------- |
| <p>Product A: $30<br>Product B: $25</p> | $55           | $55        |
| **+ 10% product discount (-$5.50)**     | $55           | $49.50     |
| **+ 10% tax (+$4.95)**                  | $55           | $54.45     |

**Cart Subtotal**: Always $55 (original product prices) **Cart Total**: $54.45 (after discount, after tax)

## Common Use Cases

### Free Shipping on $50 in Products

Ensure customers buy $50 worth of products, regardless of discounts:

**Configuration**:

* Condition: Cart subtotal **is at least** $50
* Target: All shipping rates → Free

**Example**:

* Customer adds $60 worth of products
* Applies a 20% off product code (-$12)
* Cart total is now $48
* But cart subtotal is still $60 → ✓ Free shipping applies

{% hint style="info" %}
This prevents customers from using product discounts to drop below your free shipping threshold.
{% endhint %}

### Wholesale Minimum Order

Require wholesale customers to order a minimum product value:

**Configuration**:

* Condition 1: Customer tag **contains** "Wholesale"
* Condition 2: Cart subtotal **is at least** $500
* Target: All shipping rates → Free

### Avoid Tax Confusion

In regions with high or variable taxes, subtotal is clearer:

**Configuration**:

* Condition: Cart subtotal **is at least** $50
* Target: All shipping rates → Free

**Why**: Customers see "$50 in products = free shipping" without worrying about tax calculations.

## Combining with Other Conditions

### Subtotal + Location

**Different thresholds by region based on product value**

* Rule Group 1 (US):
  * Condition 1: Country **is** US
  * Condition 2: Cart subtotal **is at least** $50
* Rule Group 2 (CA):
  * Condition 1: Country **is** CA
  * Condition 2: Cart subtotal **is at least** $75

### Subtotal + Collection

**Free shipping when buying $100 from specific collection**

* Condition 1: Collection **contains** "Premium Products"
* Condition 2: Cart subtotal **is at least** $100

{% hint style="info" %}
For more granular collection value checking, use Collection Item Cost instead.
{% endhint %}

## Best Practices

{% hint style="info" %}
**Use subtotal when product discounts are common.** If you frequently run product sales, subtotal prevents customers from losing free shipping eligibility.
{% endhint %}

{% hint style="info" %}
**Communicate clearly.** Tell customers "Spend $50 on products" rather than just "$50 for free shipping" to avoid confusion.
{% endhint %}

{% hint style="info" %}
**Consider your discount strategy.** If you rarely offer product discounts, Cart Total might be simpler for customers to understand.
{% endhint %}

## When to Use Cart Total Instead

Use [Cart Total](/advanced-free-shipping/conditions-cart-and-order/cart-total.md) when:

* You want to include the effect of product discounts
* You want to include taxes in the threshold
* You want customers to see the "final" cart value
* You don't run many product discount promotions

## Examples by Scenario

{% tabs %}
{% tab title="Product Sale Protection" %}
**Scenario**: You run a 25% off sale but still want $50 in products for free shipping

**With Cart Subtotal**:

* Customer adds $60 worth of products
* 25% off applied → Cart total becomes $45
* Cart subtotal still $60 → ✓ Free shipping

**With Cart Total**:

* Cart total is $45 → ✗ No free shipping
  {% endtab %}

{% tab title="High Tax Region" %}
**Scenario**: Your region has 20% sales tax

**With Cart Subtotal**:

* Customer adds $50 in products
* Tax adds $10 → Cart total $60
* Threshold is "subtotal ≥ $50" → ✓ Clear for customer

**With Cart Total**:

* Threshold would need to be "total ≥ $60"
* Confusing: "Why do I need $60 for $50 free shipping?"
  {% endtab %}

{% tab title="Wholesale Orders" %}
**Scenario**: Wholesale customers get special pricing

**With Cart Subtotal**:

* Wholesale price: $40/unit (retail $50)
* Customer buys 10 units
* Subtotal: $400 (wholesale price)
* Threshold: "subtotal ≥ $300" → ✓ Qualifies

This rewards order size, not retail value.
{% endtab %}
{% endtabs %}

## Troubleshooting

<details>

<summary>Discount applying when it shouldn't</summary>

* Check if line item discounts are reducing product prices
* Verify you're using Cart Subtotal (not Cart Total)
* Line item discounts ARE included in subtotal

</details>

<details>

<summary>Customers confused about threshold</summary>

* Clearly communicate "product value" vs "cart total"
* Consider adding a progress bar showing subtotal
* Use simple round numbers ($50, $75, $100)

</details>

<details>

<summary>Different from Cart Total</summary>

* This is expected if you have product discounts or taxes
* Review the comparison table above
* Test with your specific tax and discount setup

</details>

## Related Conditions

* [**Cart Total**](/advanced-free-shipping/conditions-cart-and-order/cart-total.md) - Check cart value after discounts and taxes
* **Collection Item Cost** - Check subtotal of specific collection items
* [**Cart Quantity**](/advanced-free-shipping/conditions-cart-and-order/cart-quantity.md) - Require minimum number of items
* [**Cart Weight**](/advanced-free-shipping/conditions-cart-and-order/cart-weight.md) - Base discounts on total weight


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://responsive-media.gitbook.io/advanced-free-shipping/conditions-cart-and-order/cart-subtotal.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
