How to restrict BOGO or BXGY promo to one use per customer?

Topic summary

A merchant is implementing a BOGO (Buy One Get One) promotion where customers receive one free product with a specific purchase, limited to one use per customer or household.

Current Implementation:

  • Using BOGOS app to trigger free product upsell at checkout
  • BSure Checkout Rules validates customer tags to block those who previously redeemed the promo
  • Checkout Blocks adds a remove button for the promo item

Core Problem:
The BOGOS app displays the upsell regardless of customer login status, before shipping information and customer tag validation occurs. The merchant needs the upsell to appear only after customer identity is confirmed and tags are validated.

Suggested Solutions:

  • Contact BOGOS support to customize popup behavior
  • Consider alternative apps like Dollarlabs: Ultimate Discounts that handle complex conditional rules

Status: The thread remains unresolved with no confirmed solution shared by the original poster.

Summarized with AI on October 28. AI used: claude-sonnet-4-5-20250929.

We’re running a promo where one free product is offered with the purchase of another specific product. This promo can only be used once per customer (ideally once per household) and this is where I’m running into an issue with the solutions I’ve tried. How do I only allow qualifying customers to add the free item to their cart?

The closest I’ve come to making this work is by having the free qualifying product offered as an upsell item in the checkout using BOGOS app that’s triggered when a qualifying product is in the cart. I’m then using BSure Checkout Rules to validate checkout and block customer from proceeding if product_tag is the BXGY item and the customer has a tag on their account indicating that they’ve redeemed the promo previously. And I’m using Checkout Blocks to add a remove button just on the promo item so that the customer can then remove that item from their checkout to proceed.

The problem with BOGOS is that it shows the upsell irregardless of whether the customer is logged in during checkout. Is there a way to only show an upsell once the customer has entered their shipping info and customer tag validated and if a particular product is in the cart?

1 Like

Ah @christodk , I think the approach you’ve taken is the right one here. Using the checkout validation function to block the cart is a great solution.

I’d suggest to raise this with “BOGOS” app’s support to see if they can customise the popup behavior / allow you to extend the logic of it yourself.

They’ll be the best ones to help in this case.

Or if you’re looking for an alternative that can solve for the same use case (free product add on) when specific conditions are met → we can help implement this easily on our discount app - “Dollarlabs: Ultimate Discounts” which solves for far more complex rules too.

Let me know - happy to assist :heart:

@christodk

Since quite some time has passed since you raised this thread, I’m assuming you’ve already reached at a solution :slightly_smiling_face:

If so - can you please share the same and close this thread out so that others who stumble here might also find value.

Best,

I think the workaround might work, but you are overcomplicating and blocking users with a validation check. Why not create a customer segment for your BXGY customers? If the offer is use it once for all customers, then it is easy to do it in Vista Checkout Rules & Discount BXGY app by creating one time discount code which can be used once by a customer - clean and simple!