Eligibility conditions let you set requirements for applying a discount. Conditions narrow down which customers or orders receive the discount.
If no conditions are set, the campaign applies to all customers.
When multiple conditions are added, you can combine them in one of the following ways:
Combination | Description |
|---|---|
All conditions must be met (AND) | Only customers who meet all configured conditions are targeted. |
Any condition can be met (OR) | Customers who meet at least one of the configured conditions are targeted. |
If a customer segment condition is included, only "All conditions must be met (AND)" can be selected.
Condition | Description | Example |
|---|---|---|
Cart subtotal price | Based on the subtotal of items in the cart. | Apply for orders over $50 |
Cart item quantity | Based on the total number of items in the cart. | Apply when 2 or more of Item A are added |
Customer login status | Based on whether the customer is logged in or not. | Apply to logged-in members only |
Customer tag | Based on tags assigned to the customer. | Apply to customers with the "VIP" tag |
Customer segment | Based on the segment the customer belongs to. | Apply to customers in the "VIP" segment |
Customer total order count | Based on the customer's past order count. | Apply when total orders are 10 or more |
Customer total spent | Based on the customer's past total purchase amount. | Apply when total spent is $200 or more |
Customer metafield | Based on the customer's metafield value. | Apply to customers with membership rank "GOLD" |
Evaluates based on the subtotal of items in the cart. The subtotal is the amount before shipping, taxes, fees, and coupon discounts are applied.
Enter the amount in the store currency. When customers purchase in a currency other than the store currency, the subtotal is compared with the amount converted to that currency at the exchange rate.
Example: Item A ($10) × 2 + Item B ($5) × 1 → subtotal is $25.
Settings
Setting | Description |
|---|---|
Operator | Choose from: is equal to / is not equal to / is less than / is less than or equal to / is greater than / is greater than or equal to |
Amount | Enter the threshold amount. |
Applies to | Choose from "All products / Specific collection / Specific product" for the subtotal calculation. |
Under "Applies to", "Advanced settings" lets you narrow by purchase type and set products to exclude.
Setting | Description |
|---|---|
Purchase types to include | Choose All purchase types, One-time purchases only, or Subscriptions only. The subtotal uses only products of the purchase type you select. |
Exclude gifts | Excludes gift products from gift campaigns. |
Exclude sale products | Excludes products with a compare-at price (the price before the discount). |
Exclude pre-order products | Excludes RuffRuff Pre-Order products. |
Evaluates based on the total number of items in the cart.
Settings
Setting | Description |
|---|---|
Operator | Choose from: is equal to / is not equal to / is less than / is less than or equal to / is greater than / is greater than or equal to |
Quantity | Enter the threshold quantity (0 or more). |
Applies to | Choose from "All products / Specific collection / Specific product" for the quantity calculation. |
Only published collections and products with "Active" or "Draft" status are counted.
Under "Applies to", "Advanced settings" lets you narrow by purchase type and set products to exclude.
Setting | Description |
|---|---|
Purchase types to include | Choose All purchase types, One-time purchases only, or Subscriptions only. The quantity uses only products of the purchase type you select. |
Exclude gifts | Excludes gift products from gift campaigns. |
Exclude sale products | Excludes products with a compare-at price (the price before the discount). |
Exclude pre-order products | Excludes RuffRuff Pre-Order products. |
Example: If you set "Purchase types to include" to "Subscriptions only", set the quantity to 2 or more, and set "Purchase types to discount" to "One-time purchases only", you can discount one-time purchase products for customers who buy 2 or more subscription products.
Evaluates based on whether the customer is logged in. Use this to offer different benefits to logged-in members and guests.
Settings
Setting | Description |
|---|---|
Login status | Select via radio button: "Customer is logged in" or "Customer is not logged in." |
Evaluates based on tags assigned to the customer.
Settings
Setting | Description |
|---|---|
Match type | Choose from: Contains all / Contains any / Does not contain all / Contains none |
Customer tags | Enter the tags to evaluate (multiple values allowed). |
Match type details
Match type | Description |
|---|---|
Contains all | Targets customers who have all specified tags (AND). |
Contains any | Targets customers who have at least one specified tag (OR). |
Does not contain all | Targets customers who do not have all specified tags. |
Contains none | Targets customers who have none of the specified tags. |
For guest customers, conditions are evaluated after the customer enters their email address at checkout.
Evaluates based on the Shopify customer segment the customer belongs to.
Settings
Setting | Description |
|---|---|
Segment selection | Select the target customer segments. Up to 5 for "Automatic" and up to 100 for "Manual". |
When multiple segments are set, they are evaluated as OR — customers belonging to any one of the segments are targeted. When a customer segment condition is used, the condition combination is locked to "All conditions must be met (AND)."
Caution: You cannot save a campaign that exceeds the limit. "Array must contain at most 5 element(s)" ("Array must contain at most 100 element(s)" for "Manual") appears under the segment selector.
To use 6 or more segments, set "Method" to "Manual". You can choose "Method" on the create and duplicate screens, but not when editing a saved campaign.
Evaluates based on the value of a metafield assigned to the customer. Useful for custom attributes like "membership rank is GOLD."
Settings
Setting | Description |
|---|---|
Namespace and key | Specify the customer metafield to evaluate. Set via the edit button; the definition is shared across the campaign. |
Operator | Choose from: is equal to / is not equal to / is empty / is not empty / contains / does not contain / starts with / does not start with / ends with / does not end with |
Value | Enter the value to evaluate ("is empty" and "is not empty" do not require a value). |
The customer metafield (namespace and key) must be configured in Shopify Admin in advance. See "How to Use Customer Metafield Conditions" for details.
For guest customers, conditions are evaluated after entering their email at checkout. Since guests have no metafield, the metafield value is treated as an empty string.
Operator behavior examples
Using custom.rank — which customers are targeted based on their membership status:
Namespace · Key | Operator | Value | Member (rank is empty) | Member (rank = GOLD) | Member (rank = VIP) | Member (metafield doesn't exist) |
|---|---|---|---|---|---|---|
custom.rank | Is equal to | VIP | Not targeted | Not targeted | Targeted | Not targeted |
custom.rank | Is not equal to | VIP | Targeted | Targeted | Not targeted | Targeted |
custom.rank | Is empty | — | Targeted | Not targeted | Not targeted | Targeted |
custom.rank | Is not empty | — | Not targeted | Targeted | Targeted | Not targeted |
custom.rank | Contains | V | Not targeted | Not targeted | Targeted | Not targeted |
custom.rank | Does not contain | V | Targeted | Targeted | Not targeted | Targeted |
custom.rank | Starts with | V | Not targeted | Not targeted | Targeted | Not targeted |
custom.rank | Does not start with | V | Targeted | Targeted | Not targeted | Targeted |
custom.rank | Ends with | P | Not targeted | Not targeted | Targeted | Not targeted |
custom.rank | Does not end with | P | Targeted | Targeted | Not targeted | Targeted |
Guest customers have their metafield treated as an empty string, so they behave the same as "Member (rank is empty)."
Evaluates based on the customer's past number of orders.
Settings
Setting | Description |
|---|---|
Operator | Choose from: is equal to / is not equal to / is less than / is less than or equal to / is greater than / is greater than or equal to |
Count | Enter the threshold order count (0 or more). |
Example: Apply 10% off to customers who have placed 10 or more orders.
Guest customers are evaluated after entering their email at checkout.
Evaluates based on the customer's past total purchase amount.
Settings
Setting | Description |
|---|---|
Operator | Choose from: is equal to / is not equal to / is less than / is less than or equal to / is greater than / is greater than or equal to |
Amount | Enter the threshold amount. |
Example: Apply 10% off to customers who have spent $200 or more in total.
Guest customers are evaluated after entering their email at checkout.
Enter the amount in the store currency. When customers purchase in a currency other than the store currency, checkout compares total spent with the amount converted to that currency at the exchange rate.
For setup notes when you sell in other currencies, see How amounts work when you sell in other currencies.
Caution: In a cart in a currency other than the store currency, the discount may not apply to customers whose total spent exceeds the condition amount by only about 2% or less. If you sell in other currencies, set the condition amount about 2% lower.
Number of conditions: 0 or more conditions can be added freely.
Combining multiple conditions: Choose AND (all conditions must be met) or OR (any condition can be met). If a customer segment condition is included, only AND is available.
Product / collection limit: You can select up to 50 products and up to 50 collections. To include 51 or more products, or to target products by product tag, create a collection of those products and select "Specific collection". To target by product tag, create an automated collection that uses the tag as a condition.
Customer segment limit: A campaign can use up to 5 customer segments with "Automatic" and up to 100 with "Manual". This is Shopify's limit for discounts.
Guest customer handling: For customer tag and customer metafield conditions, guest customers are evaluated after entering their email at checkout.
How purchase types are handled: Products on purchase options without recurring delivery, such as pre-orders, are treated as one-time purchases.
Required permission: The first time you use "Purchase types to include", you must allow the "Read purchase options" permission. This permission is used only to read purchase options on products.