How to Stack Multiple Discounts on Shopify
What happens when a VIP customer uses a referral code during a flash sale? Learn how to stack discounts and hit higher total savings.
Your customer logs in to your store. They’re tagged “VIP” (15% off always). You’re running a flash sale (20% off). They have a referral code from a friend (10% off). They’re also eligible for free shipping (normally $15).
In Shopify’s native system, here’s what happens at checkout:
- The VIP discount applies (15% off)
- The flash sale discount applies (20% off)
- The referral code applies (10% off)
- Free shipping applies (saves $15)
But wait. How does this work mathematically? Does the customer get 15% + 20% + 10% = 45% off? Or does it apply as 15% off the remaining amount, then 20% off that remaining amount, etc.? How many codes can be applied?
And how does the customer understand what they’re saving?
These are the real challenges of discount stacking in Shopify. The platform supports it, but with significant limitations and UX challenges.
Shopify’s Native Discount Stacking Rules
Shopify’s current rules (as of 2024–2026):
- Automatic discounts + discount codes can combine. A customer can apply one automatic discount (from your admin) plus multiple discount codes (entered by customer or auto-applied via Flow).
- Maximum of 5 discount codes per order. A single customer can’t stack more than 5 discount codes in one order. This is a hard limit.
- Stacking method: Discounts apply in order from most restrictive to least restrictive (Shopify’s logic). The display shows each as a separate line item.
- Display: Each discount appears as its own line in the order summary:
– Discount (VIP): –$20
– Discount (Flash Sale): –$25
– Discount (Referral Code): –$15
– Free Shipping: –$15
– Total savings: –$75
The math works, but the UX is messy. The customer sees four separate discount lines. They don’t see a clean “Was $200, Now $125” display. They see a confusing list.
When the 5-Code Limit Becomes a Problem
For many merchants, five discounts aren’t enough:
Real scenario:
- Customer loyalty discount (membership benefit)
- Product-specific discount (discount on a specific category)
- Bundle discount (buy 3+ save)
- Flash sale discount
- Free shipping discount
- Referral reward discount
That’s six discounts. Shopify allows five. One doesn’t apply. Which one? Shopify decides. The merchant has no control, and the customer is confused.
Another scenario:
- B2B wholesale customer has a wholesale pricing tier (discount 1)
- Plus a volume discount for ordering 10+ units (discount 2)
- Plus a seasonal bulk discount (discount 3)
- Plus free shipping for bulk orders (discount 4)
- Plus a loyalty tier bonus (discount 5)
- Plus a promotional code they have (discount 6)
Again, six discounts. One doesn’t apply.
For merchants trying to build sophisticated loyalty systems, the five-code limit is a real constraint.
What Adsgun’s Unlimited Stacking Engine Offers
Adsgun solves this by creating its own discount engine that can combine 20+ discounts in a single promotion and still display cleanly as one Was/Now price.
How It Works
Instead of creating five separate discount codes, you create:
- One Adsgun promotion that is the master discount
- Within that promotion, define stacking rules:
– Apply 15% if customer has VIP tag
– Apply additional 20% for flash sale
– Apply additional 10% for referral
– Apply free shipping on top
- The result: One clean display showing “Was $200, Now $125” with a badge showing “SAVE $75”
The customer sees one price, not multiple discount line items. The math is clean. The display is elegant.
Technical Difference
- Shopify native: Five separate discount applications, each with its own logic and display
- Adsgun: One master discount with layered conditions, displayed as a single cumulative price
Real-World Example: Tiered Loyalty + Flash Sale
Setup:
Promotion in Adsgun:
- Name: “VIP Flash Sale Stack”
- Base discount: 10% off all products
- Stacking rules:
– IF customer has tag “VIP”: apply additional 15%
– IF customer has tag “Loyalty_Gold”: apply additional 20%
– IF promotion is active (scheduler-based): apply additional 15% (flash sale)
– Always: free shipping
Scenarios:
- Regular customer, no tags:
– Sees: 10% off
– Sees: Free shipping
– Display: “Was $100, Now $90” + Free Shipping
- VIP customer:
– Sees: 10% (base) + 15% (VIP tag) = 25% off
– Sees: Free shipping
– Display: “Was $100, Now $75” + Free Shipping
- Loyalty Gold customer:
– Sees: 10% (base) + 20% (Gold tag) = 30% off
– Sees: Free shipping
– Display: “Was $100, Now $70” + Free Shipping
- VIP customer DURING flash sale:
– Sees: 10% (base) + 15% (VIP) + 15% (flash) = ~40% off
– Sees: Free shipping
– Display: “Was $100, Now $60” + Free Shipping
– Badge: “VIP Flash Sale”
All of these discounts stack seamlessly. One promotion. One clean display. Multiple conditions.
Step-by-Step: Creating a Stacked Discount Promotion
Step 1: Plan Your Stacking Rules
Before creating in Adsgun, map out:
- Base discount: What does everyone get? (e.g., 10% off)
- Conditional discounts: What additional discounts apply based on conditions?
– VIP tag: +15%
– Flash sale timing: +20%
– Referral condition: +10%
– Free shipping: always
Step 2: Create the Promotion in Adsgun
- Open Adsgun
- Click Create New Promotion
- Promotion type: Select “Public” (or “Customer Account” if VIP-only, or “URL-Targeted” if campaign-specific)
- Name: “Stacked VIP Flash Sale”
- Base discount: 10% off all products
Step 3: Add Stacking Conditions
In the promotion settings, look for “Stacking” or “Advanced Conditions”:
- Condition 1: IF customer has tag “VIP” → apply additional 15%
- Condition 2: IF scheduler is active (Flash Sale window) → apply additional 20%
- Condition 3: Always → free shipping
Step 4: Customize Display
- Strike-through color: Your brand color
- Sale price color: Green or contrasting color
- Badge: “VIP Flash Sale” or “Stacked Savings”
- Display format: Show final cumulative price as “Was $100, Now $60”
- Optional: Show breakdown “You save $40 (10% loyalty + 15% VIP + 15% flash)”
Step 5: Test
- Create a test customer account
- Tag them “VIP”
- Add a product to cart
- See that the discount reflects the VIP stacking
- Log out and add the same product without the tag
- Confirm base discount only applies
Step 6: Publish
The promotion is live. Customers with appropriate tags/conditions see the stacked discount.
Combining Stacking With Scheduler
For maximum complexity and power, combine stacking with the promotion scheduler:
Scenario: A retail store wants different discount tiers throughout the year.
- Off-season (Jan–Feb): Base 5% loyalty for VIP
- Regular season (Mar–Oct): Base 10% loyalty for VIP + 15% for Gold tier
- Holiday season (Nov–Dec): Base 20% for all, plus 25% for VIP, plus 30% for Gold
Each tier is a separate promotion in Adsgun, each with its own scheduler. During October, the “Regular season” promotion is active. In November, it automatically disables and the “Holiday season” promotion enables. Customers automatically see different stacked discounts based on the season, without any manual intervention.
Display Challenges: How to Show Stacked Discounts Clearly
When stacking discounts, the display matters enormously. A customer confused about how they got 40% off might doubt the deal or abandon the order.
Good display strategies:
- Simple Was/Now:
– “Was $100, Now $60”
– Simple, clear, no confusion
- Breakdown (optional):
– “Was $100, Now $60”
– “You save $40: 10% loyalty + 15% VIP + 15% flash”
– Shows the math, builds trust
- Badge with percentage:
-“Was $100, Now $60”
– Badge: “Save 40%”
– Quick visual confirmation
Avoid:
- Showing all discounts as separate line items (confusing, suggests fraudulent stacking)
- Showing approximate final price without breakdown (looks shady)
- Showing fine print about stacking (unnecessary complexity)
Adsgun handles this automatically. You choose the display format, and Adsgun displays it cleanly and consistently across product pages, cart, and checkout.
FAQ: Discount Stacking
Q: If I stack discounts, am I giving away too much margin?
A: It’s a business decision. Stack discounts strategically, not universally. Maybe only stack for VIP customers or during specific promotions. Use data to determine if the increased conversion and AOV outweigh the margin loss.
Q: Can I limit stacking (e.g., only 2 discounts can combine)?
A: Yes. When setting up stacking rules, define which discounts can combine with which. You control the logic.
Q: Does stacking work for free shipping?
A: Yes. Free shipping can be part of a stacked promotion. Adsgun calculates the discount value of free shipping and includes it in the total savings display.
Q: Will stacking confuse customers?
A: Not if displayed clearly. A single “Was $100, Now $60” price is crystal clear. If you want to show the breakdown, you can, but the simple Was/Now is enough.
Ready to Stack Discounts Without Hitting the Code Limit?
Shopify’s five-code limit is a real constraint for sophisticated merchants. Adsgun’s unlimited stacking engine lets you combine 20+ discounts in a single promotion while displaying the result as one clean Was/Now price.
No more juggling multiple codes. No more hitting hard limits. Just elegant, stacked discounts that drive conversions.
Start your free 7-day trial and create your first stacked promotion today. No credit card required.