Hello,
So the first is a discount, but the
second is not really a discount. for the second, if the product is not
free, and in adding it you also discount it to 0, then you can do it,
provided you have at least one other item in the cart by using the buy x
get y function:
Function type: buy x get y
Value: 100%
Maximum discount qty: 1
Automatically get y to cart: check the box
Buy X
Number: 1
Type: product
Select the free product
Exclude
Get Y
Number: 1
Type: product
Select the free product
Include
Then you can use a combination coupon to create both discounts
Function type: combination
Process type: all that apply
Coupons: add the x% discount and the buy x get y coupon