The Store

A Shopify home goods brand selling premium linen products — bedding sets, pillow covers, and table linen — with a catalog of around 60 SKUs across a tight product family. Strong organic traffic from Pinterest and a loyal repeat customer segment, but consistently low AOV on first purchases.

Their products were naturally complementary — a customer buying a linen duvet cover almost always needed matching pillowcases. But the majority of first orders contained only one item. The repeat purchase rate was good (customers came back for the second and third piece), but that meant shipping two orders instead of one, higher per-order fulfillment cost, and a longer customer LTV runway.

The goal: get more of those complementary items into the first order, where the shipping economics and margin math work better.

The same bundle setup is available to any Shopify store today

EZBundle supports fixed bundles, mix-and-match bundles, and frequently-bought-together widgets — all with automatic discounts at checkout, no coupon code required.

Install EZBundle Free →

The Problem Before Bundles

Before EZBundle, the store had tried two approaches to increase AOV:

  1. Manual coupon codes: "Use BUNDLE15 at checkout with 3+ items." Open rate was low, redemption rate was lower. Customers rarely read small-print discount rules, and entering a coupon code at checkout added enough friction that most didn't bother.
  2. Static cross-sell section: A "You might also like" section at the bottom of product pages showing other products. Click-through rate was around 4%, add-to-cart from those clicks was under 1%. The offers didn't communicate any incentive — just "here are more things you can buy."

The core problem in both cases was the same: neither approach made the value of buying multiple items visible and obvious at the moment of decision. The discount existed but was hidden. The cross-sell existed but had no conversion hook.

The Setup: 3 Bundle Types in One Afternoon

The merchant set up three bundle types using EZBundle over a single Friday afternoon — roughly four hours from install to live on all product pages.

1

Fixed Bundle: "The Complete Linen Set"

A pre-configured bundle of duvet cover + two pillowcases at 12% off the combined individual price. Set up as a single purchasable product (EZBundle's fixed bundle type) with a dedicated product listing and its own product photos showing the set styled together. Placed on the homepage hero and the collection page as a "Best Value" pinned product.

2

Frequently Bought Together: Duvet + Pillowcases

On every duvet cover product page, an EZBundle "Frequently Bought Together" widget showing the matching pillowcases pre-selected with a "Save 10% when bought together" label. The default was both items checked — the buyer had to actively uncheck to remove the pillowcases from their cart. This is the key UX principle: make the bundle the default, not the exception.

3

Mix-and-Match: "Build Your Linen Bundle"

A mix-and-match bundle allowing customers to pick any 3 items from the table linen collection at 15% off. This targeted the gift purchase audience — the "I want to give a set but I want to choose which pieces" buyer. Placed on collection pages and promoted via a homepage banner during the test period.

Bundle Type 1: Fixed "Complete Linen Set"

Duvet cover + 2 pillowcases · 12% off combined price · Shown on homepage and collection page

Conversion on bundle page: 6.8% AOV when purchased: $94 Bundle attach rate (month 1): 22% of duvet buyers

Bundle Type 2: Frequently Bought Together

Duvet cover + matching pillowcases on every duvet product page · 10% off · Default checked

Widget add-to-cart rate: 38% AOV uplift vs single-item purchase: +$24 Unchecked (removed) rate: 62%

Bundle Type 3: Mix-and-Match (3-item)

Any 3 table linen items · 15% off · Targeted gift buyers and repeat purchasers

Start-to-complete rate: 71% AOV when purchased: $81 New customer share: 44%

The Results: 30-Day Metrics

$47
AOV before
(30-day baseline)
$63
AOV after
(month 1 with bundles)
+34%
AOV increase
+28%
Revenue increase
(same traffic)

Revenue lifted 28% despite AOV lifting 34% — the gap is explained by the bundle discount itself (12–15% off) reducing per-unit revenue. Net margin on bundle purchases was slightly lower than single-item purchases, but the total contribution per order was significantly higher because shipping, payment processing, and customer acquisition costs are fixed per order, not per item.

"I was skeptical about the discount eating into margin, but the math made it obvious quickly. Each bundled order costs me the same $7–9 to ship as a single-item order. I'm making more per shipment even after the discount." — Home goods merchant, Shopify since 2021

The second key result: first-order repeat purchase rate dropped slightly (from 62% to 57% in the same cohort window) — not because customers were less happy, but because they bought more in the first order. The store was essentially capturing second-purchase behavior at first-purchase time.

Why It Worked: The Psychology

Three behavioral mechanisms drove the AOV lift:

1. Default selection bias

The "Frequently Bought Together" widget had pillowcases pre-checked. Buyers had to actively remove them. This is the same principle as opt-out organ donation programs — defaults win. 38% of buyers kept the bundle. Without this default, a static "add these" cross-sell converted at under 1%. The difference is entirely in who has to take action to change state.

2. Savings framing at the decision point

The bundle offer appeared on the product page, not in a popup after add-to-cart. This is critical: the buyer was still in evaluation mode, not checkout mode. "Save 10% when you add the pillowcases" is a reason to add them. "You saved 10%" on the cart confirmation page is a reward for a decision already made — it changes nothing.

3. No coupon code friction

The discount applied automatically via Shopify Functions — no coupon required. The merchant's previous BUNDLE15 code had a 3% redemption rate on sessions where the customer was shown the offer. The automatic bundle discount had a 38% uptake on equivalent sessions. Same discount, 12x more redemption. Friction matters more than value in most checkout decisions.

How to Replicate This for Your Store

The three-bundle setup from this case study is applicable to most product-based Shopify stores. Here's how to adapt it:

Step 1: Identify your natural bundle candidates

Look at your order history for the last 90 days. Which products are most frequently purchased together in the same order? Those are your naturally occurring bundles — they convert because the pairing is already validated by real buying behavior. In Shopify admin: Orders → Export → filter by items-per-order-greater-than-1, then sort by product pair frequency.

Step 2: Set a 10–15% discount and make it automatic

10% is enough to change behavior without destroying margin. 15% for mix-and-match (more cognitive effort deserves more reward). Never use a coupon code — the redemption rate is 10–20% of what automatic discounts achieve. EZBundle applies the discount at checkout via Shopify Functions: no code, no friction.

Step 3: Place the Frequently Bought Together widget above the fold on mobile

Most themes place the FBT widget below the product description, which is below the fold on mobile. If 60%+ of your traffic is mobile (check your Analytics), the widget placement should be between the variant selector and the Add to Cart button — visible without scrolling. This alone can double the widget's uptake rate.

Step 4: Run for 30 days before evaluating discount depth

AOV changes take time to stabilize as the buyer mix shifts. Don't adjust the discount within the first two weeks — you'll optimize against noise. At 30 days, compare total order revenue and bundle attach rate. If attach rate is below 15%, increase the discount to 15%. If it's above 35%, test reducing to 8% to recover margin.

The same bundle setup is available to any Shopify store today

Fixed bundles, frequently-bought-together widgets, and mix-and-match bundles — all with automatic checkout discounts. Free to install, no coding required.

Install EZBundle Free on Shopify →

Frequently Asked Questions

How much can bundle discounts increase AOV on Shopify?
Merchants using fixed-bundle discounts typically see AOV increases of 20–40% within 30–60 days of launch. The range depends on the discount depth, bundle composition, and how prominently the offer is merchandised on product and collection pages.
What discount percentage works best for Shopify bundles?
10–15% is the effective sweet spot for most product categories. It's large enough to change buyer behavior but small enough to preserve margin. Discounts below 8% rarely move conversion. Above 20% risks margin and can signal low product quality.
Should I show bundle savings as a dollar amount or percentage?
For low-price items (under $30 each), show percentage. For mid-to-high price items ($30+), show dollar savings. "Save $18" is more motivating than "Save 12%" when the dollar amount is large enough to feel meaningful.
Do bundle discounts require a coupon code on Shopify?
No — not with Shopify Functions-based apps like EZBundle. Bundle discounts apply automatically at checkout when the qualifying products are in the cart. The buyer sees the discount applied without entering a code, removing friction and increasing completion rates significantly compared to coupon-based bundle offers.
How long does it take to see results from a Shopify bundle strategy?
Most merchants see meaningful AOV movement within 14–21 days of launching bundle offers, assuming the offer is placed prominently on relevant product pages. Full statistical confidence on the AOV lift typically requires 30 days of data, especially for lower-traffic stores.