Skip to main content

BOGO (Buy X Get Y)

BOGO (Buy One Get One) offers are a dedicated rule type that automatically adds free or discounted items to the cart when purchase conditions are met.

BOGO Modes

Same Product (XX)

The product the customer buys is also the product they receive. For example, "Buy 2, Get 1 Free" on the same product.

  • Receive Mode: matched or product__product
  • Products are added as new line items in the cart

Cross Product (XY)

The customer buys one product and receives a different product (or category of products).

  • Receive Mode: product__category
  • Example: "Buy a T-shirt, get a pair of socks at 50% off"

Configuration Fields

FieldDescription
bogo_purchase_quantityHow many units the customer must buy
bogo_receive_quantityHow many units the customer receives
bogo_pricing_methoddiscount_percentage, discount_amount, or fixed_price
bogo_pricing_valueThe value for the pricing method
bogo_productsWhich products are eligible
bogo_product_categoriesWhich categories are eligible for cross-product offers

How It Works

  1. PredictCart counts the total eligible purchase quantity in the cart
  2. It calculates how many offers apply (total purchase ÷ purchase required)
  3. For each offer, it computes the receive units and determines the discount amount (using the BOGO pricing method)
  4. The discount is applied to the eligible items in the cart
  5. Cart notices inform customers about active BOGO offers

Discounted items are marked with predictcart_bogo and predictcart_free meta flags to avoid feedback loops with other rules.