Summary
Make the available display-rule conditions consistent across Checkout Blocks, particularly for product-related conditions such as Product Collection, Product Tag, Product Type, Vendor, and Metafields.
Problem
Checkout Blocks currently exposes different product conditions depending on the type of block or customization being configured.
For example, Product Collection can be used as a condition in some checkout customizations, such as shipping-related rules, but may not be available as a condition when configuring other blocks that also operate in the context of products or cart line items.
Similarly, other product attributes, such as tags or product type, are available in some contexts but not others.
This makes it difficult to implement a single business rule consistently throughout checkout.
Example
A merchant may have a collection defined by to group products that are “pickup in store only”.
They can use the collection as a condition to prevent shipping for those products, but may not be able to use the same collection condition to display a general checkout message explaining why shipping is unavailable.
Instead, they may have to use a different representation of the same business rule.
This results in duplicated logic and makes the configuration unnecessarily difficult to maintain.
Requested improvement
Provide a consistent product/cart condition model across Checkout Blocks.
Where a block operates in a context in which a product or cart line item is available, merchants should be able to use the same relevant product attributes as conditions, including:
- Product collection
- Product tag
- Product type
- Product vendor
- Product metafields
- Product ID / variant ID
Ideally, these conditions should support a consistent set of operators such as:
- Is
- Is not
- Contains
- Does not contain
The available conditions could still be constrained where a particular condition genuinely makes no semantic sense, but the current arbitrary differences between block types should be avoided.
Why this matters
Checkout Blocks is increasingly being used to implement business logic rather than simply cosmetic checkout changes. Merchants therefore need to be able to express the same business rule consistently across multiple checkout components.
A unified condition model would:
- Reduce duplicated business logic.
- Make checkout configurations easier to understand and maintain.
- Reduce the need for workaround metafields or tags.
- Make the Checkout Blocks UI more predictable.
- Allow merchants to provide clearer contextual messaging when a checkout restriction is triggered.
In short, if Checkout Blocks can determine that a cart contains a product belonging to a particular collection for one purpose, merchants should be able to use that same fact when deciding whether another checkout block should be displayed.