Limiting buy-one-get-one coupon based on price

mwkdesignmwkdesign Member
in Help edited January 2015
Hi! My client's store is offering a buy-one-get-one coupon. They want to limit the amount of free stuff they give to any single customer. I'd like to place a dollar value limit on the coupon. Here is my current configuration:
Coupon Type: Discount by a percentage based on the quantity
Discount: incremental|2-100|3-0|4-100|5-0|6-100|7-0

This effectively limits the "buy-one-get-one" to a total of 3 free items per order.

An unexpected problem I am now running into: a few items in the store are significantly more expensive than average. And the store owner does not want to give away too many of these expensive items in any single order.

My first thought was to use categories to exclude certain items from the offer. However, we already have categories established for other offers (free shipping, retailers only, etc.). So unless I can assign a single product to multiple categories, that approach would conflict with other aspects of the store.

Is it possible to limit the buy-one-get-one to a certain price, instead of a limiting on quantity of items?

Here's an example product:

We are using Foxycart version 1.1

Any ideas would be greatly appreciated.
  • fc_adamfc_adam FoxyCart Team

    You can certainly limit a discount to a price - you'd change the coupon type to "discount by a percentage based on the price" or "discount by an amount based on the price", and then alter your tiers to be based on the total price of the respective items rather than the quantity.

    One thing to note with the BOGO type discount with products of different price points and applying a percentage discount - FoxyCart doesn't know which product to provide for free so it applies it to an average price.

    For example, say you had a $200 product and a $10 product in the cart, and had the BOGO coupon applied for 2-100 as a quantity/percentage discount. In that instance, the discount would be $105 - calculated by (200+10)/2
  • @fc_adam,
    Thanks for responding! But I am really struggling with the coupon logic. Here is what I want to offer: Buy-one-get-one, up to a max of $50 (i.e., no more than $50 of free merchandise will ever be given away in a single order). All items in the store have varying prices, and the offer should apply only in cases where the customer added 2 of the same item to their cart. Is this even possible?
  • fc_adamfc_adam FoxyCart Team

    Thanks for providing more details there. Unfortunately it sounds like our current coupon system may not cover what you're needing here.

    You mention that the coupon should only apply to 2 of the same item. What if a customer has 2 of 2 different products (so two of product A and two of product B) - should both of those products receive one of the products for free?

    As it stands - our coupon system won't check for multiples of individual products before applying a discount to the cart - it will simply look for the total quantity of the products that it can apply to. So for example, if I had one product A and one product B, that would apply your coupon discount in the same way that having just two of product A would.

    One approach you could take - instead of framing it as a BOGO type discount is to apply a discount of $X for $Y spent. So you could set it up like this:

    Buy $10 get $5 off
    Buy $20 get $10 off
    Buy $30 get $15 off
    Buy $100 get $50 off

    That way, it's not dependant on the quantity of the products in the cart, and you can restrict it to the total cost of the products in the cart, and limit the most that a customer could receive as a discount. Would something like that work?
  • @fc_adam, thanks! Your "$X for $Y" approach will work great here. Would you mind telling me how to configure that in Foxycart's coupon admin area?
  • fc_adamfc_adam FoxyCart Team

    Sure thing - it's essentially the same as what you had - but you'd switch the coupon type to a "discount by an amount based on the price", "single" discount type with tiers as you need them, so the discount details could look like "single|10-5|20-10|30-15"
  • @fc_adam, perfect! thank you.
Sign In or Register to comment.