To create a pricing rule, go to WooCommerce > Settings > Fees and Discounts and ensure that the ‘Enable Dynamic Pricing’ checkbox is selected.
Click on the ‘Dynamic Pricing’ menu link under the tabs.
Click ‘Add Rule’ to add a pricing rule.
Offer type
The ‘Offer type’ setting determines the type of pricing rule you’ll create. Choose from:
- Buy X Get X – use this setting if you want to create offers like buy one get one free and the product purchased is the same as the product discounted.
Example: Buy two apples, get one apple free - Buy X Get Y – this is a broader setting than Buy X Get X, also allowing you to create a buy one get one free type offer, but where the product purchased can be different from the product discounted
Example: Buy two apples, get a banana half price - Bulk Pricing – this allows you to create tiers where the price changes according to the quantity of product selected. See this article.
- Order Total – this allows you to create tiers where the overall cart total changes based on its current value.
Example: Buy $200 and get a 10% discount
Label
You can add some optional text to the price label to advertise your offer – e.g. ‘Buy one get one half price’.
Applies to
Use this setting to determine which products the offer will apply to. Choose from:
- All items – all items in the store will be eligible for the offer
- Specific categories – this will open a new field where you can select which categories are eligible for the offer
- Specific products – this will open a new field where you can select which products are eligible for the offer
Count by
The ‘Count by’ setting defines how to count items to trigger the offer. Choose from:
- All – if you select ‘All’ here, then all items in the cart will be totalled
- Product – if you select ‘Product’, the plugin will check totals on a product by product basis
Example: in a buy three, get one free offer, the customer has four different items in their cart – one banana, one apple, one peach and one pear. If the ‘Count by’ setting is set to ‘All’, then they qualify for the offer (because they have more than three items in their cart). However, if the ‘Count by’ setting is set to ‘Product’, they don’t qualify for the offer because they don’t have any products in a quantity of three or greater.
Buy
Enter how many items the customer needs to purchase to trigger the offer.
Get
Enter how many items will be discounted when the offer is triggered.
Max items
The maximum number of items that are eligible for the offer. If you want to limit the number of discounted products, enter the number here. Set to 0 to allow an unlimited number of items to qualify for the offer.
Adjustment type
The ‘Adjustment type’ setting defines the type of adjustment. Choose from:
- Fixed discount
- Percentage discount
- Fixed fee
- Percentage fee
Amount
Once you’ve chosen your adjustment type, enter the value of the adjustment here. Depending on whether you have chosen a fixed or percentage adjustment, the ‘Amount’ setting will either be a price value or a percentage.
Buy categories
If you choose ‘Specific categories’ under ‘Applies to’, you’ll see an extra field appear. ‘Buy categories’ allows you to define which product categories are eligible for the offer. Leave empty for all categories to be eligible.
Get categories
If you’ve chosen ‘Buy X Get Y’ in ‘Offer type’ and ‘Specific categories’ in ‘Applies to’, you’ll also see the ‘Get categories’ field. This allows you to define which categories the discounted items will be drawn from.
Buy products
If you choose ‘Specific products’ under ‘Applies to’, you’ll see an extra field appear. ‘Buy products’ allows you to define which products are eligible for the offer. Leave empty for all products to be eligible.
Get products
If you’ve chosen ‘Buy X Get Y’ in ‘Offer type’ and ‘Specific products’ in ‘Applies to’, you’ll also see the ‘Get products’ field. This allows you to define which products the discounted items will be drawn from.
There’s a detailed blog post about setting dynamic pricing in WooCommerce here.