Multiple Coupons in a Basket

You can configure your coupons so that customers can redeem multiple coupon codes in the same order.

For example, a site enables teachers to order books for multiple students. Each student can select one or more books, and then use a coupon for a FREE BOOK. The coupon codes that are provided in this promotion belong to the same coupon, which is distributed individually to the students via a flyer or email. The teacher manually enters the book orders and the coupon codes into the site on behalf of the students. Each student presenting the coupon will get a free book.

When multiple coupon codes are in the basket (cart), each code is associated with a coupon line item. You enable this setting per-coupon. The default setting is No . When the setting is enabled for a coupon, it is only checked at coupon-add time. If the setting is changed from Yes to No later, coupon codes that are already in the basket are not affected.

Coupon validation is as follows for this setting:

  • If a coupon uses limits per code, the limits are validated the same as for other promotions. A coupon code can't be added to the basket if it has already been redeemed up to its limits.
  • If a coupon uses limits per customer, then validation depends on past customer orders and coupon codes currently in the basket. For example, if a coupon can only be used 3 times per customer, and the customer has used it once in a previously placed order, and there are two coupon codes in the basket, Salesforce B2C Commerce doesn't allow another code for the same coupon to be added to the basket.
  • If a coupon uses limits per timeframe, then validation depends on past customer orders and coupon codes currently in the basket. For example, if a coupon can only be used 3 times in a week and the customer has used it once in an order they placed six days ago, and there are two coupon codes in the basket, B2C Commerce doesn't let another code for the same coupon be added to the basket.

When B2C Commerce applies a promotion to a basket, if the promotion is qualified by multiple coupon codes in the basket, the promotion might apply more often. These are some considerations:

  • If the promotion type doesn't support multiple coupon code applications, then the behavior doesn't change.
  • If the promotion type supports multiple applications, but the promotion is configured with the max applications field blank, there is no limit.
  • If the promotion type supports multiple applications, and the max applications setting is set to a finite number, then the promotion applies up to the max applications per coupon code. In other words, the effective maximum application is equal to the maximum applications allowed times the number of coupon codes.

This coupon setting merely extends the potential number of times a promotion can be applied. Otherwise, the standard B2C Commerce behavior applies. For promotions with purchase conditions, it isn't necessary to satisfy the purchase conditions multiple times. Products aren't discounted multiple times, and exclusivity rules remain the same.

There is one exception: product promotions of type With Amount of Qualifying Products and Without Qualifying Products that grant a Choice of Bonus Product discount. This promotion type shows a maximum applications field, though it isn't used. For example, a buy $75 worth of qualifying products and get bonus product promotion doesn't result in two bonus products granted if the customer has $150 worth of qualifying product in the basket. This promotion grants a bonus-product for each distinct coupon code in the basket. The amount of money isn't the triggering factor.

You can also implement this feature using B2C Commerce APIs.

See APIs for Coupons.