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:
matchedorproduct__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
| Field | Description |
|---|---|
bogo_purchase_quantity | How many units the customer must buy |
bogo_receive_quantity | How many units the customer receives |
bogo_pricing_method | discount_percentage, discount_amount, or fixed_price |
bogo_pricing_value | The value for the pricing method |
bogo_products | Which products are eligible |
bogo_product_categories | Which categories are eligible for cross-product offers |
How It Works
- PredictCart counts the total eligible purchase quantity in the cart
- It calculates how many offers apply (total purchase ÷ purchase required)
- For each offer, it computes the receive units and determines the discount amount (using the BOGO pricing method)
- The discount is applied to the eligible items in the cart
- 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.