Black Friday "Buy 3, Get the Cheapest Free" on Shopify

A tiered multi-buy discount that automatically finds the lowest-priced item in a qualifying cart, no manual product selection required. Here's how to build it.
"Buy 3, get the cheapest free" is one of the most common multi-buy mechanics in retail, and one of the more annoying ones to build correctly on Shopify. The offer sounds simple, but the mechanic requires the discount to evaluate every item in a qualifying cart and automatically discount whichever one has the lowest price, not a fixed product chosen in advance. Native Shopify's Buy X Get Y discount type wasn't built with that specific logic in mind.
Here's how the mechanic actually works, where native Shopify falls short, and how to build it properly for Black Friday.
Why is "buy 3, get the cheapest free" harder to build than a standard BOGO?
A standard BOGO discount pairs one specific "buy" condition with one specific "get" reward, but "get the cheapest free" requires the discount to dynamically identify the lowest-priced qualifying item in whatever combination of products a customer happens to add, which isn't a fixed reward the merchant can configure in advance. If a customer adds three different products at three different price points, the discount has to compare those prices in real time and apply the free item to whichever one is cheapest, a genuinely different kind of logic than "buy this specific product, get that specific product."
This is precisely the kind of multi-item price comparison that native Shopify's Buy X Get Y discount type doesn't handle natively, since it's built around a defined "customer gets" product or collection per Shopify's own Buy X get Y documentation, rather than a dynamic lowest-price evaluation across whatever's actually in the cart.
What makes this offer format effective for Black Friday specifically?
"Buy 3, get the cheapest free" pushes customers toward a third qualifying item without the merchant needing to designate specific reward products in advance, which works especially well for a broad Black Friday collection where the exact combination of items in any given cart is unpredictable. A customer adding a third item specifically to trigger the discount is a genuine AOV lift, and the "cheapest item free" structure protects margin better than "any item free," since the merchant's average giveaway cost stays proportional to the cart's actual composition rather than the customer strategically adding their most expensive qualifying item as the free one.
How do you build "buy 3, get the cheapest free" on Shopify?
A Shopify Functions-based discount app with a Maximum selection strategy applied at the line-item level can approximate this mechanic by evaluating Line Quantity across a qualifying collection and applying the discount to whichever line the selection logic favors. Flowly: Discount Functions is a free app built on Shopify's Discount Function framework. Here's the build:
Add a Start node.
Add a Condition node set to Collection, restricting the offer to your qualifying Black Friday product range.
Chain a Condition node set to Line Quantity (3 or more items from the collection), with AND.
Add an Apply Discount node, action set to Buy X Get Y, targeting the Product class, with the reward configured against the lowest-priced qualifying line.
Set the selection strategy to Minimum specifically for the reward calculation, ensuring the discount applies to the cheapest qualifying item rather than the most expensive one, protecting margin on the higher-value items in the cart.
Save. Flowly validates the flow before saving and syncs onto the live discount, evaluating every qualifying cart in real time as items are added.
Full documentation on Buy X Get Y and selection strategies is on Flowly's product page.
Should this offer restrict eligible products, or apply storewide?
Restricting it to a specific collection, rather than the entire catalog, keeps the merchant in control of which products can trigger and receive the discount, avoiding a scenario where a customer combines your highest-margin item with two of your lowest-priced items and receives a disproportionately generous deal relative to what the offer was designed to give. A curated eligible collection, seasonal items, a specific category, gives the mechanic clear boundaries rather than opening it to the full catalog's price range.
Multi-buy discount format comparison
Fixed BOGO (specific product) | "Any item free" multi-buy | "Cheapest item free" multi-buy | |
Merchant controls exact reward product | Yes | No | Partially, always the lowest |
Margin predictability | High | Lower, customer picks the most expensive free item | Higher, always the cheapest |
Customer perceived value | Standard | High | High |
Native Shopify support | Yes | Limited | Limited |
FAQ
Does "buy 3, get the cheapest free" work if items are priced very differently?
Yes, and this is actually where the "cheapest" qualifier matters most. Without it, a customer could combine two high-price items with one low-price item and receive the low-price item free regardless, which the "cheapest" logic in this format is specifically designed to still favor in the merchant's interest, since the free item is always the lowest-value one in the qualifying set.
Can this offer combine with a separate storewide percentage discount?
Watch this carefully. Since products inside an active Buy X Get Y discount become ineligible for additional product discounts, a separate storewide code applying to the same collection may remove this multi-buy discount rather than stacking with it, so an explicit selection strategy matters here more than usual.
What's a reasonable "buy" threshold, 2, 3, or 4 items?
Three is the most common structure for this specific offer format, balancing a meaningful AOV push against a threshold customers can realistically reach without feeling forced into an unwanted purchase just to qualify.
Does the discount apply automatically as items are added, or does the customer need to do anything?
Automatically, if built as an automatic discount rather than a code, which is the right choice for BFCM regardless of the specific mechanic, since it removes any friction around the customer needing to know a code exists.
"Buy 3, get the cheapest free" rewards genuine cart-building behavior while protecting margin by always discounting the lowest-value item, a combination that's harder to build correctly than it looks. Download Flowly directly from the Shopify App Store to build the mechanic properly, or book a call with Subscribfy's team if you want help deciding which collection should be eligible for this offer.

Book a meeting with our sales team now!
Create predictable revenue from the customers you already have.