When to use BOGO
Classic upsell mechanic — drives quantity per order without a price cut on every item. Great for cafés, retail, and bundled services.
Examples:
- "Buy 2 lattes, get 1 free"
- "Buy any coffee + a pastry, get the pastry 50% off"
- "Order 3 services, pay for 2"
Create one: Marketing → Promos → New code → Type: BOGO
Screenshot: The BOGO config block showing Buy quantity, Get quantity, and "Get items at" mode (FREE / % / $)
The BOGO config block showing Buy quantity, Get quantity, and "Get items at" mode (FREE / % / $)
How to configure
- Pick Type: BOGO in the discount section
- Buy quantity — how many qualifying items the customer must add (e.g., 2)
- Get quantity — how many items they get the discount on (e.g., 1)
- Get items at — what the discount mode is:
- FREE — 100% off the get items
- % off — partial discount (e.g., 50% off)
- $ off — fixed dollar amount per get item
Tying buy and get to specific items
Use the Applies to section to specify which items count. Two patterns:
Same-item BOGO: Buy 2 lattes, get 1 latte free
- Applies to: Categories, "coffee"
- Buy quantity: 2, Get quantity: 1, Get at: FREE
Cross-item BOGO: Buy any coffee, get a pastry 50% off
- Buy categories: "coffee"
- Get categories: "pastry"
- Buy quantity: 1, Get quantity: 1, Get at: 50% off
The buy-side and get-side categories are configured separately at the API level. The visual editor for cross-category BOGO is coming soon — for now, use category names that map to your existing product categories.
Cheapest-first selection
When the discount applies, Wemu picks the cheapest qualifying items to discount — so the customer's bill drops by the maximum possible amount. This is industry convention; other POS systems do the same.
Example: "Buy 2 get 1 free" with a $5 latte, $7 latte, and $10 latte in cart → the $5 latte becomes free, customer pays for the $7 and $10.
Sets and unused buy units
The number of complete BOGO sets is calculated as `floor(total_buy_qty / buy_quantity)`. Each set unlocks one batch of get-side discount.
5 lattes with "buy 2 get 1 free" → `floor(5/2) = 2 sets` → 2 lattes free, 3 lattes paid for, 1 latte unused (left over from the buy side).
Limitations (for now)
- BOGO works on product orders through the storefront. The booking checkout doesn't yet send per-item cart detail to the BOGO engine — that's a follow-up release.
- No "spend more, save more" tiers (use a percentage promo with a min order value instead).
- No combo bundle pricing (e.g., "service A + B = flat $X") — separate feature in the roadmap.