Skip to main content

Actions

Actions define how to adjust the prices of items in the product selection. Each action is essentially a type:value pair. The type defines what kind of adjustment to make, and the value determines the amount. An action is triggered when the conditions defined in its parent rule are satisfied.

note

On the Shopify platform, only adjustments that end in a price decrease will work as intended, unless the Bold Cashier app is installed, which requires special permissions to download. This is due to a limitation of Shopify’s DraftOrder. Be careful that when adding Fees, you match it with a discount so that the calculated price does not exceed the original price.

Action Properties

Price Rules actions support the following properties, depending on the action type (see Action property sets). An asterisk (*) indicates the property is required for all action types.

NameTypeDescription
type*string enumerationThe type of action. For details, see the Action types reference in this guide.
value*integerThe amount by which to adjust the price.
limitintegerThe maximum number of items that can benefit from the adjustment.
limit_scopestring enumerationThe class of items that can benefit from the adjustment. Available options are product, variant, and line item.
qtyintegerQuantity of a single product variant.
priceintegerThe discount price for a set quantity of product variants.
namestringA custom name for the action.
case_priceintegerThe discounted price for the entire case of a product.
case_sizeintegerThe number of products in a single case.

Action Types

Price Rules supports the following action types. Refer to the following table for information about each type and the child properties belonging to each.

note

When adding fees, adjusting prices, or adding a charm price, be sure to match an action with a discount so that the calculated price does not exceed the original price. Doing so might result in unexpected errors.

ActionDescriptionChild PropertiesExample use case
PRICE_ADJUST_PERCENTAdjusts the prices of products by a given percentage.type, valueTake 10% off the price of selected items.
PRICE_ADJUST_RELATIVE¹Adjusts the price of products by a fixed amount.type, valueTake $1.00 off the price of selected items.
PRICE_ADJUST_RELATIVE_WITH_LIMIT¹Adjusts the prices of a limited number of products by a fixed amount.type, value, limit, limit_scopeLower the price by $5.00 on a maximum of four products.
PRICE_ADJUST_ABSOLUTEChanges the prices of products to the given amount.type, valueAdjust the price of the selected items to $4.00.
PRICE_ADJUST_ABSOLUTE_WITH_LIMIT¹Changes the prices of a limited number of products to the given amount.type, value, limit, limit_scopeAdjust the price to $4.00 for a maximum of four products.
CART_LEVEL_DISCOUNT_PERCENTAdjusts the cart subtotal by a given percentage.type, value, nameTake 10% off the cart subtotal when the cart subtotal is $150 or more.
CART_LEVEL_DISCOUNT_RELATIVEAdjusts the cart subtotal by a fixed amount.type, value, nameTake $10 off the cart subtotal when the cart subtotal is $150 or more.
DISPLAY_QTY_BREAKDisplays a quantity break discount on the storefront.type, qty, priceA grid/table of available quantity break discounts on the storefront.
CHARM_PRICE²Sets the minor currency unit (such as cents) to a certain value. If the price starts as less than $1.00, this action does not apply.type, valueChange the price from $4.56 to $4.99.
ADD_FEE²Adds a customizable fee to products.type, value, nameAdd an ECO fee of $1.00 to a product.
ADD_CART_FEE²Adds a shipping fee to products during checkout.type, value, nameAdd a shipping fee of $3.00 to a product.
CASE_PRICINGAdjusts the price of products with respect to the price of the entire case of a product.type, case_price, case_sizeDiscount selected items when the customer buys an entire case of the product.

Footnotes

¹: This action has the potential to reduce the price to below $0. If that occurs, Price Rules will ignore this action. ²: On the Shopify platform the calculated price must not exceed the original, so CHARM_PRICE should be used along with a discount such that the final price does not exceed the original.