> ## Documentation Index
> Fetch the complete documentation index at: https://docs.checkoutrules.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Condition Set 2

> Learn about each condition available inside _Condition Set 2_.

## Always

If you don’t want to set any condition, select *Always*. The rule will run every time for everyone, without checking any conditions.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/always.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=63cabc820797867999942ee1d2339f92" alt="Always" width="937" height="116" data-path="images/essentials/condition-sets/always.webp" />

## Previous all conditions invalid

When all previous conditions are invalid in the previous [rule block](/guides/en/get-started/concepts#block), i-e the previous rule block did not run, this condition becomes true, ensuring the action is triggered only if none of the earlier conditions are met.

<Note>Available only when at least one previous rule block exists.</Note>

<img src="https://mintcdn.com/storespark/LBBqRFszCrC9aDAu/images/essentials/condition-sets/previous-all-conditions-invalid.webp?fit=max&auto=format&n=LBBqRFszCrC9aDAu&q=85&s=8aad3eabfdbbaa68d92a47645266a3af" alt="Previous All Conditions Invalid" width="932" height="97" data-path="images/essentials/condition-sets/previous-all-conditions-invalid.webp" />

## Customer

### Customer is logged in

Matches if the customer has an active account session and is currently logged in to their store account at the time of checkout.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/customer-logged-in.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=0463d226321b6fb4f171dffa5084e981" alt="Customer is Logged In" width="1168" height="137" data-path="images/essentials/condition-sets/customer-logged-in.webp" />

### Customer is not logged in

Matches if the customer does not have an active account session and is checking out as a guest.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/customer-is-not-logged-in.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=9cb6e3c2050a84c4f1a83f23da498ecd" alt="Customer is Not Logged In" width="1171" height="136" data-path="images/essentials/condition-sets/customer-is-not-logged-in.webp" />

### Email address

This condition checks the customer’s **email address** against specific criteria, based on one of the following sub-conditions:

* **contains** (The email address includes the entered value)
* **does not contain** (The email address does not include the entered value)
* **is empty** (No email address is provided)
* **is not empty** (An email address is provided)
* **is** (The email address exactly matches the entered value)
* **is not** (The email address does not exactly match the entered value)

For **contains**, **does not contain**, **is**, and **is not**, type a value in the text box to compare against the customer’s email address.

> For example, `contains @gmail.com` → Matches any email address ending with “@gmail.com”.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/email-contains.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=58d50b96c704771c0ca7ff82e04189a3" alt="Email Contains" width="935" height="111" data-path="images/essentials/condition-sets/email-contains.webp" />

For **is empty** and **is not empty**, no value entry is required.

> For example, `is empty` → Matches when the email field is blank.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/email-empty.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=c3b5a536c2077b3002a2b7205f7190d4" alt="Email Empty" width="932" height="111" data-path="images/essentials/condition-sets/email-empty.webp" />

### Customer total number of previous orders

This condition checks the **total number of previous orders** placed by the customer against specific criteria, based on one of the following sub-conditions:

* **is greater than or equals** (Matches when the customer’s total number of previous orders is greater than or equal to the entered number)
* **is less than or equals** (Matches when the customer’s total number of previous orders is less than or equal to the entered number)

To set these conditions, enter the number of orders in the field and choose the appropriate comparison from the dropdown.

> For example, `is greater than or equals 3` → Matches customers who have placed 3 or more previous orders.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/customer-total-previous-orders.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=b415937799897db0c6d627a62583b7b6" alt="Customer Total Previous Orders" width="932" height="98" data-path="images/essentials/condition-sets/customer-total-previous-orders.webp" />

## Order Details

### Order total amount

This condition checks the **order’s total amount** against specific criteria, based on one of the following sub-conditions:

* **is greater than or equals** (Matches when the order’s total amount is greater than or equal to the entered amount)
* **is less than or equals** (Matches when the order’s total amount is less than or equal to the entered amount)

To set these conditions, enter the amount in the field and choose the appropriate comparison from the dropdown.

<Note>
  Enter the amount in your store currency. Settings > Store Details > Store
  Currency
</Note>

> For example, `is greater than or equals 600` → Matches orders with a total amount of 600 or more.

<img src="https://mintcdn.com/storespark/LBBqRFszCrC9aDAu/images/essentials/condition-sets/order-total-amount.webp?fit=max&auto=format&n=LBBqRFszCrC9aDAu&q=85&s=027d5414133c000dd1a6ac0b1846fcb5" alt="Order Total Amount" width="937" height="93" data-path="images/essentials/condition-sets/order-total-amount.webp" />

### Order subtotal amount

This condition checks the **order’s subtotal amount** against specific criteria, based on one of the following sub-conditions:

* **is greater than or equals** (Matches when the order’s subtotal amount is greater than or equal to the entered amount)
* **is less than or equals** (Matches when the order’s subtotal amount is less than or equal to the entered amount)

To set these conditions, enter the amount in the field and choose the appropriate comparison from the dropdown.

<Note>
  Enter the amount in your store currency. Settings > Store Details > Store
  Currency
</Note>

> For example, `is greater than or equals 699` → Matches orders with a subtotal amount of 699 or more.

<img src="https://mintcdn.com/storespark/LBBqRFszCrC9aDAu/images/essentials/condition-sets/order-subtotal-amount.webp?fit=max&auto=format&n=LBBqRFszCrC9aDAu&q=85&s=cc45c14d66b129e3fbc27f164742fded" alt="Order Subtotal Amount" width="935" height="94" data-path="images/essentials/condition-sets/order-subtotal-amount.webp" />

### Order total quantity

This condition checks the **total quantity of items in an order** against specific criteria, based on one of the following sub-conditions:

* **is greater than or equals** (Matches when the total quantity of items is greater than or equal to the entered number)
* **is less than or equals** (Matches when the total quantity of items is less than or equal to the entered number)
* **is multiple of** (Matches when the total quantity is an exact multiple of the entered number)
* **is not multiple of** (Matches when the total quantity is not a multiple of the entered number)

To set these conditions, enter a quantity in the field and choose the appropriate comparison from the dropdown.

<Note>
  The quantity refers to the **sum of all item quantities** in the order, not
  the number of distinct products.
</Note>

> **Example for “is multiple of”**:\
> `is multiple of 5` → Matches orders with total quantities like 5, 10, 15, 20, etc.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/is-multiple-of-order-total.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=a631141c975039e70291ee6a9c9f5a60" alt="Is Multiple Of Order Total" width="1175" height="138" data-path="images/essentials/condition-sets/is-multiple-of-order-total.webp" />

> **Example for “is greater than or equals”**:\
> `is greater than or equals 3` → Matches orders with 3 or more total items.

<img src="https://mintcdn.com/storespark/LBBqRFszCrC9aDAu/images/essentials/condition-sets/order-total-is-greater-value.webp?fit=max&auto=format&n=LBBqRFszCrC9aDAu&q=85&s=068d38bde72d9092a91594421e43e9b4" alt="Order Total Is Greater Value" width="1171" height="133" data-path="images/essentials/condition-sets/order-total-is-greater-value.webp" />

### Order total weight

This condition checks the **order’s total weight** against specific criteria, based on one of the following sub-conditions:

* **is greater than or equals** (Matches when the order’s total weight is greater than or equal to the entered weight)
* **is less than or equals** (Matches when the order’s total weight is less than or equal to the entered weight)

To set these conditions, enter the weight in the field, select the weight unit (**lb**, **oz**, **kg**, or **g**) from the dropdown, and choose the appropriate comparison.

> For example, `is less than or equals 5 kg` → Matches orders with a total weight of 5 kilograms or less.

<img src="https://mintcdn.com/storespark/LBBqRFszCrC9aDAu/images/essentials/condition-sets/order-total-weight.webp?fit=max&auto=format&n=LBBqRFszCrC9aDAu&q=85&s=0f87852679eb450a4ea7cbec8023acfd" alt="Order Total Weight" width="1167" height="138" data-path="images/essentials/condition-sets/order-total-weight.webp" />

### Order total one time purchase weight

This condition checks the **total weight of one-time purchase items** in the order against specific criteria, based on one of the following sub-conditions:

* **is greater than or equals** (Matches when the total one-time purchase weight is greater than or equal to the entered weight)
* **is less than or equals** (Matches when the total one-time purchase weight is less than or equal to the entered weight)

To set these conditions, enter the weight in the field, select the weight unit (**lb**, **oz**, **kg**, or **g**) from the dropdown, and choose the appropriate comparison.

> For example, `is greater than or equals 10 lb` → Matches orders where the total weight of one-time purchase items is 10 pounds or more.

<img src="https://mintcdn.com/storespark/LBBqRFszCrC9aDAu/images/essentials/condition-sets/order-total-one-time-purchase-weight.webp?fit=max&auto=format&n=LBBqRFszCrC9aDAu&q=85&s=cab52da93823c2bdbaf8ae026823ec78" alt="Order Total One-Time Purchase Weight" width="1166" height="140" data-path="images/essentials/condition-sets/order-total-one-time-purchase-weight.webp" />

### Order total subscription weight

This condition checks the **total weight of subscription items** in the order against specific criteria, based on one of the following sub-conditions:

* **is greater than or equals** (Matches when the total subscription weight is greater than or equal to the entered weight)
* **is less than or equals** (Matches when the total subscription weight is less than or equal to the entered weight)

To set these conditions, enter the weight in the field, select the weight unit (**lb**, **oz**, **kg**, or **g**) from the dropdown, and choose the appropriate comparison.

> For example, `is greater than or equals 5 kg` → Matches orders where the total weight of subscription items is 5 kilograms or more.

<img src="https://mintcdn.com/storespark/LBBqRFszCrC9aDAu/images/essentials/condition-sets/order-total-subscription-weight.webp?fit=max&auto=format&n=LBBqRFszCrC9aDAu&q=85&s=19fa8f6dbdc7fd70b54ce8069652e817" alt="Order Total Subscription Weight" width="1163" height="131" data-path="images/essentials/condition-sets/order-total-subscription-weight.webp" />

## Cart Details

### Cart attribute

This condition checks the **attributes attached to the cart** against specific criteria, based on one of the following sub-conditions:

* **Has any of these values** (Matches when the specified cart attribute contains any of the entered values)
* **Does not have any of these values** (Matches when the specified cart attribute does not contain any of the entered values)
* **Has empty value** (Matches when the specified cart attribute exists but has no value)
* **Does not have empty value** (Matches when the specified cart attribute exists and contains a value)

To set these conditions:

<Steps>
  <Step title="Enter attribute key">
    Enter the <strong>attribute key</strong> in the “Enter key” field.
  </Step>

  <Step title="Enter value(s)">
    Enter the <strong>value(s)</strong> to match (where applicable).
  </Step>

  <Step title="Choose comparison option">
    Choose the comparison option from the dropdown.
  </Step>
</Steps>

For **Has any of these values** and **Does not have any of these values**, enter one or more values into the field. Separate multiple values with commas.

<Note>
  Use \* wildcard to match partial values. For example, value\* will match
  value123, VALUETEST etc.
</Note>

> **Example for “Has any of these values”**:\
> Key: `delivery_method`\
> Values: `express, pickup`\
> → Matches carts where the `delivery_method` attribute is either `express`
> or `pickup`.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/cart-attribute-has-any-values.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=902f185b8c06f1a0834387cf02972ca8" alt="Cart Attribute Has Any Values" width="1173" height="245" data-path="images/essentials/condition-sets/cart-attribute-has-any-values.webp" />

For **Has empty value** and **Does not have empty value**, no value entry is required.

> **Example for “Does not have empty value”**:\
> Key: `gift_message`\
> → Matches carts where a `gift_message` attribute exists and contains some text (e.g., “Happy Birthday!”).

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/cart-attribute-not-empty-value.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=bdbb60ab9422924a6c0f3e67fe4f4ccb" alt="Cart Attribute Not Empty Value" width="1170" height="137" data-path="images/essentials/condition-sets/cart-attribute-not-empty-value.webp" />

### Product quantity per SKU

This condition checks the **quantity of a specific product (by SKU)** in the order against defined criteria, based on one of the following sub-conditions:

* **quantity is greater than or equals** (Matches when the quantity of the specified SKU is greater than or equal to the entered number)
* **quantity is less than or equals** (Matches when the quantity of the specified SKU is less than or equal to the entered number)
* **quantity is divisible by** (Matches when the quantity of the specified SKU is an exact multiple of the entered number)
* **quantity is not divisible by** (Matches when the quantity of the specified SKU is not a multiple of the entered number)

To set these conditions:

<Steps>
  <Step title="Enter SKU">
    Enter the <strong>SKU</strong> in the “Enter SKU” field.
  </Step>

  <Step title="Enter quantity">
    Enter the <strong>quantity</strong> in the “Enter quantity” field.
  </Step>

  <Step title="Select comparison option">
    Select the comparison option from the dropdown.
  </Step>
</Steps>

> **Example for “quantity is greater than or equals”**:\
> SKU: `ABC123`\
> Quantity: `3`\
> → Matches orders where there are 3 or more units of product `ABC123`.

<img src="https://mintcdn.com/storespark/LBBqRFszCrC9aDAu/images/essentials/condition-sets/product-quantity-per-sku-has-greater-value.webp?fit=max&auto=format&n=LBBqRFszCrC9aDAu&q=85&s=d294447dd414b9bc8309300bc0f358f9" alt="Product Quantity per SKU Has Greater Value" width="1172" height="140" data-path="images/essentials/condition-sets/product-quantity-per-sku-has-greater-value.webp" />

> **Example for “quantity is divisible by”**:\
> SKU: `ABC123`\
> Quantity: `2`\
> → Matches orders where the quantity of product `ABC123` is 2, 4, 6, 8, etc.

<img src="https://mintcdn.com/storespark/LBBqRFszCrC9aDAu/images/essentials/condition-sets/product-quantity-per-sku-divisible-by.webp?fit=max&auto=format&n=LBBqRFszCrC9aDAu&q=85&s=c52083e778ae74d024bc7d610da96af4" alt="Product Quantity per SKU Divisible By" width="1166" height="137" data-path="images/essentials/condition-sets/product-quantity-per-sku-divisible-by.webp" />

### Total quantity – Product quantity of SKU

This condition checks the **total quantity of all products in the order except a specific product (by SKU)** against defined criteria, based on one of the following sub-conditions:

* **quantity is greater than or equals** (Matches when the total quantity excluding the specified SKU is greater than or equal to the entered number)
* **quantity is less than or equals** (Matches when the total quantity excluding the specified SKU is less than or equal to the entered number)
* **quantity is divisible by** (Matches when the total quantity excluding the specified SKU is an exact multiple of the entered number)
* **quantity is not divisible by** (Matches when the total quantity excluding the specified SKU is not a multiple of the entered number)

To set these conditions:

<Steps>
  <Step title="Enter SKU to exclude">
    Enter the <strong>SKU</strong> to exclude in the “Enter SKU” field.
  </Step>

  <Step title="Enter quantity">
    Enter the <strong>quantity</strong> in the “Enter quantity” field.
  </Step>

  <Step title="Select comparison option">
    Select the comparison option from the dropdown.
  </Step>
</Steps>

> **Example for “quantity is greater than or equals”**:\
> SKU: `ABC123`\
> Quantity: `5`\
> → Matches orders where the total quantity of all products except `ABC123` is 5 or more.

<img src="https://mintcdn.com/storespark/8qTRK-A8nfquzM_u/images/essentials/condition-sets/total-quantity-minus-sku-product-sku-has-greater-value.webp?fit=max&auto=format&n=8qTRK-A8nfquzM_u&q=85&s=fec19f6f425fbe15e2bb144a841e59e7" alt="Total Quantity – Product Quantity of SKU Has Greater Value" width="1176" height="136" data-path="images/essentials/condition-sets/total-quantity-minus-sku-product-sku-has-greater-value.webp" />

> **Example for “quantity is divisible by”**:\
> SKU: `ABC123`\
> Quantity: `3`\
> → Matches orders where the total quantity of all products except `ABC123` is 3, 6, 9, etc.

<img src="https://mintcdn.com/storespark/8qTRK-A8nfquzM_u/images/essentials/condition-sets/total-quantity-minus-sku-product-sku-divisible-by.webp?fit=max&auto=format&n=8qTRK-A8nfquzM_u&q=85&s=9f4813d5ac3f9c22659ee353323f81b6" alt="Total Quantity – Product Quantity of SKU Divisible By" width="1172" height="131" data-path="images/essentials/condition-sets/total-quantity-minus-sku-product-sku-divisible-by.webp" />

## Cart Has Any Items

### SKU

This condition checks the **SKU** of the products in the cart against specific criteria. It will become true if **any** product in the cart has the entered SKU value, based on one of the following sub-conditions:

* **Has any of these values** (Matches if the SKU has at least one of the entered values)
* **Does not have any of these values** (Matches if the SKU has none of the entered values)
* **Has any other value besides these values** (Matches if the SKU has a value that is not among the entered values)
* **Does not have any other value besides these values** (Matches if the SKU has only the entered values and no others)
* **Has number of values greater than or equals** (Matches if the **count** of SKUs is greater than or equal to the entered number)
* **Has number of values less than or equals** (Matches if the **count** of SKUs is less than or equal to the entered number)

For **Has any of these values**, **Does not have any of these values**, **Has any other value besides these values**, and **Does not have any other value besides these values**, enter one or more SKU values into the field. Separate multiple values with commas.

<Note>
  Use \* wildcard to match multiple SKU values. For example, SKU\* will match
  SKU12, sku-new-1 etc.
</Note>

> For example, `Has any of these values: SKU1, SKU2` → Matches if the SKU is either
> “SKU1” or “SKU2”.{" "}

<img src="https://mintcdn.com/storespark/8qTRK-A8nfquzM_u/images/essentials/condition-sets/skus.webp?fit=max&auto=format&n=8qTRK-A8nfquzM_u&q=85&s=8bddcec0a1c0d08bc7060f4aeac9b094" alt="SKUs" width="947" height="200" data-path="images/essentials/condition-sets/skus.webp" />

For **Has number of values greater than or equals** and **Has number of values less than or equals**, enter a single numeric value in the field to match the SKU count.

> For example, `Has number of values greater than or equals 3` → Matches if there are three or more SKUs.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/count-sku.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=683f1e0f2c992ac310a41d4bf74f40bd" alt="SKU Count" width="933" height="100" data-path="images/essentials/condition-sets/count-sku.webp" />

### Collection

This condition checks the **collection** in the order against specific criteria. It will become true if **any** of the product in the cart belongs to the entered Collection value, based on one of the following sub-conditions:

* **has value of** (Matches when the collection has the specified value)
* **does not have value of** (Matches when the collection does not have the specified value)
* **has any other value besides** (Matches when the collection has any value except the entered one)
* **does not have any other value besides** (Matches when the collection has only the entered value and no other)

To set these conditions, click on the “Enter value” field to open the collection selection popup, then search for or directly select the desired collection, and choose the appropriate comparison from the dropdown.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/collection-selection-popup.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=d6b263cf5c73d9ae2dde7500c77ef0bf" alt="Collection Selection Popup" width="891" height="593" data-path="images/essentials/condition-sets/collection-selection-popup.webp" />

> For example, `has value of Summer2025` → Matches when any product in cart belongs to the collection **Summer2025**.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/collection-has-value-of.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=687b08e0c09fc046dd7741a6acc8833c" alt="Collection Condition" width="1166" height="133" data-path="images/essentials/condition-sets/collection-has-value-of.webp" />

### Collections

This condition checks the **Collections** against specific criteria. It will become true if **any** product in the cart belongs to the entered Collection value, based on one of the following sub-conditions:

* **Has any of these values** (Matches if the Collection has at least one of the entered values)
* **Does not have any of these values** (Matches if the Collection has none of the entered values)
* **Has any other value besides these values** (Matches if the Collection has a value that is not among the entered values)
* **Does not have any other value besides these values** (Matches if the Collection has only the entered values and no others)
* **Has number of values greater than or equals** (Matches if the **count** of Collections is greater than or equal to the entered number)
* **Has number of values less than or equals** (Matches if the **count** of Collections is less than or equal to the entered number)

<Warning>
  You can only use this condition with the same values throughout the rule. If
  you want to use different values in different rule blocks, you should switch
  to condition set 3 which allows more flexibility.
</Warning>

For **Has any of these values**, **Does not have any of these values**, **Has any other value besides these values**, and **Does not have any other value besides these values**, enter one or more Collection values into the field.

> For example, `Has any other value besides these values: Summer2025, Winter2025` → Matches if the Collection includes at least one value that is not “Summer2025” or “Winter2025”.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/collections.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=f7c78355de80ee56a54316d5203c292f" alt="Collections" width="943" height="198" data-path="images/essentials/condition-sets/collections.webp" />

From the popup, select one or multiple collections from the already created collections in your store.

<img src="https://mintcdn.com/storespark/LBBqRFszCrC9aDAu/images/essentials/condition-sets/popup-collections.webp?fit=max&auto=format&n=LBBqRFszCrC9aDAu&q=85&s=bc0deae735115a43ef61aba8c747e7a7" alt="Popup Collections" width="815" height="565" data-path="images/essentials/condition-sets/popup-collections.webp" />

For **Has number of values greater than or equals** and **Has number of values less than or equals**, enter a single numeric value in the field to match the Collection count.

> For example, `Has number of values less than or equals 7` → Matches if there are seven or fewer Collections.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/count-collections.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=bf11b0427b750cd5e8fbf84623f0233d" alt="Collections Count" width="935" height="106" data-path="images/essentials/condition-sets/count-collections.webp" />

### Line item property

This condition checks the **properties attached to a line item** against specific criteria, based on one of the following sub-conditions:

* **Has any of these values** (Matches when the specified line item property contains any of the entered values)
* **Does not have any of these values** (Matches when the specified line item property does not contain any of the entered values)
* **Has empty value** (Matches when the specified line item property exists but has no value)
* **Does not have empty value** (Matches when the specified line item property exists and contains a value)
* **Has number of values greater than or equals** (Matches when the specified line item property contains a number of values greater than or equal to the entered number)
* **Has number of values less than or equals** (Matches when the specified line item property contains a number of values less than or equal to the entered number)

To set these conditions:

<Steps>
  <Step title="Enter property key">
    Enter the <strong>property key</strong> in the “Enter key” field.
  </Step>

  <Step title="Enter value(s)">
    Enter the <strong>value(s)</strong> to match (where applicable).
  </Step>

  <Step title="Choose comparison option">
    Choose the comparison option from the dropdown.
  </Step>
</Steps>

For **Has any of these values** and **Does not have any of these values**, enter one or more values into the field. Separate multiple values with commas.

<Note>
  Use \* wildcard to match partial values. For example, value\* will match
  value123, VALUETEST etc.
</Note>

> **Example for “Has any of these values”**: > Key: `color` > Values: `red, blue`
> → Matches line items where the `color` property is either `red` or `blue`.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/line-item-property-has-any-values.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=dbf3b5fb240cb78a596afb6c95594c30" alt="Line Item Property Has Any Values" width="1179" height="250" data-path="images/essentials/condition-sets/line-item-property-has-any-values.webp" />

For **Has empty value** and **Does not have empty value**, no value entry is required.

> **Example for “Does not have empty value”**:\
> Key: `engraving`\
> → Matches line items where the `engraving` property exists and contains some text (e.g., “Happy Anniversary”).

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/line-item-property-not-empty-value.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=469322dd58bd5286cfa316df95402e96" alt="Line Item Property Not Empty Value" width="1167" height="132" data-path="images/essentials/condition-sets/line-item-property-not-empty-value.webp" />

For **Has number of values greater than or equals** and **Has number of values less than or equals**, enter the threshold number into the field.

> **Example for “Has number of values less than or equals”**:\
> Key: `size`\
> Number: `2`\
> → Matches line items where the `size` property has 2 or fewer distinct values (e.g., `S, M`).

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/line-item-property-values-less-than.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=1fcb6505f4d542f0aa3fdce6e370ce65" alt="Line Item Property Values Less Than" width="1165" height="196" data-path="images/essentials/condition-sets/line-item-property-values-less-than.webp" />

### Cart has shipping product (requires delivery)

This condition checks whether the cart contains at least one product that requires shipping (delivery). If present, the condition is considered met.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/cart-has-shipping-product.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=7642f2418f055853a972e7faa9c9f6cb" alt="Cart has shipping product (requires delivery)" width="937" height="107" data-path="images/essentials/condition-sets/cart-has-shipping-product.webp" />

### Cart has no shipping product

This condition checks whether the cart does not contain any product that requires shipping (delivery). If no such product is present, the condition is considered met.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/cart-has-no-shipping-product.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=744b4183ff079261aebec7facedbcf78" alt="Cart has no shipping product" width="931" height="106" data-path="images/essentials/condition-sets/cart-has-no-shipping-product.webp" />

### Cart has digital product

This condition checks whether the cart contains at least one digital product (A product that does not require shipping). If present, the condition is considered met.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/cart-has-digital-product.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=6ca067910c594238f00ca31a5c49f48e" alt="Cart has digital product" width="936" height="107" data-path="images/essentials/condition-sets/cart-has-digital-product.webp" />

### Cart has no digital product

This condition checks whether the cart does not contain any digital product (i-e All products require shipping). If no such product is present, the condition is considered met.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/cart-has-no-digital-product.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=8052ff72e520469987b383b2ab0ad8d5" alt="Cart has no digital product" width="936" height="107" data-path="images/essentials/condition-sets/cart-has-no-digital-product.webp" />

### Cart has one time purchase product

This condition checks whether the cart contains at least one product that is a one time purchase. If present, the condition is considered met.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/cart-has-one-time-purchase-product.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=7a39ade61b3f9bd2f56324e4e766f214" alt="Cart has one time purchase product" width="1174" height="130" data-path="images/essentials/condition-sets/cart-has-one-time-purchase-product.webp" />

### Cart has no one time purchase product

This condition checks whether the cart contains no products that are one time purchases. If no one time purchase products are present, the condition is considered met.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/cart-has-no-one-time-purchase-product.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=e738204dee8093d951dbd8f7910c2de9" alt="Cart has no one time purchase product" width="1171" height="132" data-path="images/essentials/condition-sets/cart-has-no-one-time-purchase-product.webp" />

### Cart has subscription product

This condition checks whether the cart contains at least one product that is part of a subscription. If a subscription product is present, the condition is considered met.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/cart-has-subscription-product.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=50789cadfdd371cfd4069e03f9a3a720" alt="Cart has subscription product" width="1165" height="135" data-path="images/essentials/condition-sets/cart-has-subscription-product.webp" />

### Cart has no subscription product

This condition checks whether the cart contains no products that are part of a subscription. If no subscription products are present, the condition is considered met.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/cart-has-no-subscription-product.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=cee3f5f2132e642294cdf9bced97c575" alt="Cart has no subscription product" width="1167" height="132" data-path="images/essentials/condition-sets/cart-has-no-subscription-product.webp" />

## Product Metafield

### Product variant metafield

This condition checks a **product variant metafield** you specify by **namespace** and **key**, then evaluates it using one of the following sub-conditions:

* **Has any of these values** (Matches if the metafield has at least one of the entered values)
* **Does not have any of these values** (Matches if the metafield has none of the entered values)
* **Has any other value besides these values** (Matches if the metafield has a value that is not among the entered values)
* **Does not have any other value besides these values** (Matches if the metafield has only the entered values and no others)
* **Has empty value** (Matches if the metafield has no value)
* **Does not have empty value** (Matches if the metafield contains any value)
* **Has number greater than or equal to** (Matches if the metafield’s numeric value is greater than or equal to the entered number)
* **Has number less than or equal to** (Matches if the metafield’s numeric value is less than or equal to the entered number)
* **Has number of values greater than or equals** (Matches if the **count** of values in the metafield is greater than or equal to the entered number)
* **Has number of values less than or equals** (Matches if the **count** of values in the metafield is less than or equal to the entered number)

For **Has any of these values**, **Does not have any of these values**, **Has any other value besides these values**, and **Does not have any other value besides these values**, enter one or more values into the field. Separate multiple values with commas.

> For example, `Namespace: shipping` · `Key: allowed_regions` · `Does not have any of these values: CA, TX` → Matches if neither “CA” nor “TX” appears in the metafield.

<img src="https://mintcdn.com/storespark/LBBqRFszCrC9aDAu/images/essentials/condition-sets/product-variant-metafield-does-not-contains.webp?fit=max&auto=format&n=LBBqRFszCrC9aDAu&q=85&s=3403f7e59ec2807a1d24bd6e8454252b" alt="Product Variant Metafield Does Not Contains" width="1181" height="285" data-path="images/essentials/condition-sets/product-variant-metafield-does-not-contains.webp" />

For **Has number greater than or equal to** and **Has number less than or equal to**, enter a single numeric value in the field to match against the metafield’s numeric value.

> For example, `Namespace: specs` · `Key: length_mm` · `Has number greater than or equal to 50` → Matches if the metafield’s numeric value is 50 or more.

<img src="https://mintcdn.com/storespark/LBBqRFszCrC9aDAu/images/essentials/condition-sets/product-variant-metafield-greater-value.webp?fit=max&auto=format&n=LBBqRFszCrC9aDAu&q=85&s=df021bf0c5531d5a32114e17231899d3" alt="Product Variant Metafield Greater Value" width="1168" height="238" data-path="images/essentials/condition-sets/product-variant-metafield-greater-value.webp" />

For **Has number of values greater than or equals** and **Has number of values less than or equals**, enter a single numeric value in the field to match against the count of values in the metafield.

> For example, `Namespace: custom` · `Key: available_colors` · `Has number of values greater than or equals 3` → Matches if there are three or more values in the metafield.

<img src="https://mintcdn.com/storespark/LBBqRFszCrC9aDAu/images/essentials/condition-sets/product-variant-metafield-greater-value-or-equals.webp?fit=max&auto=format&n=LBBqRFszCrC9aDAu&q=85&s=0bb96fb8cebc2edc89acfc56b4db7c23" alt="Product Variant Metafield Greater Value Or Equals" width="1167" height="246" data-path="images/essentials/condition-sets/product-variant-metafield-greater-value-or-equals.webp" />

## Shipping

### Selected shipping method

This condition checks the customer’s **selected shipping method** against specific criteria, based on one of the following sub-conditions:

* **contains** (The selected shipping method includes the entered value)

* **does not contain** (The selected shipping method does not include the entered value)

* **is** (The selected shipping method exactly matches the entered value)

* **is not** (The selected shipping method does not exactly match the entered value)

To set these conditions, enter the value in the field and choose the appropriate comparison from the dropdown.

> For example, `contains Express` → Matches any selected shipping method that includes “Express”.

<img src="https://mintcdn.com/storespark/8qTRK-A8nfquzM_u/images/essentials/condition-sets/selected-shipping-method-contains.webp?fit=max&auto=format&n=8qTRK-A8nfquzM_u&q=85&s=deb3ef35cff8656ffb69f65e1e13da43" alt="Selected Shipping Method Contains" width="932" height="105" data-path="images/essentials/condition-sets/selected-shipping-method-contains.webp" />

### Shipping methods available

Used to check if the given shipping methods are actually available on the checkout page, based on one of the following sub-conditions:

* **Has any of these values** (Matches if the checkout page contains at least one of the listed shipping methods)
* **Does not have any of these values** (Matches if the checkout page does not contain any of the listed shipping methods)
* **Has any other value besides these values** (Matches if the checkout page contains shipping methods other than the listed ones)
* **Does not have any other value besides these values** (Matches if the checkout page contains only the listed shipping methods and no others)
* **Has number of values greater than or equals** (Matches if the number of shipping methods available on the checkout page is greater than or equal to the specified number)
* **Has number of values less than or equals** (Matches if the number of shipping methods available on the checkout page is less than or equal to the specified number)

For **Has any of these values**, **Does not have any of these values**, **Has any other value besides these values**, or **Does not have any other value besides these values**, enter one or more values to match. Separate multiple values with commas.

<Note>
  Use \* wildcard to match partial shipping method names. For example, Stand\*
  will match Standard, standard shipping etc.
</Note>

> For example, `Has any of these values: Express Delivery, Standard Shipping` → Matches if at least one of the selected shipping methods is available.

<img src="https://mintcdn.com/storespark/LBBqRFszCrC9aDAu/images/essentials/condition-sets/multiple-shipping-methods.webp?fit=max&auto=format&n=LBBqRFszCrC9aDAu&q=85&s=60581af5802e8f2a408135f3b52f47c7" alt="Multiple Shipping Methods" width="1178" height="245" data-path="images/essentials/condition-sets/multiple-shipping-methods.webp" />

For **Has number of values greater than or equals** or **Has number of values less than or equals**, enter the count threshold.

> For example, `Has number of values greater than or equals 3` → Matches if three or more shipping methods are available.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/count-shipping-methods.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=e2024359a7e95d04541e0b7ac652b105" alt="Count Shipping Methods" width="1172" height="132" data-path="images/essentials/condition-sets/count-shipping-methods.webp" />

### Selected shipping type (Ship/Pickup)

This condition checks the "Ship vs Pickup in store" selection on the checkout page, as shown below.

<img src="https://mintcdn.com/storespark/8qTRK-A8nfquzM_u/images/essentials/condition-sets/shipping-pickup-type.webp?fit=max&auto=format&n=8qTRK-A8nfquzM_u&q=85&s=84653cbe1deb251ae4252e69bc5f4f35" alt="Checkout Page Shipping vs Pickup Type Selection" width="1088" height="348" data-path="images/essentials/condition-sets/shipping-pickup-type.webp" />

It will become true if the selected shipping type is the same as the entered value, based on one of the following sub-conditions:

* **is** (Matches if the Delivery selection is exactly as the entered value)
* **is not** (Matches if the Delivery selection is different from the entered value)

For any of the above options, choose one shipping type from the list: **Pickup**, **Local delivery**, **Shipping**, **Pickup point**, **Retail**, or **None**.

> **Example:** `is not: Pickup` → Matches if the selected shipping type is anything other than “Pickup”, i-e it is "Ship".

<img src="https://mintcdn.com/storespark/8qTRK-A8nfquzM_u/images/essentials/condition-sets/select-shipping-type.webp?fit=max&auto=format&n=8qTRK-A8nfquzM_u&q=85&s=8b3a9efc35782accac40995112bb9bbd" alt="Select Shipping Type" width="1172" height="136" data-path="images/essentials/condition-sets/select-shipping-type.webp" />

## Localization

### User language

This condition checks the language selected by the customer, based on one of the following sub-conditions:

* **Has any of these values** (Matches if the customer language is from the given list)
* **Does not have any of these values** (Matches if the customer language is not from the given list)
* **Has any other value besides these values** (Matches if the customer language is not from the given list)
* **Does not have any other value besides these values** (Matches if the customer language is from the given list and no others)

For any of the above options, search and select one or more languages from the list. You can also use the **Paste**, **Copy all**, or **Clear all** options for quick selection.

> For example, `Does not have any of these values: English, French` → Matches if the field does not contain “English” or “French”.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/languages.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=ae78f46939a24093ce1ec077cbe1ad31" alt="Languages" width="776" height="426" data-path="images/essentials/condition-sets/languages.webp" />

## Shipping Address

### Shipping address is empty

This condition becomes true if the shipping address fields are empty.

<img src="https://mintcdn.com/storespark/8qTRK-A8nfquzM_u/images/essentials/condition-sets/shipping-address-is-empty.webp?fit=max&auto=format&n=8qTRK-A8nfquzM_u&q=85&s=65a406e7022a8bcb52e5174b7b10f3c3" alt="Shipping Address Is Empty" width="933" height="101" data-path="images/essentials/condition-sets/shipping-address-is-empty.webp" />

### Shipping address is not empty

This condition becomes true if the shipping address fields are not empty.

<img src="https://mintcdn.com/storespark/8qTRK-A8nfquzM_u/images/essentials/condition-sets/shipping-address-is-not-empty.webp?fit=max&auto=format&n=8qTRK-A8nfquzM_u&q=85&s=ef02f01c671ae533109f0ffe568676a5" alt="Shipping Address Is Not Empty" width="937" height="107" data-path="images/essentials/condition-sets/shipping-address-is-not-empty.webp" />

### Full name (First name + Last name)

Used to compare the customer’s full name with one or more specific values, counts, or states, based on one of the following sub-conditions:

* **Contains** (Matches if the full name contains the specified value or partial value)
* **Does not contain** (Matches if the full name does not contain the specified value or partial value)
* **Is empty** (Matches if no name is entered)
* **Is not empty** (Matches if any value is entered in the name field)
* **Is** (Matches if the full name exactly matches the specified value)
* **Is not** (Matches if the full name is not exactly the specified value)
* **Has no of characters greater than or equals** (Matches if the total character count in the name is greater than or equal to the specified number)
* **Has no of characters less than or equals** (Matches if the total character count in the name is less than or equal to the specified number)
* **Has only** (Matches if the full name contains only the allowed character type from the dropdown)
* **Does not have only** (Matches if the full name contains characters other than the allowed character type from the dropdown)

For **Contains**, **Does not contain**, **Is**, and **Is not**, enter the value to match.

> For example, `Does not contain: Test` → Matches if the name does not contain “Test” anywhere.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/full-name-does-not-contain.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=a29de4065a255e638cd7a978190cdffe" alt="Full Name Does Not Contain" width="1168" height="132" data-path="images/essentials/condition-sets/full-name-does-not-contain.webp" />

For **Has only** and **Does not have only**, select the character type from the dropdown:

* **English characters** (Allows only A–Z and a–z)
* **English characters + accent variants** (Allows A–Z, a–z, plus accented characters like é, ñ, ö)
  > For example, `has only: english characters` → Matches if the customer’s name contains english characters only.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/full-name-has-only-english-chars.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=04efa9c8b0b66de8bfbb72e2f4af4b79" alt="Full Name Has Only English Chars" width="1172" height="136" data-path="images/essentials/condition-sets/full-name-has-only-english-chars.webp" />

For **Has no of characters greater than or equals** or **Has no of characters less than or equals**, enter the character count threshold.

> For example, `Has no of characters greater than or equals 10` → Matches if the full name contains 10 or more characters.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/full-name-has-greater-value.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=e323adb82a7d749508c9aeb1d7353b65" alt="Full Name Has Greater Value" width="1171" height="133" data-path="images/essentials/condition-sets/full-name-has-greater-value.webp" />

For **Is empty** and **Is not empty**, no value entry is needed.

> For example, `Is empty` → Matches if the full name field is left blank.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/full-name-is-empty.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=21e311bc6ec9a478d00ad8bb56aa476a" alt="Full Name Is Empty" width="1171" height="137" data-path="images/essentials/condition-sets/full-name-is-empty.webp" />

### First name

Used to compare the customer’s first name with one or more specific values, counts, or states, based on one of the following sub-conditions:

* **Contains** (Matches if the first name contains the specified value or partial value)
* **Does not contain** (Matches if the first name does not contain the specified value or partial value)
* **Is empty** (Matches if no first name is entered)
* **Is not empty** (Matches if any value is entered in the first name field)
* **Is** (Matches if the first name exactly matches the specified value)
* **Is not** (Matches if the first name is not exactly the specified value)
* **Has no of characters greater than or equals** (Matches if the total character count in the first name is greater than or equal to the specified number)
* **Has no of characters less than or equals** (Matches if the total character count in the first name is less than or equal to the specified number)
* **Has only** (Matches if the first name contains only the allowed character type from the dropdown)
* **Does not have only** (Matches if the first name contains characters other than the allowed character type from the dropdown)

For **Contains**, **Does not contain**, **Is**, and **Is not**, enter the value to match.

> For example, `Is not: Jane` → Matches if the first name is anything except “Jane”.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/first-name-is-not.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=52094b6c033b41d50d81aaa0096290c1" alt="First Name Is Not" width="1170" height="132" data-path="images/essentials/condition-sets/first-name-is-not.webp" />

For **Has only** and **Does not have only**, select the character type from the dropdown:

* **English characters** (Allows only A–Z and a–z)
* **English characters + accent variants** (Allows A–Z, a–z, plus accented characters like é, ñ, ö)
  > For example, `has only: english characters` → Matches if the first name contains english characters only.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/first-name-has-only.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=63d2dd1b09ec88beca3603b6ba225208" alt="First Name Has Only" width="1165" height="137" data-path="images/essentials/condition-sets/first-name-has-only.webp" />

For **Has no of characters greater than or equals** or **Has no of characters less than or equals**, enter the character count threshold.

> For example, `Has no of characters greater than or equals 5` → Matches if the first name contains 5 or more characters.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/first-name-has-greater-value.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=d774507d5f484f1cb09087d2ccba6f5e" alt="First Name Has Greater Value" width="1168" height="132" data-path="images/essentials/condition-sets/first-name-has-greater-value.webp" />

For **Is empty** and **Is not empty**, no value entry is needed.

> For example, `Is empty` → Matches if the first name field is left blank.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/first-name-is-empty.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=2ccc465fa730897afa06526979a96a8d" alt="First Name Is Empty" width="1172" height="140" data-path="images/essentials/condition-sets/first-name-is-empty.webp" />

### Last name

Used to compare the customer’s last name with one or more specific values, counts, or states, based on one of the following sub-conditions:

* **Contains** (Matches if the last name contains the specified value or partial value)
* **Does not contain** (Matches if the last name does not contain the specified value or partial value)
* **Is empty** (Matches if no last name is entered)
* **Is not empty** (Matches if any value is entered in the last name field)
* **Is** (Matches if the last name exactly matches the specified value)
* **Is not** (Matches if the last name is not exactly the specified value)
* **Has no of characters greater than or equals** (Matches if the total character count in the last name is greater than or equal to the specified number)
* **Has no of characters less than or equals** (Matches if the total character count in the last name is less than or equal to the specified number)
* **Has only** (Matches if the last name contains only the allowed character type from the dropdown)
* **Does not have only** (Matches if the last name contains characters other than the allowed character type from the dropdown)

For **Contains**, **Does not contain**, **Is**, and **Is not**, enter the value to match.

> For example, `Is not: Smith` → Matches if the last name is anything except “Smith”.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/last-name-is-not.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=1bdedd7622a79996d99b3eb651d78df4" alt="Last Name Is Not" width="1172" height="136" data-path="images/essentials/condition-sets/last-name-is-not.webp" />

For **Has only** and **Does not have only**, select the character type from the dropdown:

* **English characters** (Allows only A–Z and a–z)
* **English characters + accent variants** (Allows A–Z, a–z, plus accented characters like é, ñ, ö)
  > For example, `Has only: English characters` → Matches if the last name contains English characters only.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/last-name-has-only.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=cc1868ae432ca9ace74840012da43d5b" alt="Last Name Has Only" width="1161" height="131" data-path="images/essentials/condition-sets/last-name-has-only.webp" />

For **Has no of characters greater than or equals** or **Has no of characters less than or equals**, enter the character count threshold.

> For example, `Has no of characters greater than or equals 5` → Matches if the last name contains 5 or more characters.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/last-name-has-greater-value.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=efc6fd967d5cfeb766b700bc452c85e0" alt="Last Name Has Greater Value" width="1168" height="137" data-path="images/essentials/condition-sets/last-name-has-greater-value.webp" />

For **Is empty** and **Is not empty**, no value entry is needed.

> For example, `Is empty` → Matches if the last name field is left blank.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/last-name-is-empty.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=80d8758d90eb95d5af9bc5d47d5a3632" alt="Last Name Is Empty" width="1167" height="132" data-path="images/essentials/condition-sets/last-name-is-empty.webp" />

### P.O. box address

The selected condition is based on whether the customer's address includes a P.O. Box. This condition can be used to trigger specific actions, such as restricting certain shipping methods or applying special handling rules for orders going to P.O. Box addresses.

<Note>
  When you use the 'P.O. box address' condition in the rule, then all kind of
  entries in the shipping address like P.O. box or P O box or P.o b o x etc are
  detected by the app automatically. If you want to also detect a custom word or
  phrase, you can do that by using the 'Address line' condition within which you
  can specify the word or phrase you want to detect.
</Note>

<Info>
  If you want to detect PO Box words or phrase in other languages, you can do
  that by using the 'Address (line1 + line2)' condition within which you can
  specify the words or phrase you want to detect. For example, 'Packstation' in
  German. You can add mulitple of these conditions for each word using the OR
  operator in between them.
</Info>

<img src="https://mintcdn.com/storespark/LBBqRFszCrC9aDAu/images/essentials/condition-sets/p.o-box-address.webp?fit=max&auto=format&n=LBBqRFszCrC9aDAu&q=85&s=ab25c4cb10c74f840c6bff5d7bb5fcba" alt="P.O. box address" width="1166" height="135" data-path="images/essentials/condition-sets/p.o-box-address.webp" />

### Not P.O. box address

This condition becomes true if the customer’s address does not contain a P.O. Box.

<img src="https://mintcdn.com/storespark/LBBqRFszCrC9aDAu/images/essentials/condition-sets/not-p.o-box-address.webp?fit=max&auto=format&n=LBBqRFszCrC9aDAu&q=85&s=74868aa79210fae3b082163466b3acfb" alt="Not P.O. box address" width="1170" height="133" data-path="images/essentials/condition-sets/not-p.o-box-address.webp" />

### Address (line 1 + line 2)

Used to compare the customer’s full address (combined from Address Line 1 and Address Line 2) with one or more specific values, counts, or states, based on one of the following sub-conditions:

* **Contains** (Matches if the address contains the specified value or partial value)
* **Does not contain** (Matches if the address does not contain the specified value or partial value)
* **Is empty** (Matches if no address is entered in both lines)
* **Is not empty** (Matches if any value is entered in either line)
* **Has no of digits greater than or equals** (Matches if the total number of digits in the address is greater than or equal to the specified number)
* **Has no of digits less than or equals** (Matches if the total number of digits in the address is less than or equal to the specified number)
* **Has no of characters greater than or equals** (Matches if the total number of characters in the address is greater than or equal to the specified number)
* **Has no of characters less than or equals** (Matches if the total number of characters in the address is less than or equal to the specified number)
* **Has no of words greater than or equals** (Matches if the total number of words in the address is greater than or equal to the specified number)
* **Has no of words less than or equals** (Matches if the total number of words in the address is less than or equal to the specified number)
* **Has only** (Matches if the address contains only the allowed character type from the dropdown)
* **Does not have only** (Matches if the address contains characters other than the allowed character type from the dropdown)

For **Contains** and **Does not contain**, enter the value to match.

> For example, `Contains: Street` → Matches if the address contains the word “Street”.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/address-contains.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=7b7ac41bc7e83aca84a3c9ec657c00c8" alt="Address Contains" width="1171" height="132" data-path="images/essentials/condition-sets/address-contains.webp" />

For **Has only** and **Does not have only**, select the character type from the dropdown:

* **English characters** (Allows only A–Z and a–z)
* **English characters + accent variants** (Allows A–Z, a–z, plus accented characters like é, ñ, ö)
  > For example, `Has only: English characters` → Matches if the address contains English characters only.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/address-has-only.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=74db4ccdbdd8b235b2a6e2164844eb9c" alt="Address Has Only" width="1171" height="135" data-path="images/essentials/condition-sets/address-has-only.webp" />

For **Has no of digits/characters/words greater than or equals** or **less than or equals**, enter the threshold value.

> For example, `Has no of words greater than or equals 5` → Matches if the address contains 5 or more words.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/address-greater-than.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=1df1c0b9811e51f80a6356ccdcf16e7d" alt="Address Greater Than" width="1165" height="130" data-path="images/essentials/condition-sets/address-greater-than.webp" />

For **Is empty** and **Is not empty**, no value entry is needed.

> For example, `Is empty` → Matches if both Address Line 1 and Address Line 2 are blank.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/address-is-empty.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=eb8bff69b49564c7b1a38d6c5970b903" alt="Address Is Empty" width="1160" height="127" data-path="images/essentials/condition-sets/address-is-empty.webp" />

### Address line 1

Used to compare the customer’s address from Address Line 1 with one or more specific values, counts, or states, based on one of the following sub-conditions:

* **Contains** (Matches if Address Line 1 contains the specified value or partial value)
* **Does not contain** (Matches if Address Line 1 does not contain the specified value or partial value)
* **Is empty** (Matches if no value is entered in Address Line 1)
* **Is not empty** (Matches if any value is entered in Address Line 1)
* **Has no of digits greater than or equals** (Matches if the total number of digits in Address Line 1 is greater than or equal to the specified number)
* **Has no of digits less than or equals** (Matches if the total number of digits in Address Line 1 is less than or equal to the specified number)
* **Has no of characters greater than or equals** (Matches if the total number of characters in Address Line 1 is greater than or equal to the specified number)
* **Has no of characters less than or equals** (Matches if the total number of characters in Address Line 1 is less than or equal to the specified number)
* **Has no of words greater than or equals** (Matches if the total number of words in Address Line 1 is greater than or equal to the specified number)
* **Has no of words less than or equals** (Matches if the total number of words in Address Line 1 is less than or equal to the specified number)
* **Has only** (Matches if Address Line 1 contains only the allowed character type from the dropdown)
* **Does not have only** (Matches if Address Line 1 contains characters other than the allowed character type from the dropdown)

For **Contains** and **Does not contain**, enter the value to match.

> For example, `Contains: Street` → Matches if Address Line 1 contains the word “Street”.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/address1-contains.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=92d8e81de6a162020cbe169f1c0b88e1" alt="Address Line 1 Contains" width="1167" height="130" data-path="images/essentials/condition-sets/address1-contains.webp" />

For **Has only** and **Does not have only**, select the character type from the dropdown:

* **English characters** (Allows only A–Z and a–z)
* **English characters + accent variants** (Allows A–Z, a–z, plus accented characters like é, ñ, ö)
  > For example, `Has only: English characters` → Matches if Address Line 1 contains English characters only.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/address1-has-only.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=19702c17c36ce65db7f00cfa59988439" alt="Address Line 1 Has Only" width="1166" height="132" data-path="images/essentials/condition-sets/address1-has-only.webp" />

For **Has no of digits/characters/words greater than or equals** or **less than or equals**, enter the threshold value.

> For example, `Has no of words greater than or equals 5` → Matches if Address Line 1 contains 5 or more words.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/address1-greater-than.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=004d39ce2bb69d41a1baceaba49a9ebb" alt="Address Line 1 Greater Than" width="1168" height="132" data-path="images/essentials/condition-sets/address1-greater-than.webp" />

For **Is empty** and **Is not empty**, no value entry is needed.

> For example, `Is empty` → Matches if Address Line 1 is left blank.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/address1-is-empty.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=13953d792edd5ec97f09e46c9dfd7d40" alt="Address Line 1 Is Empty" width="1165" height="127" data-path="images/essentials/condition-sets/address1-is-empty.webp" />

### Address line 2 (Apartment, suite, etc)

Used to compare the customer’s address from Address Line 2 (Apartment, suite, unit, building, floor, etc.) with one or more specific values, counts, or states, based on one of the following sub-conditions:

* **Contains** (Matches if Address Line 2 contains the specified value or partial value)
* **Does not contain** (Matches if Address Line 2 does not contain the specified value or partial value)
* **Is empty** (Matches if no value is entered in Address Line 2)
* **Is not empty** (Matches if any value is entered in Address Line 2)
* **Has no of digits greater than or equals** (Matches if the total number of digits in Address Line 2 is greater than or equal to the specified number)
* **Has no of digits less than or equals** (Matches if the total number of digits in Address Line 2 is less than or equal to the specified number)
* **Has no of characters greater than or equals** (Matches if the total number of characters in Address Line 2 is greater than or equal to the specified number)
* **Has no of characters less than or equals** (Matches if the total number of characters in Address Line 2 is less than or equal to the specified number)
* **Has no of words greater than or equals** (Matches if the total number of words in Address Line 2 is greater than or equal to the specified number)
* **Has no of words less than or equals** (Matches if the total number of words in Address Line 2 is less than or equal to the specified number)
* **Has only** (Matches if Address Line 2 contains only the allowed character type from the dropdown)
* **Does not have only** (Matches if Address Line 2 contains characters other than the allowed character type from the dropdown)

For **Contains** and **Does not contain**, enter the value to match.

> For example, `Contains: Apt` → Matches if Address Line 2 contains the word “Apt”.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/address2-contains.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=1669c7b1c33a5a7c2bc8c360ab404182" alt="Address Line 2 Contains" width="1172" height="133" data-path="images/essentials/condition-sets/address2-contains.webp" />

For **Has only** and **Does not have only**, select the character type from the dropdown:

* **English characters** (Allows only A–Z and a–z)
* **English characters + accent variants** (Allows A–Z, a–z, plus accented characters like é, ñ, ö)
  > For example, `Has only: English characters + accent variants` → Matches if Address Line 2 contains English characters and accented characters.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/address2-has-only.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=2c50d0cef3c6fc8ca2b9587a9f11248f" alt="Address Line 2 Has Only" width="1167" height="130" data-path="images/essentials/condition-sets/address2-has-only.webp" />

For **Has no of digits/characters/words greater than or equals** or **less than or equals**, enter the threshold value.

> For example, `Has no of words greater than or equals 3` → Matches if Address Line 2 contains 3 or more words.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/address2-greater-than.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=cec73f1c12668e34e51808d1c039a254" alt="Address Line 2 Greater Than" width="1172" height="127" data-path="images/essentials/condition-sets/address2-greater-than.webp" />

For **Is empty** and **Is not empty**, no value entry is needed.

> For example, `Is empty` → Matches if Address Line 2 is left blank.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/address2-is-empty.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=bc29a8edc83529d74998db88c5d67feb" alt="Address Line 2 Is Empty" width="1171" height="132" data-path="images/essentials/condition-sets/address2-is-empty.webp" />

### Company

Used to compare the customer’s company name (The company name field on the checkout page) with one or more specific values, counts, or states, based on one of the following sub-conditions:

* **Contains** (Matches if the company name contains the specified value or partial value)
* **Does not contain** (Matches if the company name does not contain the specified value or partial value)
* **Is empty** (Matches if no company name is entered)
* **Is not empty** (Matches if any value is entered in the company name field)
* **Is** (Matches if the company name exactly matches the specified value)
* **Is not** (Matches if the company name is not exactly the specified value)
* **Has no of digits greater than or equals** (Matches if the total number of digits in the company name is greater than or equal to the specified number)
* **Has no of digits less than or equals** (Matches if the total number of digits in the company name is less than or equal to the specified number)
* **Has no of characters greater than or equals** (Matches if the total number of characters in the company name is greater than or equal to the specified number)
* **Has no of characters less than or equals** (Matches if the total number of characters in the company name is less than or equal to the specified number)
* **Has only** (Matches if the company name contains only the allowed character type from the dropdown)
* **Does not have only** (Matches if the company name contains characters other than the allowed character type from the dropdown)

For **Contains**, **Does not contain**, **Is**, and **Is not**, enter the value to match.

> For example, `Contains: Tech` → Matches if the company name contains the word “Tech”.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/company-contains.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=833658432a5fdaf681d85abc58b28b88" alt="Company Contains" width="1170" height="127" data-path="images/essentials/condition-sets/company-contains.webp" />

For **Has only** and **Does not have only**, select the character type from the dropdown:

* **English characters** (Allows only A–Z and a–z)
* **English characters + accent variants** (Allows A–Z, a–z, plus accented characters like é, ñ, ö)
  > For example, `Has only: English characters` → Matches if the company name contains English characters only.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/company-has-only.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=b7744754b5a307cdc76f6f57c65b09ed" alt="Company Has Only" width="1162" height="122" data-path="images/essentials/condition-sets/company-has-only.webp" />

For **Has no of digits/characters greater than or equals** or **less than or equals**, enter the threshold value.

> For example, `Has no of characters greater than or equals 10` → Matches if the company name contains 10 or more characters.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/company-greater-than.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=eba011562489ac99ad384a0465aa6967" alt="Company Greater Than" width="1168" height="127" data-path="images/essentials/condition-sets/company-greater-than.webp" />

For **Is empty** and **Is not empty**, no value entry is needed.

> For example, `Is empty` → Matches if the company name field is left blank.

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/essentials/condition-sets/company-is-empty.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=c62dea874b4ae93d727911cdee2811f6" alt="Company Is Empty" width="1167" height="123" data-path="images/essentials/condition-sets/company-is-empty.webp" />

### Phone number

Used to compare the customer’s phone number (The phone number field on the checkout page in shipping address) with one or more specific values, counts, or states, based on one of the following sub-conditions:

* **Contains** (Matches if the phone number contains the specified value or partial value)
* **Does not contain** (Matches if the phone number does not contain the specified value or partial value)
* **Is empty** (Matches if no phone number is entered)
* **Is not empty** (Matches if any value is entered in the phone number field)
* **Is** (Matches if the phone number exactly matches the specified value)
* **Is not** (Matches if the phone number is not exactly the specified value)
* **Has no of digits greater than or equals** (Matches if the total number of digits in the phone number is greater than or equal to the specified number)
* **Has no of digits less than or equals** (Matches if the total number of digits in the phone number is less than or equal to the specified number)

For **Contains**, **Does not contain**, **Is**, and **Is not**, enter the value to match.

> For example, `Contains: 123` → Matches if the phone number contains “123” anywhere.

<img src="https://mintcdn.com/storespark/LBBqRFszCrC9aDAu/images/essentials/condition-sets/phone-number-contains.webp?fit=max&auto=format&n=LBBqRFszCrC9aDAu&q=85&s=60e973dbfb090d2369408537e3484876" alt="Phone Number Contains" width="1168" height="129" data-path="images/essentials/condition-sets/phone-number-contains.webp" />

For **Has no of digits greater than or equals** or **Has no of digits less than or equals**, enter the threshold value.

> For example, `Has no of digits greater than or equals 10` → Matches if the phone number contains 10 or more digits.

<img src="https://mintcdn.com/storespark/LBBqRFszCrC9aDAu/images/essentials/condition-sets/phone-number-greater-than.webp?fit=max&auto=format&n=LBBqRFszCrC9aDAu&q=85&s=09d2db4e25c0bc976a6f2fddd15300d9" alt="Phone Number Greater Than" width="1171" height="130" data-path="images/essentials/condition-sets/phone-number-greater-than.webp" />

For **Is empty** and **Is not empty**, no value entry is needed.

> For example, `Is empty` → Matches if the phone number field is left blank.

<img src="https://mintcdn.com/storespark/LBBqRFszCrC9aDAu/images/essentials/condition-sets/phone-number-is-empty.webp?fit=max&auto=format&n=LBBqRFszCrC9aDAu&q=85&s=713226b65b4976f1927828b4b9972877" alt="Phone Number Is Empty" width="1172" height="130" data-path="images/essentials/condition-sets/phone-number-is-empty.webp" />

### Province code / State code

Used to compare the Province / State (The Province/State field on the checkout page in shipping address) values with one or more specific values or states, based on one of the following sub-conditions:

* **Has any of these values** (Matches if the province field contains at least one of the listed values)

* **Does not have any of these values** (Matches if the province field does not contain any of the listed values)

* **Has any other value besides these values** (Matches if the province field contains values other than the listed ones)

* **Does not have any other value besides these values** (Matches if the province field contains only the listed values and no others)

* **Is empty** (Matches if the province field has no value)

* **Is not empty** (Matches if the province field contains any value)

For **Has any of these values**, **Does not have any of these values**, **Has any other value besides these values**, **Does not have any other value besides these values**, enter one or more values to match. Separate multiple values with commas.

<Note>
  Add 2 or 3 letter province/state code abbreviation in "ISO\_3166-2" format
  only.
</Note>

> For example, `Does not have any other value besides these values: CA, TX` → Matches if the field contains only “CA” or “TX” and no other values.

<img src="https://mintcdn.com/storespark/LBBqRFszCrC9aDAu/images/essentials/condition-sets/multiple-provinces.webp?fit=max&auto=format&n=LBBqRFszCrC9aDAu&q=85&s=11b3f6f87701d6eb5798c5d2663ccd1e" alt="Multiple Provinces or States" width="949" height="210" data-path="images/essentials/condition-sets/multiple-provinces.webp" />

For **Is empty** and **Is not empty**, no value entry is needed.

> For example, `Is not empty` → Matches if any value is entered for the field.

<img src="https://mintcdn.com/storespark/LBBqRFszCrC9aDAu/images/essentials/condition-sets/province-not-available.webp?fit=max&auto=format&n=LBBqRFszCrC9aDAu&q=85&s=ad2638c1a1a27083cf6bb2126a640d81" alt="Province or State Not Available" width="932" height="106" data-path="images/essentials/condition-sets/province-not-available.webp" />

### Country

Used to compare the Country (The Country field on the checkout page in shipping address) values with one or more specific countries, based on one of the following sub-conditions:

* **Has any of these values** (Matches if the country field contains at least one of the selected countries)
* **Does not have any of these values** (Matches if the country field does not contain any of the selected countries)
* **Has any other value besides these values** (Matches if the country field contains countries other than the selected ones)
* **Does not have any other value besides these values** (Matches if the country field contains only the selected countries and no others)

For any of the above options, search and select one or more countries from the list. You can also use the **Paste**, **Copy all**, or **Clear all** options for quick selection.

> For example, `Does not have any other value besides these values: Portugal, Poland` → Matches if the field contains only “Portugal” or “Poland” and no other countries.

<img src="https://mintcdn.com/storespark/8qTRK-A8nfquzM_u/images/essentials/condition-sets/select-countries.webp?fit=max&auto=format&n=8qTRK-A8nfquzM_u&q=85&s=3af00c6e8983a5c5cdeabdd298024074" alt="Multiple Countries" width="795" height="422" data-path="images/essentials/condition-sets/select-countries.webp" />

### Zip code / Postal code

Used to compare the Zip code / Postal code (The Zip/Postal Code field on the checkout page in shipping address) values with one or more specific zip or postal codes, based on one of the following sub-conditions:

* **Has any of these values** (Matches if the zip/postal code field contains at least one of the listed values)
* **Does not have any of these values** (Matches if the zip/postal code field does not contain any of the listed values)
* **Has value in between these values** (Matches if the zip/postal code field value falls within the specified range)
* **Does not have value in between these values** (Matches if the zip/postal code field value does not fall within the specified range)
* **Has any other value besides these values** (Matches if the zip/postal code field contains values other than the listed ones)
* **Does not have any other value besides these values** (Matches if the zip/postal code field contains only the listed values and no others)
* **Has only digits** (Matches if the zip/postal code field contains only numeric characters)
* **Does not have only digits** (Matches if the zip/postal code field contains any non-numeric characters)
* **Has number of digits in between** (Matches if the number of digits falls within the specified range)
* **Does not have number of digits in between** (Matches if the number of digits does not fall within the specified range)
* **Is empty** (Matches if the zip/postal code field has no value)
* **Is not empty** (Matches if the zip/postal code field contains any value)

Use **Has any of these values**, **Does not have any of these values**, **Has any other value besides these values**, or **Does not have any other value besides these values** to match against one or more specific zip/postal codes. Separate multiple values with commas.

<Note>
  Use \* wildcard to match multiple zip codes. For example, BT\* will match BT12,
  bt-590 etc. Use ? to match to any single character.
</Note>

> For example, `Has any of these values: BT*` → Matches all zip/postal codes starting with “BT”.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/have-zipcodes.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=062028034923601a16661a885810b4e6" alt="Have Zipcodes" width="1176" height="348" data-path="images/essentials/condition-sets/have-zipcodes.webp" />

> Another example, `Does not have any of these values: 12345, 67890` → Matches if the code is not “12345” or “67890”.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/dont-have-zipcodes.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=892d823a2b72ef6d1fbb37b38203e2df" alt="Dont Have Zipcodes" width="1178" height="247" data-path="images/essentials/condition-sets/dont-have-zipcodes.webp" />

Use **Has value in between these values** or **Does not have value in between these values** to match zip/postal codes within or outside a numeric range.

<Note>
  Enter numbers only. All values ranging in between starting value until the
  last value will be matched, including the starting and last value.
</Note>

> For example, `Has value in between these values: 10000 – 20000` → Matches if the code is between “10000” and “20000”.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/in-between-value-zipcodes.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=0459e450d10a5735928238582846fd66" alt="In Between Value Zipcodes" width="1175" height="212" data-path="images/essentials/condition-sets/in-between-value-zipcodes.webp" />

Use **Has only digits** or **Does not have only digits** to match zip/postal codes that contain only numeric characters (0–9) or those that include any non-numeric characters, such as letters, spaces, or symbols.

> For example, `Has only digits` → Matches digits only (0–9).

<img src="https://mintcdn.com/storespark/8qTRK-A8nfquzM_u/images/essentials/condition-sets/zipcode-no-field-digits.webp?fit=max&auto=format&n=8qTRK-A8nfquzM_u&q=85&s=fcf48248b7b7e325dfb2a6bdb493ac26" alt="Zipcode No Field Digits" width="1175" height="133" data-path="images/essentials/condition-sets/zipcode-no-field-digits.webp" />

Use **Has number of digits in between** or **Does not have number of digits in between** to match based on the count of digits in the code.

<Note>
  Enter numbers only. All values ranging in between given number of digits will
  be matched.
</Note>

> For example, `Has number of digits in between: 4 – 6` → Matches codes that contain between 4 and 6 digits.

<img src="https://mintcdn.com/storespark/ofsiv6B2ZU5fNLt1/images/essentials/condition-sets/in-between-digits-zipcodes.webp?fit=max&auto=format&n=ofsiv6B2ZU5fNLt1&q=85&s=79f2039b53e2982e2900cfd6e49c6766" alt="In Between Digits Zipcodes" width="1170" height="211" data-path="images/essentials/condition-sets/in-between-digits-zipcodes.webp" />

Use **Is empty** or **Is not empty** when you only need to check whether the field is filled in.

> For example, `Is not empty` → Matches if any value is entered in the field

<img src="https://mintcdn.com/storespark/8qTRK-A8nfquzM_u/images/essentials/condition-sets/zipcode-no-field.webp?fit=max&auto=format&n=8qTRK-A8nfquzM_u&q=85&s=90dfba6028983e854759c20b4f3d92b2" alt="Zipcode No Field" width="1173" height="132" data-path="images/essentials/condition-sets/zipcode-no-field.webp" />

## Comparisons

### Product quantity per SKU vs Product quantity per SKU

This condition compares the **product quantity of one SKU** with the **product quantity of another SKU**, based on one of the following sub-conditions:

* **has quantity which is equal to** (Matches if the quantity of SKU1 is exactly equal to the quantity of SKU2)
* **has quantity which is not equal to** (Matches if the quantity of SKU1 is different from the quantity of SKU2)
* **has quantity which is greater than or equals to** (Matches if the quantity of SKU1 is greater than or equal to the quantity of SKU2)
* **has quantity which is less than or equals to** (Matches if the quantity of SKU1 is less than or equal to the quantity of SKU2)
* **has quantity which is multiple of** (Matches if the quantity of SKU1 is an exact multiple of the quantity of SKU2)
* **has quantity which is not multiple of** (Matches if the quantity of SKU1 is not an exact multiple of the quantity of SKU2)

To set these conditions:

<Steps>
  <Step title="Enter SKU for first product">
    Enter the <strong>SKU code</strong> for the first product in the <strong>Enter SKU1</strong> field.
  </Step>

  <Step title="Enter SKU for second product">
    Enter the <strong>SKU code</strong> for the second product in the <strong>Enter SKU2</strong> field.
  </Step>

  <Step title="Choose comparison option">
    Choose the comparison option from the dropdown.
  </Step>
</Steps>

> **Example for “has quantity which is greater than or equals to”**:\
> SKU1: `SKU-ABC`\
> SKU2: `SKU-XYZ`\
> → Matches when the quantity of `SKU-ABC` in the cart is greater than or equal to the quantity of `SKU-XYZ`.

<img src="https://mintcdn.com/storespark/8qTRK-A8nfquzM_u/images/essentials/condition-sets/sku-quantity-greater-equals.webp?fit=max&auto=format&n=8qTRK-A8nfquzM_u&q=85&s=d5b591a7f6148251426fc602caea07ec" alt="SKU Quantity Greater Equals" width="1171" height="186" data-path="images/essentials/condition-sets/sku-quantity-greater-equals.webp" />

> **Example for “has quantity which is multiple of”**:\
> SKU1: `SKU-A`\
> SKU2: `SKU-B`\
> Multiple: `2`\
> → Matches when the quantity of `SKU-A` is exactly 2×, 4×, 6×, etc., the quantity of `SKU-B` (e.g., `SKU-A` has 6 units and `SKU-B` has 3 units).

<img src="https://mintcdn.com/storespark/8qTRK-A8nfquzM_u/images/essentials/condition-sets/sku-quantity-multiple.webp?fit=max&auto=format&n=8qTRK-A8nfquzM_u&q=85&s=379cb102e7cf53ac3601d6b4804f8a79" alt="SKU Quantity Multiple" width="1167" height="183" data-path="images/essentials/condition-sets/sku-quantity-multiple.webp" />
