How to Show Discount Prices Before Checkout on Shopify

Author

Max Prokofjev

Reading Time

7 min read

How to Show Discount Prices Before Checkout on Shopify

Key Takeaways

  • Shopify's native discounts only show savings at checkout. A discount nobody knows about until the payment screen doesn't change buying behavior. This is the most common reason stores install a bundle or discount app — to surface savings where the buying decision actually happens: the product page.
  • Visible pricing on product pages improves conversion rates by 15-25%. Elizabeth Mott went from $19 to $44.56 AOV by displaying bundle pricing on product pages. HiSmile got 80% of orders as bundles with visible product page offers. The display is what drives the purchase.
  • Volume discount tables are the highest-impact element: 'Buy 2 save 10%, Buy 3 save 15%, Buy 5 save 25%' shown directly on the product page. Customers won't buy more to unlock a tier they don't know exists.
  • Use theme app extensions (OS 2.0 app blocks), not injected JavaScript. Theme extensions render as part of your theme — native look, no page speed impact. Apps that inject scripts can break during theme updates and slow your store.
  • The three elements to display: the individual prices (anchor), the discounted bundle/volume price, and the explicit savings amount ('Save $8.10'). All three must be visible on the product page. Without the anchor, the bundle is just a number; without the savings, the deal isn't obvious.

Shopify's native discount system has a significant blind spot: discounts only appear at checkout. You can create automatic discounts, set up volume rules, and configure bundle pricing — but the product page shows full price. The customer doesn't know about the savings until they're already in the checkout flow.

This matters because the product page is where the buying decision happens. A customer who sees "$18 per unit" doesn't know that buying three would save them $8. A customer who sees a cleanser at $24 doesn't know there's a routine bundle for $60 (saving $12 on three products). The discount exists, but it's invisible at the moment it would influence behavior.

This is the most common reason Shopify stores install a bundle or discount app — not to create new discounts, but to make existing savings visible before checkout.

Why Checkout-Only Discounts Underperform

The Timing Problem

Shopify's discount architecture is cart-and-checkout-level. When you create an automatic discount, it applies to qualifying carts during checkout. The product page doesn't know about it. The product displays at full price, and the customer makes their decision based on that full price.

The savings only appear when the customer gets to checkout — after they've already decided what to buy and how much of it. By that point, the discount is a pleasant surprise but not a behavior changer. The customer who would have bought three units (if they knew about the volume discount) has already added one.

The Data

Product bundles with visible pricing on product pages improve conversion rates by 15-25%, with best-in-class implementations reaching 40%. That's the difference between visible and invisible pricing. The products are the same. The discounts are the same. The only difference is whether the customer sees the savings before or after their buying decision.

The real-world examples are consistent:

  • Elizabeth Mott went from $19 to $44.56 AOV by displaying complete routine bundle pricing on product pages — a 134% increase from simply making the offer visible.
  • HiSmile achieved 80% of orders as bundles with product page bundle offers, contributing to $300 million in annual revenue.
  • Rhode Skin grew kit revenue from $948,000 to $2.53 million per month with visible kit pricing.

None of these brands invented a revolutionary discount. They made existing savings visible at the point of decision.

What to Display on the Product Page

Volume Discount Tables

For products customers buy in multiples — basics, consumables, supplements, pet food, skincare:

Quantity Price Each Total You Save
Buy 1 $18.00 $18.00
Buy 2 $16.20 (10% off) $32.40 $3.60
Buy 3 $15.30 (15% off) $45.90 $8.10
Buy 4+ $14.40 (20% off) $57.60 $14.40

The impact: A customer who came for one $18 item sees they can save $14.40 by buying four. The thought "I'll use them eventually" pushes AOV from $18 to $58.

The critical element: The pricing table must be visible on the product page — near the Add to Cart button, not buried below the fold. On mobile (53%+ of ecommerce traffic), the table must be fully visible and functional without horizontal scrolling.

Bundle Pricing Displays

For complementary products that form natural sets — skincare routines, recipe kits, outfit bundles:

Show the individual price of each product, the bundle price, and the explicit savings:

"Complete Your Routine"

  • Cleanser: $24
  • Toner: $18
  • Moisturizer: $28
  • Individual total: $70
  • Bundle price: $59.50 (Save $10.50)

The three elements — individual prices (anchor), bundle price, and explicit savings — all need to be visible. Without the anchor ($70), the bundle ($59.50) is just a number. Without the savings ($10.50), the deal isn't obvious.

Automatic Discount Messaging

For store-wide or category-wide automatic discounts, display the savings on affected product pages:

"This product qualifies for our 10% automatic discount — you'll save $2.40 at checkout"

Or better: show the discounted price directly:

$24.00 $21.60 (automatic 10% off applied at checkout)

Free Shipping Progress

If you have a free shipping threshold, show how the current product fits:

"Add this to your cart and you're $8 away from free shipping!"

This bridges the product page to the cart-level incentive, making the threshold feel achievable while the customer is still deciding.

How to Implement This on Shopify

Option 1: Manual "Compare At" Prices

Shopify lets you set a "compare at" price on individual products, which displays as a strikethrough price on the product page. This is built into every theme.

Limitations:

  • Static — doesn't respond to automatic discounts or quantity changes
  • Must be updated manually for each product
  • Can't display conditional pricing (volume tiers, bundle conditions)
  • No pricing tables or bundle displays
  • Doesn't sync with actual discount rules

This works for permanent markdowns but not for dynamic discount strategies.

Option 2: Custom Theme Code (Liquid)

You can write custom Liquid code in your theme to display conditional pricing. This requires a developer, needs updating when Shopify changes APIs, and can break during theme updates. For stores with developer resources and specific needs, this is an option — but for most stores, it's more maintenance than it's worth.

This is how most stores solve it. A bundle app handles both the pricing logic and the product page display through Shopify's theme app extension system.

Buno renders bundle pricing, volume discount tables, and savings displays directly on your product pages through OS 2.0 app blocks. You add the block in the theme editor — drag and drop into position — and the pricing display renders as part of your theme.

Technical approach:

  • Shopify Functions: Discount logic runs server-side inside Shopify's infrastructure. Fast, reliable, and doesn't inject JavaScript into your storefront.
  • Theme app extensions: The pricing display renders as a native theme component. It looks like part of your theme because it is part of your theme — not an externally loaded widget.

What this means for page speed: Zero impact from injected scripts. The display is a theme component. The discount calculation is server-side. This is the modern approach that replaced older apps using client-side JavaScript.

What to Avoid

Apps that inject custom JavaScript: Older discount apps add script tags to your theme that load external JavaScript. This creates page speed issues (each script is a network request), can break during theme updates, and may conflict with other apps. Look for apps built on Shopify Functions and theme app extensions instead.

Multiple overlapping display apps: If you have two apps trying to show pricing on the same product page, they'll conflict visually and potentially show contradictory information. Use one app for discount display.

Implementation Checklist

  1. Identify your highest-traffic product pages. These are where visible pricing has the most impact.

  2. Decide what to display:

    • Volume tiers (for products bought in multiples)
    • Bundle pricing (for complementary products)
    • Automatic discount messaging (for store-wide offers)
    • Free shipping proximity (for threshold incentives)
  3. Install a bundle app. Buno handles all four display types through theme app extensions.

  4. Add the app block to your product page template. In the theme editor, position the pricing display near the Add to Cart button — this is where it has the most influence.

  5. Customize appearance. Adjust colors, fonts, and layout to match your store's design. A pricing display that looks native to your site converts better than one that looks like a third-party plugin.

  6. Test on mobile. Load your product page on a phone. Can you see the pricing table without scrolling? Is the "Add Bundle to Cart" button thumb-reachable? Over half your traffic is mobile — if the display doesn't work on a phone screen, you're missing most of the potential impact.

  7. Verify discount accuracy. Add the bundle or volume quantity to cart, go through checkout (test mode or 100% discount code), and confirm the displayed savings match the actual checkout price.

Before and After

Without Product Page Display With Product Page Display
Customer sees $18 per unit Customer sees "Buy 3 save 15% — $15.30 each"
Buys 1 unit ($18 order) Buys 3 units ($45.90 order)
Doesn't know bundle exists Sees "Complete Routine" bundle with savings
Checks out at full price Checks out with visible 15% bundle discount
No anchor price, no reference point Sees strikethrough price and explicit savings amount

The products are the same. The discounts are the same. The only difference is visibility — and that visibility drives a 15-25% conversion rate improvement and a 20-35% AOV increase.

Don't create discounts that nobody sees until checkout. Show the savings where the buying decision happens: the product page.

Frequently Asked Questions

Shopify's native discount system applies savings at checkout only. When you create an automatic discount or discount code in Shopify, the product page still shows the full price — the customer only sees the discounted price during or after checkout. This is a deliberate design choice by Shopify (discounts are cart/checkout-level, not product-level), but it means customers don't know about savings when making the buying decision.

You can manually set 'compare at' prices on individual products to show a strikethrough price. But this is static — it doesn't respond to automatic discounts, volume tiers, or bundle conditions. For dynamic discount display that reflects actual automatic discount rules, you need either custom theme code (Liquid) or a bundle/discount app that handles product page rendering.

Yes. Strategic bundling and visible pricing improve conversion rates by 15-25%, with best-in-class implementations reaching 40%. Elizabeth Mott went from $19 to $44.56 AOV by displaying complete routine bundle pricing on product pages. The mechanism is simple: a discount nobody knows about doesn't influence buying behavior. Making savings visible at the point of decision is what changes the purchase.

A visible pricing table showing each tier: Buy 1 at $18, Buy 2 at $16.20 (save 10%), Buy 3 at $15.30 (save 15%), Buy 4+ at $14.40 (save 20%). The table should appear directly on the product page, ideally near the Add to Cart button. Shopify can't generate this natively — you need a bundle app like Buno that renders tiered pricing tables through theme app extensions.

Not if the app uses Shopify's theme app extensions (Online Store 2.0 app blocks). These render as part of your theme, not as externally loaded scripts. Apps that inject custom JavaScript into your theme code can cause page speed issues. Buno uses theme app extensions and Shopify Functions — the discount logic runs server-side, and the display renders natively within your theme.

Ready to maximize your sales and AOV?