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.
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.
Name | Type | Description |
---|---|---|
type * | string enumeration | The type of action. For details, see the Action types reference in this guide. |
value * | integer | The amount by which to adjust the price. |
limit | integer | The maximum number of items that can benefit from the adjustment. |
limit_scope | string enumeration | The class of items that can benefit from the adjustment. Available options are product, variant, and line item. |
qty | integer | Quantity of a single product variant. |
price | integer | The discount price for a set quantity of product variants. |
name | string | A custom name for the action. |
case_price | integer | The discounted price for the entire case of a product. |
case_size | integer | The 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.
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.
Action | Description | Child Properties | Example use case |
---|---|---|---|
PRICE_ADJUST_PERCENT | Adjusts the prices of products by a given percentage. | type , value | Take 10% off the price of selected items. |
PRICE_ADJUST_RELATIVE ¹ | Adjusts the price of products by a fixed amount. | type , value | Take $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_scope | Lower the price by $5.00 on a maximum of four products. |
PRICE_ADJUST_ABSOLUTE | Changes the prices of products to the given amount. | type , value | Adjust 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_scope | Adjust the price to $4.00 for a maximum of four products. |
CART_LEVEL_DISCOUNT_PERCENT | Adjusts the cart subtotal by a given percentage. | type , value , name | Take 10% off the cart subtotal when the cart subtotal is $150 or more. |
CART_LEVEL_DISCOUNT_RELATIVE | Adjusts the cart subtotal by a fixed amount. | type , value , name | Take $10 off the cart subtotal when the cart subtotal is $150 or more. |
DISPLAY_QTY_BREAK | Displays a quantity break discount on the storefront. | type , qty , price | A 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 , value | Change the price from $4.56 to $4.99. |
ADD_FEE ² | Adds a customizable fee to products. | type , value , name | Add an ECO fee of $1.00 to a product. |
ADD_CART_FEE ² | Adds a shipping fee to products during checkout. | type , value , name | Add a shipping fee of $3.00 to a product. |
CASE_PRICING | Adjusts the price of products with respect to the price of the entire case of a product. | type , case_price , case_size | Discount 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.