Необходимо добавить дополнительные функционал в Корзину:
+ N штук бесплатных единиц товара в заказ
+ Y штук бесплатных единиц товара в заказ за каждые S рублей от суммы товаров в Корзине
Подарочным является вариант вариативного товара, который скрыт от посетителя для заказа.
Товары должны отображаться на страницах корзины и при оформлении заказа, как подарочные: ниже основных товаров и сгруппировано.
Подарочные товары суммируются между собой и у посетителя есть выбор между подарочными товарами, пример:
Заказ на сумму 100 000 рублей
+ 3 (N) штуки за заказ
+ 40 (Y x (сумма корзины / S )) штук за заказ за каждые + 2500 (S) рублей
Итого: 43 (f) штуки подарочных товаров в Ваш заказ
Посетитель может распределить количество подарочных штук между 4 предлагаемыми вариантами разных подарочных товаров.
Переменные N, Y, S - можно настроить и менять значения (можно через редактор php)
Более конкретный пример могу скинуть при более детальном общении