Setting a coupon code for one product in an order

Topic summary

Goal: Allow each customer to select one free product from a specific collection of four.

Issue: A single-use coupon currently applies to the entire order, so customers can add two products and the discount covers more than one item.

Desired behavior: Restrict the discount so it only makes one selected product free, preventing application to additional items in the same cart.

Follow-up/Latest update: After receiving suggestions (details not shown), the author favors the first proposed solution and asks how to implement a cart rule (i.e., a condition that must be met for a discount to apply). Specifically, they want to know if the coupon can be made usable only when the cart contains exactly one product.

Status: No implementation steps provided yet; guidance is requested on configuring cart-level conditions to enforce the “one free item only” rule. The discussion remains open.

Summarized with AI on January 19. AI used: gpt-5.

Hello!

I want to enable my customers to select one free product from a collection.

Even though I’ve restricted the coupon code to be used only once, a customer can still add two products to the cart and then apply the coupon code to the entire order. How can this issue be resolved?

Each customer should be able to choose one product from a collection of four, and this selected product should be free, without allowing the customer to apply the coupon code to more than one product.

Thank you for replying, the first solution seems great!

How can I set a cart rule to be met in order for a discount to be applied? Is it possible for example to set a rule that a coupon is only available for use if there is only one product in the cart?