Promo Codes & Discounts

BOGO: Buy X, get Y free or discounted

Set up Buy-One-Get-One promos that work across products, services, or categories.

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

  1. Pick Type: BOGO in the discount section
  2. Buy quantity — how many qualifying items the customer must add (e.g., 2)
  3. Get quantity — how many items they get the discount on (e.g., 1)
  4. 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.

Was this article helpful?

Still need help?

Our support team is available Monday to Friday, 9am to 6pm EST.