Both “frequently bought together” and a bundle try to do the same job: get more than one product into the cart. But they get there in opposite ways — one is an algorithm guessing, the other is you deciding. Picking the wrong one for your catalog is how you end up with a widget that looks busy and moves nothing. Here’s the real difference and when each wins.
Frequently bought together: the algorithm decides
“Frequently bought together” is algorithmic cross-sell, the Amazon-style row under a product. An app mines your order history, finds products that tend to appear in the same orders, and surfaces them as suggestions. Nobody hand-picked the pairing — the data did.
That’s its strength and its weakness:
- Strength: it scales across a big catalog and finds pairings you’d never map by hand.
- Weakness: it needs order volume to be any good. On a young store or a thin product, it falls back to weak “you may also like” guesses that shoppers ignore.
- Discount: most FBT widgets only recommend. Any discount is a separate promotion you set up on the side, and keeping the two in sync is on you.
FBT is discovery. It’s good at answering “what else might this shopper want?” when you genuinely don’t know the answer yet.
A curated bundle: you decide the pairing
A bundle is the opposite posture. You already know two or three products belong together — the starter kit, the machine plus its pods, the shirt-and-shorts set — so you build that offer deliberately and price it as one thing. No guessing, no waiting for order data to accumulate.
This is what our Profit Flow AOV Bundle does, but note how: it’s a single-vs-bundle selector, not an old fixed-SKU listing. On the product page the shopper sees a clean choice — “just this product” or “complete the set” — and picking the set makes the theme’s own Add to cart button add the whole discounted group at once. No second button, no separate widget to click, no bolted-on cart step. The offer lives right where intent is highest.
Because you defined the set, you also define the discount, and it’s guaranteed — not left to line up with a promotion running elsewhere. Walk through building one in the product bundles guide.
Discoverability vs. certainty
The honest trade-off:
- FBT wins on discoverability. It shows different suggestions to different shoppers and mines pairings across your whole catalog. If you have a deep store and real order history, let it work.
- A curated bundle wins on certainty. The pairing is guaranteed, the discount is guaranteed, and the message is a single, legible choice instead of a scrollable row of maybes.
If you’re still mapping your merchandising, see how to create product bundles on Shopify and the cross-sell vs upsell breakdown for where each fits.
The part that actually protects margin: checkout-safety
Here’s the trap that catches both approaches. Many cheap apps apply the discount in storefront JavaScript. It looks right on the product page — but the cart is a separate, dynamic thing. If a shopper removes an item or edits quantities, a bundle price can stay applied to a basket that no longer qualifies. That’s straight margin loss, and it erodes trust the moment the totals don’t add up.
The fix is to enforce the offer with a Shopify Discount Function at checkout, not with front-end JS. The Function validates the cart server-side, so the discounted set is priced correctly only when the cart actually qualifies — no matter how it’s edited.
Which should you run?
- Long catalog, real order history, no obvious hero pairing? Run frequently bought together and let the algorithm surface combinations.
- You already know the set and want the discount guaranteed? Run a curated bundle — the single-vs-bundle selector puts the choice at the point of intent and locks the price in with a Function.
Most stores end up doing both: FBT to discover, a curated bundle to convert the pairings you’re already sure about.
Profit Flow AOV Bundle runs product bundles (plus quantity breaks, BOGO, gifts and mix & match) on any Online Store 2.0 theme, free. Add it to your store →