BOGO and Buy X Get Y offers on Shopify with Vitals: rewards, pricing and setup
Last updated on October 31, 2026

Yes, Vitals does BOGO and Buy X Get Y offers on Shopify. The Vitals app (Vitals: Reviews, Bundles & 40+ on the Shopify App Store) includes a Buy X Get Y offer in Upsell Builder for buy one get one free, buy 2 get 50% off, buy 3 get 1 free and similar deals. Shoppers claim the reward from the offer on the product page, or checkout can discount the cheapest qualifying item automatically. It comes in the same plan as product bundles, volume discounts, product reviews and 40+ other apps.
๐ Buy X Get Y at a glance
| Question | Answer |
|---|---|
| Deals | Buy 1 get 1 free, buy 2 get 50% off, buy 3 get 1 free, or any quantity you set in Quantity to buy |
| Reward discount | No discount, percentage off (100% makes it free), amount off per item, or a fixed price per item |
| Reward products | Smart match, or specific products or collections. Tick Let customers pick their own product to let shoppers choose the reward. |
| Several rewards | Yes, with Add new reward |
| Cheapest item free automatically | Yes, for an offer with exactly one reward: tick Discount the cheapest item automatically. It repeats per full set (buy 2 get 1 free: 6 items make the 2 cheapest free). Off by default. |
| Layouts | Products set (Modern) and "Y" in foreground (Classic) |
| Where it shows | Product page, cart page, Add to Cart pop-up, checkout pop-up and Thank you page |
| Cart and checkout | Rewards are grouped under the product bought, and discounts run on Shopify Functions in Shopify Checkout |
| Audience and timing | Schedule start and end dates, add a countdown timer, show it only in chosen Shopify Markets, and exclude Shopify B2B customers or customers with specific tags |
| Pricing | Included in the Vitals All-in-One plan, $29.99/month, with a 7-day free trial. Orders from Upsell Builder offers count toward Direct Revenue Assists: the first $1,000 a month is free, then usage fees start at $40/month (how usage tiers work). See the Shopify App Store listing for current pricing. |
When Buy X Get Y is not the right fit
- Automatic cheapest-item rewards with more than one reward. The automatic option only works when the offer has exactly one reward. Adding a second reward hides it, and shoppers then claim rewards through the offer widget.
- Discounting items outside the reward selection. Only products in the reward's selection can get the reward. Anything else stays full price.
- Every placement with many rewards. A placement shows Unavailable when the offer has more rewards than it supports.
๐ก Got a question about our Upsell Offers? We have a list of frequently asked questions about our Upsell Offers that you can check here: Upsell Builder FAQs
๐ก Upsell Builder offers apply as Shopify automatic discounts at checkout. When a product qualifies for more than one bundle, volume discount or Buy X Get Y offer, the higher discount applies to it. Use Discount combinations in the offer to choose which other discounts your offers can combine with. Learn more.
To create a Buy X Get Y offer, open Vitals from your Shopify admin, go to Upsell Builder and click Create bundle. On the Choose your offer type page, find Buy one, get many (BXGY) and click Choose on one of its two layouts:

- Products set - the offer's button sits centered below the products.
- "Y" in foreground - the offer's button sits to the right.
You can switch layouts later. In the product page appearance editor, the same choice appears under Layout as Modern (Products set) and Classic ("Y" in foreground).

Everything about your offer is set up on a single page. Work down its cards from top to bottom - Internal name, Applies to, Schedule, Discounts, Placements and Add to cart redirect - and watch the Preview beside them update as you go. When you're done, click Save as draft or Publish.
Internal name and Applies to

Start by giving the offer an Internal name. Only you see it, and it helps you tell your offers apart.
In the Applies to card, choose the products that unlock the offer - the "X" your shoppers need to buy.
Pick All products, or Specific products or collections and click Browse to select them. If some products inside your selection shouldn't unlock the offer, click Exclude specific products or collections to leave them out.
Then set Quantity to buy - how many of these products a shopper needs to buy to unlock the offer. For a "Buy 2, get 1" offer, enter 2.
Schedule

Use the Schedule card to decide when the offer runs. Under Publish offer, choose Immediately, or choose Schedule and set a Timezone, Start date and Start time. To stop the offer automatically, tick Set end date and choose an End date and End time. Leave it unticked to keep the offer running until you turn it off.
If your store sells in several Shopify Markets, a Visibility section in this card lets you show the offer in All markets, Specific markets, or All markets except the ones you pick.
Hiding the offer from certain customers
At the bottom of the card, under Exclude from this offer, you can choose who won't see the offer:
- Shopify B2B customers - hides the offer from customers who are logged in and buying for a company through Shopify B2B, so the promotion stays with your direct-to-consumer shoppers.
- Customers with specific tags - click Add tags and pick or type the customer tags to exclude. Anyone with one of those tags won't see the offer.
Excluded customers don't get the discount at checkout either. Both settings are off by default, and customers are only recognized once they're logged in to their account.
Discounts
The Discounts card sets what shoppers get - the "Y" - and how much they save.

First, enter a Discount name. This is the label your discount shows under in the cart and at checkout.
Show savings against decides which price your savings are shown against: Current price or Compare-at price (the default for new offers). If one of the products doesn't have a compare-at price, savings are shown against its current price. This only changes which price appears crossed out in the offer - the discount your shoppers get stays the same.
Below that, each Reward is something the shopper gets. For every reward, set:
- Quantity - how many items the shopper gets.
- Discount type - No discount, Percentage off, Amount off or Fixed price. For Percentage off and Amount off, enter the Discount per item. For Fixed price, enter the Total price.
- The reward products - keep Smart match, or choose Specific products or collections and click Browse.
- Let customers pick their own product - shows up when a reward has more than one product to choose from (for example, several products or Smart match). Tick it to let shoppers pick which product they get from a menu in the offer. It's unticked for every new reward.
Discounting the cheapest item automatically
For an offer with exactly one reward, you can also tick Discount the cheapest item automatically below the rewards. The offer then works like Shopify's own "Buy X, get Y" discount: once a shopper has enough qualifying items in their cart, the cheapest ones receive the reward at checkout, even if the shopper did not add them through the offer. For example, with a "Buy 2, get 1 free" offer, 3 items make the cheapest item free; 6 items make the 2 cheapest items free.
- Only products from the reward's selection can receive the reward. Anything outside it stays full price.
- Shoppers can still claim the offer through its widget as before, and both can be rewarded in the same cart.
- The option is off by default and set per offer, so nothing changes until you tick it and save the offer.
- Adding a second reward hides the option.
๐ก Tip: To give the reward away for free, choose Percentage off and enter 100. To show the offer without any discount, choose No discount.
Click Add new reward to add another reward. A collapsed reward sums itself up in its header (for example, Quantity 1 ยท Percentage off), and the icons beside it let you duplicate or delete it.
Placements

The Placements card controls where the offer appears. The Color theme at the top sets the accent color used across all placements. Below it is a row for each placement: Product page, Cart page, Pop-up on Add to Cart, Pop-up on Checkout and Thank you page. Use a row's On / Off toggle to turn that placement on or off, and expand the row to edit its content. If a placement shows Unavailable, the offer has more rewards than that placement supports - remove rewards to use it.
Product page - shows the offer directly on the product page.
Expand the row to edit the offer's text, such as its Header, Badge text and Button text. Click Customize appearance to change colors, sizing and the offer's position on the page, or to switch its Layout between Modern and Classic.
Under Position, choose Product description, Buy buttons section, Add to cart button or Product end section, then choose whether the offer appears above or below that section. For the Buy buttons and Product end sections, you can also place it inside the section at the top or end.
Position is shared by all your Buy X Get Y offers and applies across every theme where the Vitals app embed is enabled. To place an offer differently on one Online Store 2.0 theme, go to Shopify admin โ Online Store โ Themes โ Edit theme next to that theme. From the template menu at the top, choose Products and the product template. In the product section, click Add block, then choose Buy One Get One in the Apps section. Drag the block to the preferred location and click Save.
To add urgency, tick Add countdown timer (below Badge text). The countdown runs to your offer's end date and disappears once it passes, so the checkbox only becomes available after you set an end date in the Schedule card.
Cart page - suggests the offer when shoppers view their cart.
Thank you page - presents the offer after the shopper completes a purchase. Its Header is optional; leave it blank to show the widget without a heading. To learn more, see Displaying Post-Purchase upsell suggestions on the Thank You page.
Pop-up on Add to Cart - suggests the offer in a pop-up right after a shopper adds one of the offer's products to the cart.
This way, shoppers see the offer even if they add the product with your store's own button instead of the offer's.
Pop-up on Checkout - shows a last-chance offer before checkout completes.
Add to cart redirect
The Add to cart redirect card sets where shoppers go after they add the offer to the cart. It follows your store's default unless you choose a different option for this offer.
Saving and publishing
When you're happy with the offer, click Publish to make it live, or Save as draft to finish it later. A published offer still follows the dates in its Schedule card.
The More actions menu at the top of the offer page lets you Duplicate or Translate the offer, open its Analytics, or Suggest feature.
What shoppers see in the cart
When a shopper adds your offer to the cart, the items they get are grouped under the product they bought instead of showing up as separate items. You'll see this in the Vitals Cart Drawer and in Shopify Checkout, including when the offer is added from the Pop-up on Add to Cart, Cart page or Pop-up on Checkout placements. If a shopper removes the product they bought, the items grouped under it are removed too. There's nothing to set up.
One exception: if the reward is the exact same product variant as the one being bought (for example, buy a size M T-shirt, get a second size M T-shirt free), the reward appears as its own line in the cart.
Your offer on a sold-out product page
If a shopper opens the page of a product that has sold out, your offer still appears there so shoppers can see the deal, but its Add to cart button can't be used while a sold-out item is selected. If the product has other variants in stock, choosing one of those makes the button work again. Products pulled in as rewards from a collection or by Smart match are only offered while they're in stock.
An offer is still hidden completely if a product in it has been deleted or isn't published to your Online Store sales channel.
Frequently Asked Questions (FAQs)
Does Vitals have a BOGO app for Shopify?
Yes. The Buy X Get Y offer in Vitals Upsell Builder creates buy one get one free, buy 2 get 50% off and buy 3 get 1 free deals. It is part of the Vitals app, together with product bundles, volume discounts, product reviews and 40+ other apps.
Can Vitals make the cheapest item free automatically?
Yes, when the offer has exactly one reward. Tick Discount the cheapest item automatically in the Discounts card. Once the cart holds enough qualifying items, the cheapest ones get the reward at checkout. Only products in the reward's selection can be the free item, and the option is hidden when the offer has more than one reward.
How much does BOGO cost in Vitals?
Included in the Vitals All-in-One plan at $29.99/month, with a 7-day free trial. Orders from Upsell Builder offers count toward Direct Revenue Assists: the first $1,000 a month is free, then usage fees start at $40/month. Check the Shopify App Store listing for current pricing.
Can I give a free product with any purchase instead?
Yes, with a Gift Offer: set Applies to to All products, use the lowest spending goal (for example 0.01) and turn on Automatically add gift to cart. Use Buy X Get Y when the free product depends on the quantity bought.
