This recipe sets up a buy 2, get 1 free offer on one product with Dynamic Pricing. It takes one screen and about two minutes, and the cart totals below were measured on a real cart.
The offer starts at 3 in the cart. Buy 2, get 1 free is a block of three items: two paid, one free.
What you need
↑ Back to top- Dynamic Pricing, activated
- A simple or variable product with a price set
Configure the rule
↑ Back to top- Edit the product and open the Dynamic Pricing tab in the Product data panel.
- Click Add Pricing Group.
- Leave Applies To on Everyone and Quantities based on on Product Quantity.
- Set Rule Processing Mode to Special Offer, the mode for free and discounted items.
- Fill the row: Purchase 2, Receive 1, Type Percentage Discount, Amount 100, Repeating Yes.
- Click Update.

Percentage Discount 100 makes the received item free.
What each field does
↑ Back to top| Field | What it does |
|---|---|
| Purchase | How many items the customer pays for. |
| Receive | How many further items are discounted. |
| Type and Amount | Percentage Discount 100 makes the received items free. Percentage Discount 50 makes them half price. |
| Repeating | Yes applies the offer again for every further block of three. No gives one free item per order. |
What the customer is charged
↑ Back to topMeasured on a $30 product with the rule above, Repeating set to Yes:
| In cart | Full price | Charged | Free items |
|---|---|---|---|
| 2 | $60.00 | $60.00 | 0 |
| 3 | $90.00 | $60.00 | 1 |
| 6 | $180.00 | $120.00 | 2 |
The cart shows three items at $20 each: a cart line holds one price per item, so the discount is spread across the line.
Variations on the same rule
↑ Back to top| You want | Change |
|---|---|
| One free item per order | Repeating No |
| Buy 3, get 1 half price | Purchase 3, Receive 1, Percentage Discount 50 |
| Buy 1, get 1 free | Purchase 1, Receive 1. The customer needs 2 in the cart. |
| Wholesale customers only | Applies To Specific Roles, then pick the role |
| A weekend promotion | Fill Dates: (Inclusive). The rule switches itself on and off. |
| Any 3 from a category | Quantities based on Quantity of Category |
Keep each pricing group to one Special Offer row.
Every setting is described in the Dynamic Pricing documentation.