Skip to main content
Buy X Get Y is storekit’s buy-one-get-one (BOGO) discount. When a customer buys more than one item from an eligible product or category, the cheaper item is discounted — by a set percentage, or made free.
Buy X Get Y discounts require storekit+

How It Works

You choose a set of eligible items — either specific products or a whole category. The discount only ever applies within that set:
  1. storekit looks at every eligible item in the basket, counting quantities (three of the same drink counts as three items).
  2. Those items are paired up, most expensive first. In each pair the more expensive item is charged at full price and the cheaper item is discounted.
  3. The discount on the cheaper item is a percentage you choose — up to 100%, which makes it free.
Because the deal pairs items within the same eligible set, the reward is always another one of the qualifying items. The customer sees the reduced price in their basket automatically once they have added enough eligible items.

Examples

These are the shapes Buy X Get Y can actually produce. In every case the qualifying item and the reward come from the same product or category.

What the Kitchen and Your POS Receive

The deal changes the price, not the basket. The customer adds both units themselves, so the order line carries the full quantity and the kitchen sees two of the item. Two identical units arrive as one line with a quantity of two; if the customer picks different modifiers or types a different note on each, they arrive as two separate lines. The saving is applied to the order, not to the line. Items are sent to your POS at their full price, and the discount arrives against the order — as an order-level total on most integrations, or as a separate discount line on TISSL. Either way the ticket never reads “second one free” beside the item. There is no way to attach a preparation instruction to an item on an order sent to your POS. Products have no kitchen-note or prep-note field in the dashboard, and a discount cannot add one, so nothing tells the kitchen to “prepare 2” beyond the quantity on the line. The only note that travels with an item is one the customer types: set Item Notes to Expanded or Collapsed at Stores → your store → SettingsOperations, and the note they add is sent with that item — see Order Injection →. The real risk is a customer adding one unit and expecting two, so tell them what to do. Add a notice at Stores → your store → SettingsStore Notices explaining that they must add two of the item to get the deal — see Store notices →.
Some stores instead duplicate the product and rename the copy (“Buy one get one free”) so the offer is spelled out on the ticket. That is a manual workaround rather than a storekit feature: you maintain two versions of the item, sales split across both in your reports, and on a POS-linked menu the duplicate has to exist in your POS as well.

What Buy X Get Y Cannot Do

Buy X Get Y is a buy-one-get-one on the same eligible items. It cannot give a free or discounted item that is different from the item the customer bought, and there is no “conditional bundle” discount in storekit. In particular, you cannot configure:
  • A different reward item — e.g. “buy 2 pizzas, get a free dip”. The reward is always another one of the eligible items, never a separate product.
  • A cross-category trigger and reward — e.g. “buy any main, get a free starter”, or “buy a burger, get a free side”. The trigger and the reward are the same set.
  • A fixed quantity threshold — e.g. “buy exactly 3, get the 4th free”. The deal pairs eligible items automatically (the cheaper of every two is discounted); it is not a “buy N to unlock” rule.
  • Auto-adding the reward — the customer must add the items themselves. The discount recalculates the price of items already in the basket; it never puts an extra item in the cart, so the kitchen only ever receives what the customer added: add one, and the ticket says one.

Building “buy 2 pizzas, get a free dip”

Because that is a different-item reward, use one of these instead:
  • A bundle product — create a single menu product (for example “2 Pizzas + Dip”) priced as the bundle, using modifiers to let the customer pick their pizzas. This is the reliable way to give a specific free extra with a purchase.
  • A minimum-spend discount — if the goal is simply to reward larger orders, set a percentage or fixed discount that only applies once the basket reaches a spend threshold. This does not add a specific free item, but it rewards the larger order.

Setting Up

The Buy X Get Y type is not available to select in the dashboard discount form — it is configured by the storekit team. To set one up:
  1. Decide on the eligible product(s) or category
  2. Choose whether the cheaper item is free or at a reduced percentage
  3. Contact support with your requirements
  4. The team will configure the discount for your store
Contact your storekit support team to configure Buy X Get Y discounts for your store.

Combining with Other Settings

Buy X Get Y discounts can be combined with: Only one storekit discount applies per order, so a Buy X Get Y deal does not stack with a code the customer enters or with another eligible promotion. When several automatic discounts qualify, storekit chooses by type rather than by value — free delivery on a delivery order first, then a fixed amount, then a percentage, and Buy X Get Y last — so another automatic promotion wins even when the deal would save the customer more. Rewards from a connected loyalty provider are calculated by that provider and sit outside this rule: a Piggy reward in the basket takes the place of the storekit discount, while a Como benefit is deducted alongside it.