> 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-products/product-in-cart.md).

# Product in Cart

## Overview

The **Product in Cart** condition applies discounts when the cart contains specific products you select. This is perfect for product-specific promotions and bundle incentives.

## Available Operators

* **Contains**: Cart has at least one of the selected products. Other products are allowed.
* **Does not contain**: Cart does NOT have any of the selected products.
* **Contains (all)**: Cart must have ALL selected products (bundle requirement).
* **Contains (strict mode)**: Cart has selected products ONLY. No other products allowed.

## Operator Details

### Contains (Most Common)

**Use when**: You want free shipping if ANY of your selected products are in cart

**Example**: Select Product A, Product B

* Cart with Product A → ✓ Qualifies
* Cart with Product B → ✓ Qualifies
* Cart with Product A + Product C → ✓ Qualifies
* Cart with Product C only → ✗ Doesn't qualify

### Contains (all)

**Use when**: Customer must buy ALL selected products (bundle)

**Example**: Select Product A, Product B

* Cart with Product A + Product B → ✓ Qualifies
* Cart with Product A + Product B + Product C → ✓ Qualifies
* Cart with Product A only → ✗ Doesn't qualify

### Contains (strict mode)

**Use when**: Cart can ONLY have your selected products (nothing else)

**Example**: Select Product A, Product B

* Cart with Product A only → ✓ Qualifies
* Cart with Product B only → ✓ Qualifies
* Cart with Product A + Product B → ✓ Qualifies
* Cart with Product A + Product C → ✗ Doesn't qualify (has Product C)

### Does not contain

**Use when**: Exclude certain products from discount

**Example**: Select Product A

* Cart with Product B → ✓ Qualifies
* Cart with Product A → ✗ Doesn't qualify

## Common Use Cases

{% tabs %}
{% tab title="Product Promotion" %}
**Free shipping on winter coats**

* Product in cart **contains** "Winter Coat"
* Discount: Free shipping
  {% endtab %}

{% tab title="Bundle Deal" %}
**Free shipping when buying both products**

* Product in cart **contains (all)** Product A, Product B
* Discount: Free shipping
  {% endtab %}

{% tab title="Exclusive Product" %}
**Free shipping on subscription box only**

* Product in cart **contains (strict)** "Monthly Box"
* Discount: Free shipping
  {% endtab %}

{% tab title="Exclude Products" %}
**Free shipping except on clearance items**

* Product in cart **does not contain** Clearance items
* Cart total **is at least** $50
* Discount: Free shipping
  {% endtab %}
  {% endtabs %}

## Selecting Products

When you add this condition:

1. Click "Select products"
2. Search for products by name or SKU
3. Select products (can select multiple)
4. Selected products appear as removable chips

{% hint style="info" %}
You can select specific variants or entire products. Selecting a product includes all its variants.
{% endhint %}

## Best Practices

{% hint style="info" %}
Use "Contains" for most promotions - it's the most flexible and customer-friendly option.
{% endhint %}

{% hint style="info" %}
Use "Contains (all)" for bundle requirements where customers must buy multiple specific items.
{% endhint %}

{% hint style="warning" %}
"Strict mode" is very restrictive. Use sparingly - customers may be frustrated if they can't add other items.
{% endhint %}

## Related Conditions

* [**Collection in Cart**](/advanced-free-shipping/conditions-products/collection-in-cart.md): Target entire collections instead of individual products
* [**Collection Item Quantity**](/advanced-free-shipping/conditions-products/collection-item-quantity.md): Require specific quantity from collection
* [**Cart Total**](/advanced-free-shipping/conditions-cart-and-order/cart-total.md): Combine product requirements with value thresholds


---

# 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-products/product-in-cart.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.
