Shopify's native sale and discount tools include standard compare-at pricing and automatic discounts. Both of these approach work with the Grocerist theme.
However, for more complex discounts, Shopify Scripts are leveraged along with additional display control. Here is a summary of the more sophisticated discounting options available.
Buy X, pay a discounted price
At grocery it is common for deals to be offered at a quantity threshold; at which point, the deal price carries through to any amount purchased. For example:
This product is regularly priced at $2.49; as noted on the PDP, if 3 or more are purchased, the unit price drops to $2.25. If a customer purchases 2, the unit price will stay at $2.49; if a customer purchases 6, they will all be charged at $2.25.

Configuring the discount
To execute this discount, the following product tags need to be applied to the product:
- discountQTY::3|2.25
- This tag is what triggers the actual discounting; the Grocerist script is looking for any tag with the prefix discountQTY::
- The 3 represents the quantity threshold to realize the discounted price
- The 2.25 is the new price once the quantity threshold is reached
- Separate the threshold value and the price value with a pipe |
- discountdisplay::$2.25/ea for 3 or more
- Since script discounts are only realized once items enter the cart, additional display is needed to be able to market these discounts to customers
- The product card on the PLP and the PDP will render the content of the tag after the prefix discountdisplay::

Buy 1, receive a discount on a second item
This discount is typically referred to as a BOGO (buy one, get one). This product has a Buy 1, Get 1 FREE discount applied.
Configuring the discount
To execute this discount, the following product tags need to be applied to the product:
- discountBOGO::100
- This tag is what triggers the actual discounting; the Grocerist script is looking for any tag with the prefix discountBOGO::
- The 100 represents the percentage of the selling price that every second item is to be discounted; in this case, 100% ie/ the entire price, making every second item FREE
- discountdisplay::Buy 1 Get 1 FREE
- Since script discounts are only realized once items enter the cart, additional display is needed to be able to market these discounts to customers
- The product card on the PLP and the PDP will render the content of the tag after the prefix discountdisplay::

Considerations
- The Grocerist script is not configurable in the Shopify admin. Scripts are written in Ruby and adjustments require developer input.
- For quantity-triggered discounts, the system will never auto-add an item to the cart; the user has to add the correct quantity to realize the discount