Canonical URL: https://chargezen.com/docs/checkoutos/discount-functions/bogo

# BOGO Offers

Buy X get Y promotions and variations

Last updated: 2025-01-16

**BOGO (Buy One Get One)** promotions are highly effective at driving volume. CheckoutOS supports flexible BOGO configurations — from classic "buy one get one free" to complex "buy 3 get 2 at 50% off" offers.

## BOGO Types

### Classic BOGO Free

Buy One Get One Free

```json
{
  "bogo": {
    "name": "Buy 1 Get 1 Free",
    "buy": {
      "quantity": 1,
      "products": {
        "type": "any",
        "in_collection": "t-shirts"
      }
    },
    "get": {
      "quantity": 1,
      "discount": 100,
      "products": {
        "type": "same_product"
      }
    }
  }
}
```

### Buy X Get Y

More flexible quantity combinations:

Buy 2 Get 1 Free

```json
{
  "bogo": {
    "name": "Buy 2 Get 1 Free",
    "buy": {
      "quantity": 2,
      "products": {
        "type": "in_collection",
        "collection": "skincare"
      }
    },
    "get": {
      "quantity": 1,
      "discount": 100,
      "products": {
        "type": "cheapest_in_cart"
      }
    }
  }
}
```

### Buy X Get Y at % Off

Buy 2 Get 1 50% Off

```json
{
  "bogo": {
    "name": "Buy 2 Get 1 Half Off",
    "buy": {
      "quantity": 2,
      "products": { "type": "any" }
    },
    "get": {
      "quantity": 1,
      "discount": 50,
      "products": {
        "type": "cheapest_in_cart"
      }
    }
  }
}
```

### Buy X Get Different Product

Buy Shampoo Get Conditioner Free

```json
{
  "bogo": {
    "name": "Free Conditioner with Shampoo",
    "buy": {
      "quantity": 1,
      "products": {
        "type": "specific",
        "product_ids": ["shampoo-001", "shampoo-002"]
      }
    },
    "get": {
      "quantity": 1,
      "discount": 100,
      "products": {
        "type": "specific",
        "product_ids": ["conditioner-001"],
        "auto_add": true
      }
    }
  }
}
```

## Product Selection Rules

#### 'Get' Product Options

*   Same product — Must match the "buy" product
*   Same collection — Any product in same collection
*   Cheapest in cart — Lowest priced qualifying item
*   Specific product — Designated "get" product
*   Customer choice — Let customer select from options

Customer Choice

```json
{
  "get": {
    "quantity": 1,
    "discount": 100,
    "products": {
      "type": "customer_choice",
      "options": ["gift-a", "gift-b", "gift-c"],
      "display": "dropdown",
      "prompt": "Choose your free gift"
    }
  }
}
```

## Stacking & Repeating

Control whether the offer can be used multiple times in one order:

Repeating BOGO

```json
{
  "bogo": {
    "name": "Buy 2 Get 1 Free (Unlimited)",
    "buy": { "quantity": 2 },
    "get": { "quantity": 1, "discount": 100 },
    "repeatable": true,
    "max_applications": null,
    "example": "Buy 6 → Get 3 free"
  }
}
```

Limited Application

```json
{
  "bogo": {
    "name": "Buy 2 Get 1 Free (Once)",
    "buy": { "quantity": 2 },
    "get": { "quantity": 1, "discount": 100 },
    "repeatable": false,
    "max_applications": 1,
    "example": "Buy 6 → Get 1 free"
  }
}
```

## Auto-Add to Cart

Automatically add the "get" product to cart:

Auto-Add Configuration

```json
{
  "get": {
    "quantity": 1,
    "discount": 100,
    "products": {
      "type": "specific",
      "product_id": "free-gift-001"
    },
    "auto_add": {
      "enabled": true,
      "trigger": "cart_qualifies",
      "message": "Free gift added to your cart!",
      "removable": false
    }
  }
}
```

## Display Options

BOGO Display

```json
{
  "display": {
    "product_page": {
      "show_badge": true,
      "badge_text": "Buy 2 Get 1 FREE",
      "show_calculator": true
    },
    "cart": {
      "highlight_free_items": true,
      "free_item_label": "FREE",
      "strikethrough_original": true,
      "show_savings": true
    },
    "collection_page": {
      "show_promotion_banner": true
    }
  }
}
```

## Conditions & Exclusions

BOGO Conditions

```json
{
  "conditions": {
    "date_range": {
      "start": "2025-02-01",
      "end": "2025-02-28"
    },
    "customer_eligibility": "all",
    "min_cart_value": null
  },
  "exclusions": {
    "products": ["already-discounted-001"],
    "collections": ["clearance"],
    "with_other_discounts": false
  }
}
```

## Promotion Messaging

BOGO Messaging

```json
{
  "messaging": {
    "promotion_title": "Buy 2 Get 1 Free",
    "qualification_message": "Add {{remaining}} more to get {{discount}}",
    "qualified_message": "You qualify for a free item!",
    "add_to_cart_prompt": "Add your free item →",
    "checkout_reminder": "Don't forget your free item!",
    "terms": "Free item must be of equal or lesser value"
  }
}
```

## BOGO Analytics

Track BOGO performance:

*   Offer usage rate
*   Average items per qualifying order
*   Revenue impact
*   Margin impact
*   Conversion lift

## Best Practices

##### BOGO Strategy

*   **Clear messaging** — Make the offer immediately understandable
*   **Protect margins** — Calculate profitability carefully
*   **Consider inventory** — Ensure stock for promotion volume
*   **Use on slow movers** — Great for clearing inventory
*   **Limit duration** — Creates urgency

## Related Topics

[

### Automatic Discounts

Auto-applied discount setup

Learn more



](https://chargezen.com/docs/checkoutos/discount-functions/automatic)[

### Tiered Pricing

Volume-based discounts

Learn more



](https://chargezen.com/docs/checkoutos/discount-functions/tiered)

Was this page helpful?

Need more help? [Contact support](https://chargezen.com/docs/checkoutos/troubleshooting/support)
